Помощь начинающим: невозможно получить переменные формы, работающие в PHP / HTML - PullRequest
0 голосов
/ 08 апреля 2011

Я недавно начал изучать PHP из книги Энди Харриса «Программирование на PHP / MySQL для абсолютного новичка».

В одном из своих примеров он пишет, что этот код должен работать (я его немного обрезал):

<html>
<head>
<title>Font Choices</title>
</head>
<body>
<center>
<h1>Font Choices</h1>
<h3>Demonstrates how to read HTML form elements</h3>

<form method = "post"
      action = "borderMaker.php">


<h3>Text to modify</h3>
<textarea name = "basicText"
      rows = "10"
      cols = "40">
blah blah
</textarea>



<input type = "submit"
       value = "show me">

</form>

</center>
</body>
</html>

Тогда в Bordermaker.php что-то вроде:

<html>
<head>
<title>Your Output</title>
</head>
<body>
<h1>Your Output</h1>
<center>
<?


print $basicText;

?>
</center>

</body>
</html>

Но когда я пытаюсь запустить его, он говорит, что не может найти переменную $ basicText.

В настоящее время я изучаю PHP с запущенным на моем компьютере XAMPP.

Спасибо за любую помощь.

Ответы [ 2 ]

4 голосов
/ 08 апреля 2011

используйте $_POST['basicText'] вместо $basicText

В вашей форме используется метод "post", поэтому все ваши входные значения будут содержаться в массиве с именем $_POST.

Если вы используете "get" в качестве метода, вся информация о форме будет передана в виде строки запроса в конце вашего URL, и вы получите к ним доступ с помощью массива с именем $_GET таким же образом.

1 голос
/ 08 апреля 2011

В этом примере используется register_globals для работы.Это означает, что каждая переменная, переданная через форму, становится глобальной переменной, что означает, что random-joe может внедрить неизвестные переменные в ваш код.Начиная с версии 5.3 это устарело и будет удалено в более поздних версиях.

Я настоятельно рекомендую найти книгу, основанную на более поздних версиях PHP, для изучения, желательно с учетом того, что PHP 5 (как минимум).

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