我在管理我的web內容的數據庫。當你點擊一個certian頁面時,會對db進行查詢以返回該頁面的內容。 Usualy我只是將靜態HTML存儲爲一個字符串,當它從數據庫返回並放入網頁時,它會正確呈現。但是現在,其中一些內容實際上包含了php,並且在返回時,php將顯示爲文本。我查看了eval()函數,但似乎沒有爲我工作,或者我錯誤地使用它。從數據庫返回php並呈現代碼
這裏是和示例代碼的我:
mysql_select_db("default_DB1", $con);
$result = mysql_query("SELECT * FROM submenus WHERE active = '1' and menu_id='" . $_GET['article'] . "'");
echo "<ul>\n";
$counter = 1;
while($row = mysql_fetch_array($result))
{
echo "<li><a href=\"#tabs-" . $counter . "\" onclick=\"storySize('tabs-" . $counter . "');\">" . $row['submenu_name'] . "</a></li>\n";
$counter = $counter + 1;
}
echo "</ul>\n";
$counter = 1;
$result2 = mysql_query("SELECT * FROM submenus WHERE active = '1' AND menu_id='" . $_GET['article'] . "'");
while($row2 = mysql_fetch_array($result2))
{
echo "<div id=\"tabs-" . $counter . "\" style=\"height:100%; overflow:visible;\">" . str_replace("*#*","'",$row2['submenu_content']) . "</div>\n";
$counter = $counter + 1;
}
mysql_close($con);
然後返回的內容是:
<table width="100%">
<tr>
<td align="right">Username: </td>
<td align="left"><input type="text" id="txtUsername" name="txtUsername" value=""></td>
</tr>
<tr>
<td align="right">Password: </td>
<td align="left"><input type="text" id="txtPassword" name="txtPassword" value=""></td>
</tr>
<tr>
<td>User Type</td><td><select id="ddlUserType" name="ddlUserType">
$con = mysql_connect("domain.com","username","pwd");
if (!$con)
{
die(#*#Could not connect: #*# . mysql_error());
}
mysql_select_db("default_DB1", $con);
$result = mysql_query("SELECT * FROM user_types WHERE user_type_name <> #*#Admin#*# and active = #*#1#*#");
while($row = mysql_fetch_array($result))
{
echo "<option value=\"" . $row[#*#user_type_id#*#] . "\">" . $row[#*#user_type_name#*#] . "</option>";
}
mysql_close($con);
</select></td>
</tr>
<tr>
<td align="right"></td>
<td align="left"><input type="button" id="txtReg" name="txtReg" value="Register" onclick="alert(*#*plaka*#*);"></td>
</tr>
</table>
'「SELECT * FROM submenus WHERE acti ve ='1'和menu_id ='「。 $ _GET ['article']。 「''」你應該真的重新考慮這一點,因爲這樣的代碼非常不安全並且很危險。 – DrColossos 2010-06-30 17:38:17