0

タブのグループの横に単純な検索ボックスを作成しようとしています。検索ボックスは電話の種類の検索にのみ使用されます。このコードを作成すると、検索ボックス以外のすべてが機能します。次のエラーが表示されます: Notice: Undefined index:探す

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

2 に答える 2

1

フォームが初めてロードされるとき、 $_POST['search'] が存在しないため、通知が発生します。その変数が存在するのは、実際にフォームに投稿するまではありません。次のように、ユーザーがフォームを送信した後に実行するコードを実行する前に、その変数の存在を確認する必要があります。

if( isset( $_POST )) {
    // The form was posted.
    // Write your code here to execute once the user posts the form.
]
于 2013-08-03T07:21:31.323 に答える
0

良い........ フォームが初めてロードされたとき、 $_POST['search'] が存在しません。それが通知の原因です。その変数が存在するのは、実際にフォームに投稿するまではありません。次のように、ユーザーがフォームを送信した後に実行するコードを実行する前に、その変数の存在を確認する必要があります。

于 2013-12-23T12:46:15.307 に答える