2011-06-08 89 views
0

我有下面的代碼片段一個問題:問題的通知:未定義指數

<div class= "main2" id ="main"> 
<fieldset id ='fs3'> 
<form action ="<?=$_SERVER['PHP_SELF']?>" method="post"> 
<?php 

$query = pg_query($connect, "Select name FROM types") or die(""); 
$numrows = pg_num_rows($query); 
if ($numrows > 0) { 

    echo "<br /><legend><center>Some Text:</center></legend><br />"; 
    echo "<center>Some Text: <select name='querySelect'>"; 


     while($r = pg_fetch_assoc($query)) { 
      echo "<option value = ".$r['name'].">".$r['name']."</option>"; 
       } 
    echo "</select>\t"; 
    echo "<input type='submit' value='submit' name='submit'>"; 
    echo "<br />"; 
    echo "<br />"; 
    if (isset($_POST['submit'])) { 

    $querySelect = $_GET['querySelect']; 
switch($querySelect) 
{ 
    case 'A': 
     $query = pg_query($connect, "Select model FROM urzadzenia WHERE tid=1") or die(""); 
     break; 
    case 'B': 
     $query = pg_query($connect, "Select model FROM urzadzenia WHERE tid=2") or die(""); 
     break; 
    case 'C': 
     $query = pg_query($connect, "Select model FROM urzadzenia WHERE tid=3") or die(""); 
     break; 
    case 'D': 
     $query = pg_query($connect, "Select model FROM urzadzenia WHERE tid=4") or die("Zapytanie nie działa"); 
     break; 
    case 'E': 
     $query = pg_query($polacz, "Select model FROM urzadzenia WHERE tid=5") or die(""); 
     break; 
} 
} 
else 
    echo "error"; 

} 



echo "</form>"; 
echo "</fieldset>" 
?> 

調用此代碼後,應收到以下錯誤信息: 「注意:UNDEFINED INDEX:QUERYSELECT」

請幫幫我。

回答

3

要發送的數據,POST,而是試圖從GET獲取它。

$querySelect = $_GET['querySelect']; 

應該是

$querySelect = $_POST['querySelect']; 

和更好的是,

$querySelect = !empty($_POST['querySelect']) ? $_POST['querySelect'] : null; 
+0

$ querySelect = $ _POST [ 'querySelect'];不起作用,但你的第二個建議很好用!謝謝。 – Mateusz 2011-06-08 21:20:12

+0

請勿使用空白功能。如果參數包含「0」,則認爲它是空的,但您可能需要「0」。您應該使用isset,如 '$ querySelect = isset($ _ POST ['querySelect'])? $ _POST ['querySelect']:null;' – Erik 2011-06-08 21:39:19

0

替代由POST以下行GET:

$querySelect = $_GET['querySelect'];