PHP sayfa yenilendiğinde aynı veritabanlarını tekrar yolluyor

adana lima

Hectopat
Katılım
11 Ocak 2021
Mesajlar
547
Çözümler
3
Daha fazla  
Sistem Özellikleri
MSI B550M PRO-VDH ANAKART | MSI Mag A650BN 650W 80+ Bronze Power Supply | AMD Ryzen 5 5500 3,6 GHz 16 MB Cache AM4 İşlemci | MSI GeForce RTX 4060 Gaming X 8GB GDDR6 128 Bit DLSS 3 Ekran Kartı | Corsair Cmg16gx4m2e3200c16 16gb (2x8gb) Ddr4 3200 Mhz C16 RAM |
Cinsiyet
Erkek
Bitirme projem için bir web sitesi yapıyorum ve şikayet kısmı var orada. Üye yaşadığı herhangi bir sorunu o kısımdan gönderip veri tabanına eklemesi lazım lakin veri tabanını falan ekledim, her şey çok iyi fakat tek sıkıntı F5 atarken en son girilen bilgileri tekrar veri tabanına yolluyor. Bunu nasıl düzeltebilirim?

[CODE title="Kodlar"]//Html Kısmı//

<Tr>

<Td><input type="text" name="isim" ID="isim" required placeholder="isminiz">

<İnput type="text" name="soyisim" ID="soyisim" required placeholder="soyisminiz">

<İnput type="email" name="email" ID="email" required placeholder="e-posta adresiniz"></td>

</Tr>

<Tr>

<Td><textarea style="resize: None;" rows="10" cols="66" maxlength="500" ID="mesaj" name="mesaj" required placeholder="mesajınız..." ></textarea></td>

</Tr>

<Tr>

<Td><p><input type="submit" name="gonder" Value="gönder"> </p></td>

</Tr>



//Php Kısmı//



<?PHP

$Ad=$_post["isim"];

$Soyad=$_post["soyisim"];

$Mesaj=$_post["mesaj"];

$Email=$_post["email"];



$Servername = "localhost";

$Username = "root";

$Password = "";

$Dbname = "epinmarket";



// Create connection.

$Conn = New mysqli($servername, $username, $password, $dbname);

// Check connection.

İf ($conn->connect_error) {

Die("connection failed: ". $conn->connect_error);

}



$Sql = "ınsert ınto sikayet (isim, soyisim, mesaj, email)

Values ('$ad', '$soyad', '$mesaj','$email')";



İf ($conn->query($sql) === true) {

Echo "New record created successfully";

} Else {

Echo "error: ". $sql. "<br>". $conn->error;

}



$conn->close();

>[/CODE]
 
Son düzenleyen: Moderatör:
F5 neden atıyorsunuz?
Form gönderildiğinde işlem yaptırmıyorsunuz. Başarılı bir şekilde gönderildiğinde veya hata verdiğinde yönlendirme yaparsanız sorun olacağını sanmıyorum.
Aşağıda belirttiğim header kodlarını kendi kodlarınıza eklediğinizde 1 saniye sonra belirteceğiniz adrese yeniden yükleme yapılacak bu nedenle veri tabanına ekstradan bilgi girilmeyecek.
PHP:
İf ($conn->query($sql) === true) {
Echo "New record created successfully";
header("Refresh: 1; url=sikayetlinki.php");
} Else {
Echo "error: ". $sql. "<br>". $conn->error;
header("Refresh: 1; url=sikayetlinki.php");
}
 
Son düzenleme:

Bu konuyu görüntüleyen kullanıcılar

Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…