<?php
session_start();
include "conn.php";
if(isset($_SESSION['user']))
{
$user = $db->query("SELECT * FROM users WHERE id = '{$_SESSION['user_id']}'")->fetch(PDO::FETCH_ASSOC);
}
if(isset($_POST['mesaj_ekle']))
{
$kaydet=$db->prepare("INSERT into mesajlar set
adsoyad=:adsoyad,
eposta=:eposta,
telefon=:telefon,
konu=:konu,
icerik=:icerik
");
$insert=$kaydet->execute(array(
'adsoyad' => $_POST['adsoyad'],
'eposta' => $_POST['eposta'],
'telefon' => $_POST['telefon'],
'konu' => $_POST['konu'],
'icerik' => $_POST['icerik']
));
//işlem sonucu dönüş almak
if ($insert) {
echo '<div class="alert alert-success" role="alert">
<center>Mesajınız başarılı bir şekilde gönderildi !</center>
</div>';
;
}
}
?> iletişim form u bug oluyor ?
5
●60
- 25-12-2021, 20:27:45Kimlik doğrulama veya yönetimden onay bekliyor.Merhabalar iletişim forumu yaptım php ama yolladıktan sonra her f5 attıpında bug oluyor ve aynısını mysql e yazıyor bunu nasıl düzelte bilirim kodlar aşşığda
- 25-12-2021, 20:29:15İşlem bittiğinde header ile tekrar yönlendirme yapın post verilerini sıfırlar
- 25-12-2021, 20:34:42pm iletin yardımcı olalımymazmustafa adlı üyeden alıntı: mesajı görüntüle
- 25-12-2021, 20:47:41Merhaba,
INSERT başarılı olduğunda üyeye time() fonksiyonunu SESSION olarak tanımlatın, dakika kontrolü ekletin ve örneğin önceki isteğinin üzerinden 1 dakika geçmemiş ise işlemi başarısız olarak döndürün.
Bu sayede hem butona ard arda tıklarlarsa spam istek gönderemeyeceklerdir hem de yazdığınız sorun çözümlenmiş olacaktır. - 25-12-2021, 20:51:20Üyeliği durduruldumüsaid iseniz tam kod atma şansınız varmıProfesör adlı üyeden alıntı: mesajı görüntüle
- 26-12-2021, 00:12:26Formunuzun action kısmını form.php?page=send gibi querystring içeren bir ifade ile değiştirin. Ardından kodunuzu şu şekilde revize edin.
<?php session_start(); include "conn.php"; if(isset($_SESSION['user'])) { $user = $db->query("SELECT * FROM users WHERE id = '{$_SESSION['user_id']}'")->fetch(PDO::FETCH_ASSOC); } $page = $_GET['page'] ?? false; if($page === 'send') { if(isset($_POST['mesaj_ekle'])) { $kaydet = $db->prepare("INSERT into mesajlar (adsoyad, eposta, telefon, konu, icerik) VALUES (:adsoyad, :eposta, :telefon, :konu, :icerik)"); $kaydet->execute([ 'adsoyad' => $_POST['adsoyad'], 'eposta' => $_POST['eposta'], 'telefon' => $_POST['telefon'], 'konu' => $_POST['konu'], 'icerik' => $_POST['icerik'] ]); if ($db->lastInsertId()) @header('Location:form.php?page=success'); else @header('Location:form.php?page=error'); exit; } } elseif ($page === 'success') { echo '<div class="alert alert-success text-center" role="alert">Mesajınız başarılı bir şekilde gönderildi!</div>'; } elseif($page === 'error') { echo '<div class="alert alert-danger text-center" role="alert">Mesajınız gönderilemedi!</div>'; } ?>