2012-01-03 54 views
0

我使用的是我的其他網站上使用的相同工作代碼,以及一些奇怪的原因,它不會回顯我的數據庫中的「標題」字段。這是我的代碼:字段沒有被回覆到文本字段

<?php 
$id = $_GET['meeting_id']; 

$query = mysql_query("SELECT * FROM Meetings WHERE meeting_id = '$id'") 
or die(mysql_error()); 

while($info = mysql_fetch_array($query)) { 
echo ""; 

$title = $info['title']; 

} 
?> 

<form action="bookedsuccessfully.php" method="post"> 

<table width="100%" border="0"> 
    <tr> 
    <td><label>Meeting Title:</label></td> 
    <td><input type="text" value="<?php echo $title;?>" name="title" disabled/></td> 
    </tr> 
... 

我想顯示標題,但要禁用任何編輯的字段。 有幫助嗎?

+0

您確定$ title變量不爲空或空嗎? – 2012-01-03 20:52:07

+0

你的代碼很容易出現SQL注入問題http://stackoverflow.com/questions/601300/what-is-sql-injection – konsolenfreddy 2012-01-03 20:52:23

+0

它不爲空也不爲空 – user1114080 2012-01-03 20:52:39

回答

0

說不上什麼是你的問題,但

領域從任何編輯被禁用。

是因爲disabled屬性,我相信。

而代碼本身應該工作

很少重構和刪除不必要的代碼,這將是

<?php 
error_reporting(E_ALL); 
$query = "SELECT * FROM Meetings WHERE meeting_id = ".intval($_GET['meeting_id']; 
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query); 
$info = mysql_fetch_array($result)); 
$title = htmlspecialchars($info['title']); 
?> 
<form action="bookedsuccessfully.php" method="post"> 
<table width="100%" border="0"> 
    <tr> 
    <td><label>Meeting Title:</label></td> 
    <td><input type="text" value="<?php echo $title ?>" name="title" /></td> 
    </tr> 
0

如果你不想編輯的字段,不使它作爲表單元素。 而不是:<input type="text" value="<?php echo $title;?>" name="title" disabled/> 使用:<p> <?php echo $title;?> <p/> 關於您的數據庫問題,請嘗試回顯會議ID並檢查它是否在數據庫中。正如其他人發佈的,你完全接觸到SQL注入,如果有人只知道你的域名,他可以完全控制你的數據庫。