我已经阅读了很多关于这个主题的问题,但没有找到答案。
我有一个错误Notice: Undefined index: searchText in C:\xampp\htdocs\twitter\lib\search.php on line 5
不知道为什么......
HTML表单:
<div id="search" class="fleft">
<form name="tsearch" action="lib/search.php" method="post">
<input type="text" name="searchText" placeholder="Search tweet!">
<input type="submit" name="search" value="Search"/>
</form>
</div>
和PhP脚本的一部分,我正在发送但没有获取数据
全力以赴。 更新:
<?php
include "connect.php";
//session_start();
if (isset($_POST['searchText'])){
//echo '<pre>'; print_r($_REQUEST); echo '</pre>';
$query = "SELECT u.nickname, t.text, t.pubdate FROM 111212_tweets t INNER JOIN 111212_users AS u ON t.user_id = u.id WHERE t.text LIKE '%" . $_POST['searchText'] . "%' ORDER BY t.pubdate DESC";
$_SESSION['searchQuery'] = $query;
header('Location: ../main.php');
}else {
$query = "SELECT u.nickname, t.text, t.pubdate FROM 111212_tweets t INNER JOIN 111212_users AS u ON t.user_id = u.id ORDER BY t.pubdate DESC";
$_SESSION['searchQuery'] = $query;
}
?>
答案 0 :(得分:5)
您需要使用isset()
来查看变量是否已设置:
if (isset($_POST['searchText']))
如果您想查看它是否包含值(即非空),请同时使用empty()
:
if (isset($_POST['searchText']) && !empty($_POST['searchText']))
答案 1 :(得分:3)
要检查索引是否存在,您必须使用isset()
,如下所示:
if(isset($_POST['searchText'])){
//do some stuff here
}
答案 2 :(得分:1)
@John Conde是对的。只是添加一些东西......通知不是错误,服务器只是告诉你你的变量没有设置。
检查变量(isset())是一个好习惯,但是如果你不想并且有点懒,你可以设置error_reporting来标记错误 见http://www.php.net/manual/en/function.error-reporting.php