2011-01-16 6 views
1

Ich möchte einen Code schreiben, der mich aus einer Dropdown-Liste auswählen und auf einen Button laden die Daten aus einer MySQL-Datenbank laden.Wenn ich auf den Wert im Drop zugreifen kann Ich habe versucht, sie durch $_POST['var_name'] zugreifen, aber immer noch nicht tun können.PHP - Zugriff auf einen in Combobox ausgewählten Wert

Ich bin neu in PHP.

Im Anschluss ist mein Code:

<?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> 
+1

seine $ _POST nicht $ _Post –

+0

danke +1, aber ich denke, es gibt noch mehr Fehler .. – Pavitar

+0

Bah, es gibt eine große Injektion Schwachstelle dort. Wenn Sie MySQLi verwenden wollen, sollten Sie zumindest die Anweisung vorbereiten und binden_param! –

Antwort

1

Wechseltaste

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

und

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

Ich habe es geändert in: Pavitar

+1

@Pavitar: Keine Notwendigkeit, onClick-Event-Typ zu verwenden submit wird automatisch Seite senden, wenn Sie auf btn klicken – shankhan

+0

+1 ok jetzt bin ich in der Lage, $ department.but mein Abfrage wird immer noch nicht ausgelöst :( – Pavitar

0

ein prepared statement Verwenden einreichen stattdessen $department in Ihre SQL von Echo. Wenn jemand '; DROP TABLE dept; gepostet hat, könnten sie beliebige SQL-Befehle ausführen (siehe SQL Injection).

ODER Sie können mysql_real_escape_string() verwenden, wenn Sie $department umgehen, wenn Sie keine vorbereitete Anweisung verwenden möchten.

+0

Das ist erst das erste Mal, dass ich versucht habe, in PHP zu codieren. Ich möchte nur wissen, wie man auf Werte von meiner Combobox zugreift. Später werde ich alles umsetzen, was Sie gesagt haben Um eine Injektion zu vermeiden, bitte helfen Sie mir, wie ich auf die Werte zugreifen kann, weil in meinem Code $ department nicht geantwortet wird. – Pavitar

Verwandte Themen