2017-04-17 51 views
1

我有兩個.php頁面,其中一個返回表格的內容,包括每個條目的id以及一個html文本輸入,另一個檢索細節並允許我更新記錄。設置php獲取設置變量超鏈接

我想通過點擊列表項目使用href而不是不得不文本輸入id和提交存儲條目的id。

choose.php

echo "<ul>";      
while ($row=mysql_fetch_array($result)) { 
    $reference=$row[reference]; 
    $name=$row[name]; 
    echo "<li>$reference, $name</li>"; 
} 
echo "</ul>";  


session_start(); 

$_SESSION['regName'] = $reference; 
mysql_close($link); 
?> 

<form method="get" action="update.php"> 
    <input type="text" name="regName" value=""> 
    <input type="submit"> 
</form> 

update.php

session_start(); 

$reference = $_GET['regName']; 

echo "Your selection id is: ".$reference."."; 
$query="SELECT * FROM firsttable WHERE reference='$reference'"; 
$result=mysql_query($query) or die("Query to get data from firsttable failed with this error: ".mysql_error()); 
$row=mysql_fetch_array($result); 

$name=$row[name]; 

echo "<form method=\"POST\" action=\"updated.php\">"; 
    echo "<p>"; 
     echo "<label for=\"name\">Name: </label><input type=\"text\" id=\"name\" name=\"name\" size=\"30\" value=\"$name\"/>"; 

    echo "<p><input type=\"submit\"></p>"; 
echo "</form>"; 

我道歉,如果這似乎很明顯,我纔開始學習PHP截至今日,它的很多比什麼更復雜到現在我已經完成了。

感謝 詹姆斯

+1

***請[停止使用'mysql_ *'函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。*** [這些擴展名](http://php.net/manual/en/migration70.removed-exts-sapis.php)已在PHP 7中刪除。瞭解[prepared](http://en.wikipedia.org/wiki/Prepared_statement)語句[PDO](http://php.net/manual/en/pdo.prepared-statements.php)和[MySQLi](http://php.net/manual/en/mysqli.quickstart。 prepared-statements.php)並考慮使用PDO,[這真的很簡單](http://jayblanchard.net/demystifying_php_pdo.html)。 –

+1

[Little Bobby](http://bobby-tables.com/)說*** [你的腳本存在SQL注入攻擊風險。](http://stackoverflow.com/questions/60174/how-can- I-防止-SQL注入式-PHP)***。即使[轉義字符串](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)是不安全的! –

+0

應該很容易;你嘗試了什麼? –

回答

0

回答你的問題,你只需要使用一個標籤的HREF參數。這將使活動鏈接,其中將包含你需要一個參考:

echo '<ul>';      
while ($row = mysql_fetch_array($result)) { 
    $reference = $row[reference]; 
    $name = $row[name]; 
    echo '<li><a href=/update.php?regName='.$reference.'>'.$name.'</a></li>'; 
} 
echo '</ul>';  
?> 

這裏瞭解更多詳情關於通過GET傳遞數據\ POST:https://www.w3schools.com/tags/ref_httpmethods.asp

,並象上面被告知,請考慮重新佈線因爲它是完全不安全的代碼,除了一些非常基本的概念證明之外不能被使用。只在Intranet或本地機器內部。
祝你好運!