2014-03-30 51 views
0

我試圖訪問$ _REQUEST值並將其分配給變量

$ id = $ _REQUEST ['ID'];

此外,我嘗試過用isset,但仍沒有返回值,但是當我使用

的print_r($ _ REQUEST);

我可以看到所需的值。

這是代碼。

這是我將$ _REQUEST值分配給$ id的位置,但我一直在收到「未設置」。

<?php 
    require ("db.php"); 

    if(isset($_REQUEST["ID"])){ 

    $id= $_REQUEST["ID"]; 


} 
echo "Not set"; 

?> 

這是我在上面函數調用的代碼。 <a href='edit.php?ID = $id'>Edit</a>

<?php 

     require "db.php"; 
     if(isset($_POST['show'])){ 
     $query = "SELECT * FROM person"; 
     $result = mysqli_query($connection, $query); 
     $row = ''; 
     $id = ""; 
     echo "<table style = 'border = 1px solid, width: 350px;'>"; 
     echo "<tr>"; 
     echo "<td>ID</td>"; 
     echo "<td><b>FIRST</b></td>"; 
     echo "<td><b>LAST</b></td>"; 
     echo "<td><b>EMAIL</b></td>"; 
     echo "<td><b>TELEPHONE</b></td>"; 
     echo "<td><b>GENDER</b></td>"; 
     echo "</tr>"; 

     while($row = mysqli_fetch_array($result)){ 
      $id = $row['ID']; 
      echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]. 
      "</td><td>".$row[5]."</td><td>"."<a href='edit.php?ID = $id'>Edit</a>"."</td></tr>"; 

     } 
     echo "</table>"; 

     mysqli_close($connection); 

     } 
    ?> 
+3

應該有ID和等號之間的網址中沒有空格:ID = $ id' – barell

+0

旁註':'邊界:1px的固體;寬度:350px' | PHP可以處理多行字符串文字,因此您的九個連續回聲可以縮小到一個,而不會丟失任何可讀性|問題的意見:而不是連接字符串'string1。 string2'你可以將它們作爲單個參數傳遞給回聲,就像'echo'​​',$ row [0],...'| |將數據庫值傳遞給'htmlentities()',然後將其打印到「html瀏覽器以避免」html注入「(這是一個術語?你將位置結果字段與命名字段'$ row ['ID']'vs'$ row [0]'混合在一起,因爲imho命名的字段對於可維護性更好 – VolkerK

+0

@barell:謝謝你現在工作的人沒有空間這件事很重要。再次感謝 – Shah

回答

0

添加else語句是這樣的:

<?php 
require ("db.php"); 

if(isset($_REQUEST["ID"])){ 

$id= $_REQUEST["ID"]; 


} else { 
    echo "Not set"; 
} 
?> 
+0

沒有設置的部分工作,因爲我在我的評論中提到。 – Shah