• 29-05-2010, 16:24:31
    #1
    Merhaba,
    arkadaşlar bundada form yapmayı görelim biraz basit gidiyorum ama yavaş yavaş

    şimdi geçen dersimizde $_REQUEST gördük.
    şimdi onu kullanarak bir form yapalım.

    iletisim.php olsun bu dosya

    <?php
    if(empty($_REQUEST['yapmak']))
    {
    $_REQUEST['yapmak'] = 'form';
    }
    if($_REQUEST['yapmak'] == 'form')
    {
    echo "<form action=\"iletisim.php?yapmak=kayit\" method=\"[b]post[/b]\"> // \ işaretini echoda "" taglarını açtığımız için kullanıyoruz " taglarından önce yoksa syntax error hatsı alırız
    
    isminiz <input type=\"text\" name=\"ad\"><br />
    mailiniz <input type=\"text\" name=\"mail\"><br />
    mesajınız <textarea name=\"mesaj\"></textarea>
    <br /><input type=\"submit\" value=\"Gönder\">
    </form>";
    }
    if($_REQUEST['yapmak'] == 'kayit')
    {
    $isim = $_POST['ad']; // _POST olmasının nedeni methodu post yaptığımız için get yapsaydık _GET olucaktı ama get olursa döngü geçersiz olur 
    $mail = $_POST['mail'];
    $mes = $_POST['mesaj'];
    if(empty($isim) OR empty($mail) OR empty($mes)) //eğer bilgiler boşsa
    {
    echo "Boş alan bıraktınız geri dönün";
    }
    else // eğe bilgiler dolysa
    {
    $git = "mailadresim@mail.com";
    $bas = "iletişim formundan mesaj var";
    mail($git,$bas,$mes);
    echo "iletişim mesajınız alındı";
    }
    ?>
    sorularınız için mesaj lütfen
  • 31-05-2010, 18:02:34
    #2
    Üyeliği durduruldu
    hocam uğraşmayıp yazmışsın teşekkürler. mail formunda header taglarını öğrenmeni ve burada REQUEST komutunun güvensizdir. biraz araştırırsan daha iyi yol alabilirsin. formlarda her zaman post kullan illaki sonraki sayfalara veri aktarmak istiyorsan postla olmuyor diyorsan onlarda da session kullanmanı öneririm. requestin kötü yanlarını saymak istemiyorum. Sonra kötü kişiler ortaya çıkıyor. Başarılarının devamını dilerim.
  • 31-05-2010, 18:19:35
    #3
    Formda sadece post kullandım zaten o sayfanın çıktısı;
    index.php = form açılıcak
    index.php?yapmak=form = form açılıcak
    index.php?yapmak=kayit = form göndericeki
    bunları yapabilmek için case yerine request kullandım
    $_REQUEST tehlikeli ise vBulletin açık yuvası
  • 31-05-2010, 18:28:41
    #4
    Üyeliği durduruldu
    requestleri hangi functiondan geçirdiklerine bakabilirsin hocam. orada kullandıgın requestler yerine input hidden kullanmanı önerirdim. nese hocam ben birşey demedim kolay gelsin.
  • 31-05-2010, 18:36:11
    #5
    vBulletinin admin panelinden örnek;
    if(empty($_REQUEST['do']))
    {
    $_REQUEST['do'] = 'modify';
    }
    if($_REQUEST['do'] == 'modify')
    {
    kodlar
    }

    $_REQUEST'in formla ne alakası var onu anlamadım
  • 31-05-2010, 18:38:56
    #6
    Eğer $_REQUEST = $_GET + $_POST; gibi bir kod kullanılıyorsa her yerde $_REQUEST kullanılır. Mesela SMF'te bu şekilde.