neden form değişkenleri bu php kodu mevcut değildir?

2 Cevap php

Bazı ajax doğrulama (ki çalışıyor) gerçekleştirir benim PHP sayfasında bir form var. İşte parçacık bulunuyor (canlı form, bu daha fazla alan vardır)

    <form name="form" onSubmit="return validate_form();" action="submitform.php" method="post">
        <table border="0" cellpadding="5" bgcolor="#000000">
        <tr>
            <td width="175">
                <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Requested Vendor TAG:</b> </font></div>
            </td>
            <td>
                <input type="text" name="VendorTAG" onblur="checktag();" maxlength="8"> <div id="vendtag"></div>
            </td>
        </tr>
        <tr>
            <td width="175">
                <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Contact Name:  </b> </font></div>
            </td>
            <td>
                <input type="text" name="ContactName" maxlength="50">
            </td>
        </tr>

Ben Gönder düğmesini tıkladığınızda, bu kodu yükler:

<php ?
if(trim($VendorTAG) == '')
   {
      die('Vendor TAG cannot be blank');
   }
   else if(trim($ContactName) == '')
   {
      die('Contact Name cannot be blank');
   }
?>

(Tekrar, orada aynı daha fazla, ama bu noktayı göstermektedir)

Bu, tüm bazen formu çalışmıyor yılbaşı, üzerinde benim sahibesi gelen son güncelleme kadar iyi çalıştı - ama neden bulmaya gerçek zorluk yaşıyorum ..

Ben burada aptal / temelden yanlış bir şey yapıyorum - Sunucu artık PHP 5.2.11 çalışıyor?

2 Cevap

PHP 5.2 'Onlar register_globals kurtuldum. Bu bir güvenlik kabusu olduğunu ve kullanılmamalıdır.

Form Elemanları erişmek yerine $_POST kullanın.

http://us.php.net/manual/en/security.globals.php: Sen register_globals Burada hakkında daha fazla bilgi bulabilirsiniz

$_POST["varname"] ve bu gibi değil: POST vars böyle erişilir $varname. Alternatif olarak, aynı zamanda çok $_REQUEST onlara erişebileceğiniz, ama sonuçta size kalmış.