我想做一個簡單的搜索框旁邊的標籤組,搜索框只用於搜索電話類型,我做了這個代碼和除搜索框外的每件事情工作。我這個錯誤: 注意:未定義指數:搜索php簡單的搜索框與標籤
<form action="" method="post" name="form" >
<body>
<script>
$(function() {
$("#xx").tabs();
});
</script>
<div id="xx" >
<ul>
<li><a href="#all">all phones</a></li>
<li><a href="#small">small</a></li>
<li><a href="#large">large</a></li>
<li><a href="#search">search:<input type="text" name="search">
</a></li>
</ul>
<?php
include 'db.php';
?>
<div id="all">
<?php
$res = mysql_query("SELECT * FROM table1");
while($row = mysql_fetch_array($res))
{
echo 'phone name'.$row[2];
echo 'phone type'.$row[3];
echo 'phone sise'.$row[4];
}
?>
</div>
<div id="small">
<?php
$res2 = mysql_query("SELECT * FROM table1 WHERE phonesize = 'small' ");
while($row = mysql_fetch_array($res2))
{
echo 'phone name'.$row[2];
echo 'phone type'.$row[3];
echo 'phone sise'.$row[4];
}
?>
</div>
<div id="large">
<?php
$res3 = mysql_query("SELECT * FROM table1 WHERE phonesize = 'large' ");
while($row = mysql_fetch_array($res3))
{
echo 'phone name'.$row[2];
echo 'phone type'.$row[3];
echo 'phone sise'.$row[4];
}
?>
</div>
<div id="large">
<?php
$search = $_POST['search'];
$res4 = mysql_query("SELECT * FROM table1 WHERE phonetype = '$search'");
while($row = mysql_fetch_array($res4))
{
echo 'phone name'.$row[2];
echo 'phone type'.$row[3];
echo 'phone sise'.$row[4];
}
?>
</div>
</form>
可以通過使用if(isset($ _ POST ['search'])來避免此錯誤)'但是這只是一個問題,你的代碼很容易受到sql注入的影響,你必須使用PDO或MySQLi來獲得更好的編碼和安全性。 – 2013-08-03 01:24:03
將你的輸入轉換爲mysql,這段代碼基本上是SQL注入友好代碼的一個例子 – zajd