2

我有一个搜索页面,允许用户使用 3 种类型搜索其他成员,即使是

  • 村庄

我正在为所有三种类型使用一种形式和一个按钮,其中包含 3 个不同的隐藏值

但问题是系统在只选择省时不采取行动

所以有人可以帮我吗???

代码:

<?php
//**********search by locationn***************************************//
if(isset($_POST['listbyq']))
{    
//********************by governorate**************************************//
   if($_POST['listbyq']=="by_gov")
   {
       $bygov = $_POST['governorate'];
       $sql = mysql_query("SELECT user_id,first_name, last_name, birth_date, registered_date, governorate_name 
                        FROM members u INNER JOIN  governorate g 
                        ON u.governorate = g.governorate_id WHERE governorate = '$bygov'")or die(mysql_error("Error: querying the governorate"));

       $num_row = mysql_num_rows($sql);
       if($num_row > 0 )
       {
           while($row = mysql_fetch_array($sql))
           {
              $row_id = $row['user_id'];
              $row_first_name =  $row['first_name'];
              $row_last_name =  $row['last_name'];
              $row_birthdate =  $row['birth_date'];
              $row_registered_date = $row['registered_date'];
              $row_gov = $row['governorate_name'];

                ////***********for the upload image*************************//
         $check_pic="members/$row_id/image01.jpg";
         $default_pic="members/0/image01.jpg";
         if(file_exists($check_pic))
         {
             $user_pic="<img src=\"$check_pic\"width=\"120px\"/>";
         }
         else
         {
             $user_pic="<img src=\"$default_pic\"width=\"120px\"/>";
         }

          $outputlist.='
     <table width="100%">
                 <tr>
                    <td width="23%" rowspan="4"><div style="height:120px;overflow:hidden;"><a href =              "http://localhost/newadamKhoury/profile.php?user_id='.$row_id.'" target="_blank">'.$user_pic.'</a></div></td>
                    <td width="14%"><div  align="right">Name:</div></td>
                    <td width="63%"><a href = "http://localhost/newadamKhoury/profile.php?user_id='.$row_id.'" target="_blank">'.$row_first_name.' '.$row_last_name.'</a></td>
                    </tr>

                    <tr>
                      <td><div align="right">Birth date:</div></td>
                      <td>'.$row_birthdate.'</td>
                    </tr>
                    <tr>
                     <td><div align="right">Registered:</div></td>
                     <td>'.$row_registered_date.'</td>
                    </tr>

                    <tr>
                     <td><div align="right">Governorate</div></td>
                     <td>'.$row_gov.'</td>
                    </tr>
                    </table>
                    <hr />
            ';

           }
       }

   }
}
else
{
    $errorMSG = "No Member has the listed location!!";
} 
?>

代码

  <table width="94%" height="63">
                <tr>
                  <td width="29%"><form id="form1" method="post" action="member_search2.php">

                  <h3>Search by Location</h3><br />
                  <?php require_once('location_fields.php'); ?>
                    <input type="hidden" name="listbyq" value="by_gov" />
                    <input type="hidden" name="listbyq" value="by_dist" />
                    <input type="hidden" name="listbyq" value="by_city" />
                    <input type="submit" name="searchbylocation" id="button" value="go" />
                  </form></td>
</tr>
</table>
4

1 回答 1

0

这是因为您为所有输入字段分配了相同的名称name="listbyq",因此将名称更改为不同的名称,以便您可以在不同的变量中检索

<input type="hidden" name="listbyq" value="by_gov" />
<input type="hidden" name="listbyqa" value="by_dist" />
<input type="hidden" name="listbyqb" value="by_city" />

现在您可以在您的if报表中分别使用它们

 if($_POST['listbyq'] == 'by_gov')
 if($_POST['listbyqa'] == 'by_dist')
 if($_POST['listbyqb'] == 'by_city')

然后我想记住你mysql_不推荐使用函数,所以我建议你切换到mysqli或者PDO确实你有风险sql injection,看看这里如何防止 PHP 中的 SQL 注入?. 您应该使用准备好的陈述来避免任何风险

于 2013-05-18T14:57:33.017 回答