PHP Sayfadan Sayfaya Bilgiyi Yazdırmak?
-
Günlerdir içinden çıkamadım BURDA yer alan sistemin işleme mantığı şu şekilde "10-25" gibi bir stok arayıp çıkan sonuçta "ekle" butonuna basınca sepete gönderiyor. Sonrasında sepetteki göndere bastığımda "teklif.php" sayfasına o ürünleri yazdırmak istiyorum ama çözemedik. Gönder kısmı yolu eğer=4'ten alıyor "değer=4" aslında mysql yazdırıyor ama ben onu forma yazdırmak istiyorum nasıl yapabilirim?
<?php $yeni_sepet = new sepet; if ($_POST["durum"]==1) { $yeni_sepet->sepete_ekle($_POST["urun"],$_POST["adet"]."-".$_POST["fiyat"]); $yeni_sepet->sepeti_kaydet(); } if ($_POST["durum"]==2) { $yeni_sepet->sepetten_cikar($_POST["urun"],$_POST["adet"]); $yeni_sepet->sepeti_kaydet(); } if ($_POST["durum"]==3) { $yeni_sepet->oturum_kapat(); } if ($_POST["durum"]==4) { $conn = mysql_connect("localhost", "adi", "sifre"); if (!$conn) { echo "veritabanýna ulaþýlamadý,kullanýcýadý,þifre yada localhost bilgisi yanlýþ olabilir: " . mysql_error(); exit; } if (!mysql_select_db("db")) { echo "Veritabaný adý doðru deðil, yada yok: " . mysql_error(); exit; } if (!$result1) { echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error(); exit; } $row1 = mysql_fetch_assoc($result1); $uyeid=$row1['id']; $urunler = $yeni_sepet->sepeti_listele(); while (list($anahtar,$deger) = each($urunler)) { $tutar=explode("-", $deger); } if (!$result) { echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error(); exit; }else{ echo "bilgileriniz ve sipariþleriniz alýndý,en kýsa zamnda sizinle kontak kurup bilgileri doðruluyacaðýz.Teþekkür ederiz."; exit; } } $urunler = $yeni_sepet->sepeti_listele(); $durum=0; $sepet='<table align=center width=480 bordercolor=#333333 cellspacing=0 cellpadding=2 style="border:1px dashed #000000; border-collapse: collapse" >'; $toplamtutar=0; if($urunler){ while (list($anahtar,$deger) = each($urunler)) { $tutar=explode("-", $deger); $toplam=$tutar[0]*$tutar[1]; $sepet.= "<tr><td width=325>".$anahtar."</td><td width=80>".$tutar[0].' adet </td> <td> <FORM method="POST" action="orta2.php" method="post"> <INPUT type="hidden" name="urun" value="'.$anahtar.'"> <INPUT type="hidden" name="adet" size="9" value="'.$deger.'"> <INPUT type="hidden" name="durum" value="2"> <INPUT type="submit" value="Sepeten Çikar"> </form></td></tr>'; $durum=1; $toplamtutar +=$toplam; } }else{ echo "<h2>sepetiniz boþ</h2>"; } if($durum){ $bosalt= '<tr><td> </td><td></td><td><FORM method="POST" action="teklif.php" method=post> <input type=hidden name="durum" value=4> <INPUT type="submit" value="Gönder"> </form></td></tr>'; $sepet.='<tr></td></tr>'; } $sepet.=$bosalt; $sepet.="</table>"; echo $sepet; ?>
-
up.. yokmu bilgisi olan??
-
$result1
sql sorgusu nerede ?
-
$sepet
.=
"<tr><td width=325>"
.
$anahtar
.
"</td><td width=80>"
.
$tutar
[0].' adet </td>
<td> <FORM method=
"POST"
action=
"orta2.php"
method=
"post"
>
<INPUT type=
"hidden"
name=
"urun"
value=
"'.$anahtar.'"
>
<INPUT type=
"hidden"
name=
"adet"
size=
"9"
value=
"'.$deger.'"
>
<INPUT type=
"hidden"
name=
"durum"
value=
"2"
>
<INPUT type=
"submit"
value=
"Sepeten Çikar"
>
</form></td></tr>';
burayi su sekilde degistir.
$sepet
.=
'<tr><td width=325>'
.
$anahtar
.
'</td><td width=80>'
.
$tutar
[0].' adet </td>
<td> <FORM method=
"POST"
action=
"orta2.php"
method=
"post"
>
<INPUT type=
"hidden"
name=
"urun"
value=
"'.$anahtar.'"
>
<INPUT type=
"hidden"
name=
"adet"
size=
"9"
value=
"'.$deger.'"
>
<INPUT type=
"hidden"
name=
"durum"
value=
"2"
>
<INPUT type=
"submit"
value=
"Sepeten Çikar"
>
</form></td></tr>';
-
hocam tırnak eklemişin düzeltmişin vs ama o formda bi sıkıntı yok işlem yapıyor zaten 2. formda veriyi gönder dediğinde yukarıdaki kodda
"
if
(
$_POST
[
"durum"
]==4) {
"göre işlem yapıyor oda sqle yazdırıyor ama ben bunu istemiyorum teklif.php'ye ürünleri yazdırmak istiyorum. POST işlemi olacak ama nasıl yapabilirim??
-
blutarm bunu yazdı:
-----------------------------
hocam tırnak eklemişin düzeltmişin vs ama o formda bi sıkıntı yok işlem yapıyor zaten 2. formda veriyi gönder dediğinde yukarıdaki kodda
"
if
(
$_POST
[
"durum"
]==4) {
"göre işlem yapıyor oda sqle yazdırıyor ama ben bunu istemiyorum teklif.php'ye ürünleri yazdırmak istiyorum. POST işlemi olacak ama nasıl yapabilirim??
-----------------------------<form action="teklif.php" method="post">
<input name="urun" type="text" value="bu ürün adı" />
<input name="fiyat" type="text" value="bu ürün fiyatı" />
<input name="islem_no" type="hidden" value="4" />
</form>
yukarıda action="teklif.php" olan yer eylem alanıdır. form bilgileri "post" metodu ile teklif.php sayfasına gönderilir.
teklif.php'de de $_POST["urun"], $_POST["fiyat"], $_POST["islem_no"] ile karşılama töreni yapacaksın.
doğru mu anladım?
-
evet hocam formdan gönderip teklif.php'de sepetteki ürünleri listeletmek istiyorum. yanlız dikkat edilmesi gereken yer formu gönderirken
<FORM method="POST" action="teklif.php" method="post">
<input type="hidden" name="durum" value="4">
<INPUT type="submit" value="Gönder">
</form>
bunu bu şekilde alıyor "name="durum" value=4" ordaki işlemi yap diyor ama yukarı bakarsan "durum=4"kısmı sql yazdırmayı deniyor ben direk sayfaya yazsın istiyorum. -
Anladığım kadarıyla bu kodu sen yazmadın. O yüzden bir düzeltme yapalım.
1- adam ürünleri seçecek,
2- seçilen her ürün listeye ve aynı zamanda veritabanına eklenecek,
3- ardından teklif.php'ye yönlendirilecek,
4- teklif.php'de ürünlerin sipariş sonrası durumu listelenecek.
Bu durumda;
------------------------
<?php
$yeni_sepet = new sepet;
if ($_POST["durum"]==1) {
$yeni_sepet->sepete_ekle($_POST["urun"],$_POST["adet"]."-".$_POST["fiyat"]);
$yeni_sepet->sepeti_kaydet();
}
if ($_POST["durum"]==2) {
$yeni_sepet->sepetten_cikar($_POST["urun"],$_POST["adet"]);
$yeni_sepet->sepeti_kaydet();
}
if ($_POST["durum"]==3) {
$yeni_sepet->oturum_kapat();
}
if ($_POST["durum"]==4) {
$conn = mysql_connect("localhost", "adi", "sifre");
if (!$conn) {
echo "veritabanına ulaşılamadı, kullanıcıadı, şifre yada localhost bilgisi yanlış olabilir: " . mysql_error();
exit;
}
if (!mysql_select_db("db")) {
echo "Veritabanı adı doğru değil, yada yok: " . mysql_error();
exit;
}
if (!$result1) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}
$row1 = mysql_fetch_assoc($result1);
$uyeid=$row1['id'];
$urunler = $yeni_sepet->sepeti_listele();
while (list($anahtar,$deger) = each($urunler)) {
$tutar=explode("-", $deger);
}
if (!$result) {
echo "Sorguda hata var ($sql) sorguyu gözden geçirin: " . mysql_error();
exit;
}else{
echo "bilgileriniz ve siparişleriniz alındı. Teşekkür ederiz.";
exit;
}
}
$urunler = $yeni_sepet->sepeti_listele();
$durum=0;
$sepet='<table align=center width=480 bordercolor=#333333 cellspacing=0 cellpadding=2 style="border:1px dashed #000000; border-collapse: collapse" >';
$toplamtutar=0;
if($urunler){
$sepet = '<form method="POST" action="teklif.php">';
while (list($anahtar,$deger) = each($urunler)) {
$tutar =explode("-", $deger);
$toplam =$tutar[0]*$tutar[1];
$sepet .= '<tr><td width=325>'.$anahtar.'</td><td width=80>'.$tutar[0].' adet </td>
<td>
<form action="orta2.php" method="post">
<input type="hidden" name="urun['.$urun_id.']" value="'.$anahtar.'">
<input type="hidden" name="adet['.$urun_id.']" size="9" value="'.$deger.'">
<input type="hidden" name="durum" value="2">
<input type="submit" value="Sepeten Çıkart">
</form>
</td>
</tr>';
$durum=1;
$toplamtutar +=$toplam;
}
}else{
echo "<h2>sepetiniz boş</h2>";
}
if($durum){
$bosalt = '<tr>
<td> </td>
<td></td>
<td>
<input type=hidden name="durum" value=4>
<input type="submit" value="Gönder">
</form>
</td>
</tr>';
$sepet .= '<tr></td></tr>';
}
$sepet.=$bosalt;
$sepet.="</table>";
echo $sepet;------------------------
bir dene bakalım...
yukarıdaki kodda html öğelerini dizi şeklinde gönderdim. bu yüzden her ürünü id'sine göre belirlemelisin. $urun_id'yi tanımla. $_POST["urun"][$urun_id] şeklinde her ürünün değerine teklif.php'de ulaşacaksın.
-
hocam denedim ama olmadı. dediğin gibi kodlar bana ait değil. yapmak istediğimde bahsettiğin gibi teklif.php sayfasında sipariş sonrası durumu göstermek ama olmuyor. Verdiğin kodları denediğimde gönder butonu işlem yapmadığı gibi sepetten sil seçeneği teklif.php'ye yönlendiriyor.
bununla ilgili bana önerebileceğin bişey varmıdır yada. aslında yapmak istediğim veritabanında kaydı tutması bile değil. ürünü arayıp listeledikten sonra sepete ekle diyip ürünlerin sepete eklenmesi sonucunda basit bir iletişim formu şeklinde maile dahi siparişi alsam yeterli olacaktır. İlgin için ayrıca teşekkür ederim.
-
düzenleme:
kardeş, o zaman komple yapıyı kodlaman lazım; ki bu bilgiyle yapamazsın malesef sanırım galiba :)
amacına uygun bir kod bakacaksın artık...
-
Veritabani ile falan hic alakan yoksa o zaman
if ($_POST["durum"]==4) {
$sepet='<table align=center width=480 bordercolor=#333333 cellspacing=0 cellpadding=2 style="border:1px dashed #000000; border-collapse: collapse" >';
$toplamtutar=0;
if($urunler){
$sepet = '<form method="POST" action="teklif.php">';
while (list($anahtar,$deger) = each($urunler)) {
$tutar =explode("-", $deger);
$toplam =$tutar[0]*$tutar[1];
$sepet .= '<tr><td width=325>'.$anahtar.'</td><td width=80>'.$tutar[0].' adet </td>
<td>
<form action="orta2.php" method="post">
<input type="hidden" name="urun['.$urun_id.']" value="'.$anahtar.'">
<input type="hidden" name="adet['.$urun_id.']" size="9" value="'.$deger.'">
<input type="hidden" name="durum" value="2">
<input type="submit" value="Sepeten Çıkart">
</form>
</td>
</tr>';
$durum=1;
$toplamtutar +=$toplam;
}$bosalt = '<tr>
<td> </td>
<td></td>
<td>
<input type=hidden name="durum" value=4>
<input type="submit" value="Gönder">
</form>
</td>
</tr>';
$sepet .= '<tr></td></tr>';$sepet.=$bosalt;
$sepet.="</table>";
echo $sepet;} else{
echo "<h2>sepetiniz boş</h2>";exit();
}