繁体   English   中英

PHP-访问在组合框中选择的值

[英]PHP - Accessing a value selected in Combobox

我想写一个代码让我从下拉列表中选择,然后单击按钮onClick从mysql数据库加载数据,但是我无法访问下拉菜单中选择的值,我试图通过$_POST['var_name']访问它们$_POST['var_name']但仍然无法执行。

我是PHP新手。

以下是我的代码:

 <?php

      function load(){
       $department = $_POST['dept'];
       $employee = $_POST['emp'];

       //echo "$department";
       //echo "$employee";

       $con = mysqli_connect("localhost", "root", "pwd", "payroll");
       $rs = $con->query("select * from dept where deptno='$department'");
       $row = $rs->fetch_row();
       $n = $row[0];
       $rs->free();
       $con->close();
      }

 ?>
    <html>
     <head>
      <title>Payroll</title>
     </head>

     <body>
      <h1 align="center">IIT Department</h1>
      <form method="post">
      <table align="center">
       <tr>
        <td>
          Dept Number: 
          <select name="dept">
               <option value="10" selected="selected">10</option>
               <option value="20">20</option>
               <option value="30">30</option>
               <option value="40">40</option>
          </select>


            </td>

        <td>
             <input type="button" value="ShowDeptEmp" name="btn1">        
        </td>
        <td>
          Job: 
          <select name="job">
               <option value="President" selected="selected">President</option>
               <option value="Manager">Manager</option>
               <option value="Clerk">Clerk</option>
               <option value="Salesman">Salesman</option>
               <option value="Analyst">Analyst</option>
          </select>
        </td>
        <td>
             <input type="button" value="ShowJobEmp" name="btn1">
        </td>
       </tr>
      </table>
      </form>
        <?php if(isset($_POST['dept']) && $_POST['dept'] != "") load();  ?>        
     </body>
    </html>

更改按钮提交

 <input type="submit" value="ShowDeptEmp" name="btn1">

 <input type="submit" value="ShowJobEmp" name="btn2">

使用准备好的语句,而不是在SQL中回显$department 如果有人张贴'; DROP TABLE dept; '; DROP TABLE dept; 他们可以运行任意SQL命令(请参见SQL Injection )。

或者,如果不想使用预处理语句,可以在转义$department时使用mysql_real_escape_string()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM