PHP ile basit mesaj gönderme sistemi

Katılım
28 Ocak 2020
Mesajlar
19.366
Makaleler
52
Çözümler
460
HTML:
<form action="<?php echo $form_send; ?>" method="post">
        <span>Adınız:</span><br>
            <input type="text" class="input_text" name="form_user_name" autocomplate="off" placeholder="Adınızı yazınız.." required="true" /><br><br>
        <span>E-Posta Adresiniz:</span><br>
            <input type="email" class="input_text" name="form_user_mail" autocomplate="off" placeholder="E-Posta adresinizi yazınız.." required="true" /><br><br>
        <span>Mesajınız:</span><br>
            <textarea class="input_textarea" maxlength="200" name="form_user_content" autocomplate="off" placeholder="Mesajınızı yazınız.." required="true"></textarea>
        <input type="submit" class="form_button" value="GÖNDER">
    </form>

Not: Buradaki $form_send sizin veriyi göndereceğiniz sayfayı temsil eder. İsteğinize göre değiştirebilirsiniz.

PHP:
 @$db_connect = mysqli_connect("localhost" , "root" , "" , "veri_tabanim");
    if(mysqli_connect_errno()){
        echo "<head><title>Veri Kayıt Etme - Eray Türkay</title></head>";
        echo "<div style='text-align:center; font-weight:bold; font-size:22px; font-family: sans-serif;'>Bakım çalışması yapılıyor. Lütfen daha sonra tekrar deneyin.</div><br>";
        /*echo "<div style='text-align:center;'>Hata Kodu: " . mysqli_connect_error() . "</div>";*/
        die();
    }else{
        mysqli_set_charset($db_connect , "UTF8");
 
        $get_user_name = $_POST["form_user_name"];
        $get_user_mail = $_POST["form_user_mail"];
        $get_user_mesaj = $_POST["form_user_content"];

       // BURADA VERİLERİN BOŞ GELİP GELMEDİĞİ DENETLİYORUZ, KULLANICI BOŞ VERİ GÖNDERİRSE GERİ GÖNDERİYORUZ.
        if ($get_user_name = "" or $get_user_mail = "" or $get_user_mesaj == ""){
            echo "<h3>Lütfen tüm alanları doldurup yeniden deneyiniz!<br>Geri yönlendiriliyor..</h3>";
            header("Refresh: 3; url=$contact_link");
            exit();
        }else{
           // veri burada mesajlar tablosuna kayıt ediliyor, siz istediğiniz bir tabloya kayıt edebilirsiniz
            $db_query = mysqli_query($db_connect , "INSERT INTO mesajlar (user_isim,user_mail,user_mesaj) values ('$get_user_name','$get_user_mail','$get_user_mesaj')");
            if($db_query){
               // işlem başarılı olursa ekrana mesaj verip otomatik sizi ana sayfaya yönlendiriyor.
                echo "<h3>Mesajınız başarıyla gönderildi!<br>Anasayfaya yönlendiriliyor..</h3>";
                header("Refresh: 3; url=$home_link");
                exit();
            }else{
               // işlem başarsız olursa ekrana mesaj verip otomatik sizi iletişim sayfasına geri yönlendiriyor.
                echo "<h3>Mesaj gönderilemedi<br>Geri yönlendiriliyor..</h3>";
                header("Refresh: 3; url=$contact_link");
                exit();
            }
            mysqli_close($db_connect);
        }

@Ecmel belki işine yarar :)
 
Son düzenleme:
Emeğiniz için teşekkür ederim. Back-End için ayrı bir kişiyle çalışıyorum normalde. O yüzden bu tür şeylerde sorun olmuyor. Back-End'i genel olarak zaten iletişim formlarında kullanıyorum. Benim kullandığım kodda buna benzer bir kod, yine de ince düşünceniz için sağ olun. :)
 
Emeğiniz için teşekkür ederim. Back-End için ayrı bir kişiyle çalışıyorum normalde. O yüzden bu tür şeylerde sorun olmuyor. Back-End'i genel olarak zaten iletişim formlarında kullanıyorum. Benim kullandığım kodda buna benzer bir kod, yine de ince düşünceniz için sağ olun. :)

Kendi sitemde kullandığım yapıyı atardım ancak benim için güvenlik tehditi oluşturur. O yapı çok daha kapsamlı, neredeyse Input ile veri tabanını ele geçirmek çok zor.
 
Kendi sitemde kullandığım yapıyı atardım ancak benim için güvenlik tehdit oluşturur. O yapı çok daha kapsamlı, neredeyse Input ile veri tabanını ele geçirmek çok zor.
Teşekkür ederim hocam, dediğim gibi bu tür işlerde bir sorun yaşamıyorum. Güvenlik, veri tabanları için çok önemli bir unsur ve kimsede bu unsurun aşılmasını istemez.
 
Teşekkür ederim hocam, dediğim gibi bu tür işlerde bir sorun yaşamıyorum. Güvenlik, veri tabanları için çok önemli bir unsur ve kimsede bu unsurun aşılmasını istemez.

Hele bazı akıllılar öğeyi denetleyip Input'u siliyor :D Bunu engellemek çocuk oyuncağı tabii ki. Özellikle Input ile komut gönderebiliyorlar. Bunu da gelen veriyi String'e dönüştürünce problem olmuyor :D Daha fazla detaya girmeyelim :D

Rica ederim hocam.
 

Geri
Yukarı