У меня проблема с методом get_post. Вот мой код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Upload2</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <h1> Welcome to my search Engine </h1> <?php # SETUP $thisFile = 'v4.php'; # INPUT FIELDS echo <<< END <form action="$thisFile" method="post"> <pre> Search <input type="text" name="searchTerm"/> <input type="submit" value="Add Record"/> </pre> </form> END; # EXTRACT INPUTTED FIELDSA if(isset($_POST['searchTerm'])) { # INITIALIZE INPUTTED VARIABLES $mySearchTerm = get_post('searchTerm'); # <- PROBLEM LINE! echo "You searched for: $mySearchTerm"; } ?> </body> </html>
Код работает задолго до ввода поискового запроса. Html выглядит так, как ожидалось, и эта страница отображается в браузере:
После ввода поискового запроса страницы выглядят одинаково, но после просмотра -> Источник страницы Я заметил что-то интересное. Конец страницы выглядит следующим образом:
Search <input type="text" name="searchTerm"/> <input type="submit" value="Add Record"/> </pre> </form>
ПРИМЕЧАНИЕ. Окончание </body></html>
Оказывается, get_post не является методом PHP. Мой учебник определил его на следующей странице следующим образом:
function get_post($var){ return mysql_real_escape_string($_POST[$var]); }
Я согласен с шестидесятилетней. Единственное, чего не хватает, это соединение с базой данных.
function get_post($conn, $var){ return $conn->real_escape_string($_POST[$var]); }
Конечно, вы можете изменить:
$mySearchTerm = get_post('searchTerm'); # <- PROBLEM LINE!
Для того, чтобы:
$mySearchTerm = $_POST['searchTerm'];
В PHP нет функции get_post (), возможно, вы вызываете неопределенную функцию.
Добавьте следующее в начало блока PHP
ini_set('error_reporting', E_ALL); ini_set('display_errors', true);
чтобы увидеть, что происходит.
Вы MISSED include
или require
для своей функции get_post
и синтаксический анализатор будет get_post
ошибку с отключенными сообщениями об ошибках.
И в верхней части скрипта добавьте:
error_reporting(E_ALL); require_once('this_file_where_you_have_get_post.php');