почему переменные формы недоступны в этом php-коде? - PullRequest
1 голос
/ 06 января 2010

У меня есть форма на моей странице PHP, которая выполняет некоторую проверку ajax (это работает). Вот фрагмент (живая форма имеет больше полей, чем эта)

    <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>

Когда я нажимаю кнопку отправки, он загружает этот код:

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

(опять же, есть больше того же самого, но это иллюстрирует смысл)

Все это прекрасно работало до последнего обновления от моего хостера, когда-нибудь на Рождество, когда форма перестала работать - но мне действительно трудно выяснить, почему ..

Сервер сейчас работает под управлением PHP 5.2.11 - я что-то здесь делаю в корне неправильно / глупо?

Ответы [ 2 ]

5 голосов
/ 06 января 2010

В PHP 5.2 они избавились от register_globals.Это кошмар безопасности и не должен использоваться.

Используйте вместо этого $_POST для доступа к элементам формы.

Подробнее о register_globals можно узнать здесь: http://us.php.net/manual/en/security.globals.php

2 голосов
/ 06 января 2010

POST-переменные доступны так: $_POST["varname"], а не так: $varname. Кроме того, вы также можете получить к ним доступ через $_REQUEST, но в конечном итоге это ваше дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...