Php Formu Yeniden Gönderme Sorunu
-
aercys bunu yazdıpala bunu yazdıaercys bunu yazdı
Hocam yönlendirmeyi post işlemini yaptıktan sonra yapabilirsiniz aynen sizinde dediğiniz gibi. Header'la yönlendirme yaparken aldığınız hata sanırım Warning: Cannot modify header information - headers already sent... gibi birşey.
Çözüm olarak scriptinizin başına ob_start(); sonuna ob_end_flush(); fonksiyonlarını ekleyin ve php dosyanızı UTF8 BOM'suz olarak kaydedin. Mesela;
Buna benzer bir yapı yaptım ben de hocam ancak tekrar aynı sorunu yaşadım teşekkürler herşey için
Aldığınız hata ne hocam? Burada paylaşırsanız belki yardımcı olabiliriz.
Rica ederim, kolay gelsin.
<?php
$verial = $db->query("SELECT * FROM yorumlar")->fetchAll(PDO::FETCH_ASSOC);
foreach($verial as $degerler){
echo '<div class="ui segment">
<p><b>'.$degerler['adi'].' '.$degerler['soyadi'].':</b>'.$degerler['yorum'].'</p>
</div>
';
}
?>
</div>
<?php
if($_POST){
$adi = $_POST['adi'];
$soyadi = $_POST['soyadi'];
$yorum = $_POST['yorum'];
$mail = $_POST['mail'];
$query = $db->prepare("INSERT INTO yorumlar SET adi= ?, soyadi= ?, yorum = ?, mail= ?");
$insert = $query->execute(array(
$adi,$soyadi,$yorum,$mail
));
if ( $insert ){
$last_id = $db->lastInsertId('5');
echo "Yorumunuz Gönderilmiştir.";
}
}?>
hocam bu sorgularla yorum çekme ve gönderme işlemi yapıyorum şimdi yorumu veri tabanına gönderince üstteki sorgu sayesinde çekme işlemi yapmaktadır. Ancak yorumu gönderdikten sonra sayfa yenilenmesinde yorumu tekrar veri tabanına gönderiyor. Bunun yanında veri tabanında tablo da yenileme yapınca orada aynı işlem oluyor tekrar aynı veriyi çekiyor. Bir türlü çözüm bulamadım.
-
Şu şekilde dener misin?
<?php
function validate_not_empty($array) {
foreach($_POST as $key => $val) {
if ($val == '') return false;
}
return true;
}
if($_POST && validate_not_empty($_POST)){
$adi = $_POST['adi'];
$soyadi = $_POST['soyadi'];
$yorum = $_POST['yorum'];
$mail = $_POST['mail'];
$query = $db->prepare("INSERT INTO yorumlar SET adi= ?, soyadi= ?, yorum = ?, mail= ?");
$insert = $query->execute(array(
$adi,$soyadi,$yorum,$mail
));
if ( $insert ){
$last_id = $db->lastInsertId('5');
echo "Yorumunuz Gönderilmiştir.";
}
$_POST = array();
}?>
-
Pardon şu şekilde olacak. Düzenleme kısmında kodları göremedim ikinci post o yüzden;
<?php
function validate_not_empty($array) {
foreach($array as $key => $val) {
if ($val == '') return false;
}
return true;
}
if($_POST && validate_not_empty($_POST)){
$adi = $_POST['adi'];
$soyadi = $_POST['soyadi'];
$yorum = $_POST['yorum'];
$mail = $_POST['mail'];
$query = $db->prepare("INSERT INTO yorumlar SET adi= ?, soyadi= ?, yorum = ?, mail= ?");
$insert = $query->execute(array(
$adi,$soyadi,$yorum,$mail
));
if ( $insert ){
$last_id = $db->lastInsertId('5');
echo "Yorumunuz Gönderilmiştir.";
}
$_POST = array();
}?>
-
GÖnderme aynı şekilde devam etmekte. Ben biraz daha araştırma yapıcam her şey için sağolun sorunu hallettiğim zaman burada paylaşacağım.
-
http://malsup.com/jquery/form/
hocam bu plugin ile formunu ajax'a otomatik cevirirsin.
