• 05-06-2020, 20:42:26
    #1
    HTML iletişim kutusu, sayfası hazırlarken form kullanmak en kolay yöntemlerden biridir. Eğer bir iletişim sayfası hazırlamak istiyorsanız aşağıdaki basit örneği inceleyerek yapabilirsiniz. Action kısmı form onaylanınca ne yapılacağı, method kısmı ise action kısmında seçtiğimiz kısma verilerin hangi yöntemle gideceğini belirtir. En aşağıdaki submit butonu da formu göndermek için kullanılmaktadır.

    <form action=“iletisim.php” method=“POST”>
    İsim: <input type="text" name=“ad” required><br>
    Soyisim: <input type="text" name=“soyad” required><br>
    Telefon: <input type="number" name=“tel”><br>
    Mail Adresi: <input type="text" name=“mail”><br>
    <input type="submit">
    </form>
    Yukarıda isim, soyisim, telefon ve mail adresi olmak üzere 4 kısımdan oluşan bir form oluşturduk. İsim ve soyisimin sonuna required ekledik. Bu required bu alanın boş geçilemeyeceğini ifade ediyor. Şimdi ise action kısmında belirttiğimiz "iletisim.php" kısmına gelelim. Orası da basit bir şekilde yapılacak olursa şöyle olmalıdır.

    <?
    $isim = $_POST[“ad”];
    $soyisim = $_POST[“soyad”];
    $telefon = $_POST[“tel”];
    $mailadresi = $_POST[“mail”];
    echo ‘İsim : ‘.$isim;
    echo ‘Soyisim : ‘.$soyisim;
    echo ‘Telefon : ‘.$telefon;
    echo ‘Mail Adresi: ‘.$mailadresi;
    ?>
    Form kısmında girilen verileri $_POST ile çekiyoruz. Formdaki name=" " kısmında yazdığımız verileri kullanarak $_POST ile çekmiş olduk. Yani kısaca açıklanacak olursa ilk kısımda oluşturmuş olduğumuz " İsim: <input type="text" name=“ad” required> " bu kısımda name kısmında kullandığımız kelimeyi aşağıdaki iletisim.php kısmında kullanarak çekiyoruz. Yani böyle " $isim = $_POST[“ad”]; " olacak.

    İşin içine css sokarak ve daha fazla detaylandırarak güzel işler çıkarabilirsiniz. Bu basit bir örnektir ve mantığın nasıl çalıştığı gösterilmek istenmiştir.
  • 05-06-2020, 20:48:37
    #2
    Ellerinize sağlık, bu şekilde kullanım sql injection açığı yaratır bu yüzden veritabanına erişilebilir,

    function g ($get) { return htmlspecialchars(mysql_real_escape_string($_GET[$get]));}
    function p ($post) { return htmlspecialchars(mysql_real_escape_string($_POST[$post])); }
    bu fonksiyonu kullanarak get ve post ile injection açığını kapatabilirsiniz,

    Kullanım:
    $isim = p("ad");
  • 05-06-2020, 20:50:40
    #3
    ultibil adlı üyeden alıntı: mesajı görüntüle
    Ellerinize sağlık, bu şekilde kullanım sql injection açığı yaratır bu yüzden veritabanına erişilebilir,

    function g ($get) { return htmlspecialchars(mysql_real_escape_string($_GET[$get]));}
    function p ($post) { return htmlspecialchars(mysql_real_escape_string($_POST[$post])); }
    bu fonksiyonu kullanarak get ve post ile injection açığını kapatabilirsiniz,

    Kullanım:
    $isim = p("ad");
    Teşekkürler değerli yorumunuz için. Konuyu okuyan arkadaşların dikkatine : )
  • 05-06-2020, 21:04:30
    #4
    Hocam PHP yi form düzeyinde öğrenen birinin mysql_ ile işinin olmaması gerekiyor bence, hatalı bir örnek olmuş denebilir ikinci yazı.
  • 05-06-2020, 22:05:52
    #5
    Abdullahx adlı üyeden alıntı: mesajı görüntüle
    Hocam PHP yi form düzeyinde öğrenen birinin mysql_ ile işinin olmaması gerekiyor bence, hatalı bir örnek olmuş denebilir ikinci yazı.
    Selam ben kodlamadım sadece düzenledim. Alt tarafı siz kodlayın nasıl göstereceğine dair sizin kodunuzu ekleyelim.
  • 05-06-2020, 23:00:01
    #6
    mysql_ fonksiyonları +7 PHP sürümlerinde aktif değildir. Güvenlik açıkları, eski yapıya sahip olması sebebiyle.

    Şahsen projelerimde https://github.com/ezSQL/ezsql EZSQL kütüphanesini kullanıyorum. Tabii mysqli_ veya PDO kullanılabilir size kalmış.

    EZSQL Örnek post alma:
    $isim = post("ad");
    İyi çalışmalar.
  • 05-06-2020, 23:30:47
    #7
    emreires adlı üyeden alıntı: mesajı görüntüle
    mysql_ fonksiyonları +7 PHP sürümlerinde aktif değildir. Güvenlik açıkları, eski yapıya sahip olması sebebiyle.

    Şahsen projelerimde https://github.com/ezSQL/ezsql EZSQL kütüphanesini kullanıyorum. Tabii mysqli_ veya PDO kullanılabilir size kalmış.

    EZSQL Örnek post alma:
    $isim = post("ad");
    İyi çalışmalar.
    Teşekkürler açıklamanız için