我正在尝试制作一个表格,以便我的站点成员可以编辑已经在数据库上制作的指南。
我对 php 和数据库还很陌生,但如果您能花点时间看看我的一些编码,我将不胜感激。
$id = $_GET['id'];
$guides = mysql_fetch_array(mysql_query("SELECT * FROM guides WHERE id = '$id'"));
形式是:
<center>
<FORM ACTION="edit_guide.pro.phpid=$id" enctype="multipart/form-data" METHOD=POST>
<table width="446" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><center>Edit a Guide</center></td>
</tr>
<tr>
<td width="79">Made By:</td>
<td width="367"><input type="text" name="madeby" value="$guides[username]"></td>
</tr>
<tr>
<td>Name of Guide:</td>
<td><input type="text" name="name" value="$guides[name]"></td>
</tr>
<tr>
<td>Filed Under:</td>
<td><select name=filedunder>
<option value=guides>Guides
<option value=dailies>Dailies Guides
<option value=gg#h>Game Guides # - H
<option value=ggiq>Game Guides I - Q
<option value=ggrz>Game Guides R - Z
<option value=helpfulguides>Helpful Guides
<option value=newbie>Newbie Guides
</select></td>
</tr>
<tr>
<td valign="top">Content:</td>
<td><textarea name="coding" cols="50" rows="35" value="">$guides[coding]</textarea></td>
</tr>
<tr>
<td>Key Word 1</td>
<td><input type="text" name="key1" value="None"></td>
</tr>
<tr>
<td>Key Word 2</td>
<td><input type="text" name="key2" value="None"></td>
</tr>
<tr>
<td>Key Word 3</td>
<td><input type="text" name="key3" value="None"></td>
</tr>
<tr>
<td>Key Word 4</td>
<td><input type="text" name="key4" value="None"></td>
</tr>
<tr>
<td>Key Word 5</td>
<td><input type="text" name="key5" value="None"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2"><center><font size="-1"><i>
<input type=submit name=Submit value="Edit">
</i></font></center></td>
</tr>
</table></FORM>
<p> </p></center>
但是,当我通过站点查看指南时,单击编辑(这会将您带到具有上述编码的页面)所有论坛区域都是空白的,就像您正在添加新指南一样。
edit_guides.pro.php 编码为:
$id=$_GET['id'];
$madeby = $_POST['madeby'];
$name = $_POST['name'];
$coding = $_POST['coding'];
$key1 = $_POST['key1'];
$key2 = $_POST['key2'];
$key3 = $_POST['key3'];
$key4 = $_POST['key4'];
$key5 = $_POST['key5'];
$filedunder = 'guides';
$filedunder2 = $_POST['filedunder'];
if ((!$madeby) OR (!$name) OR (!$coding) OR (!$filedunder2) OR (!$key1) OR (!$key2) OR (!$key3) OR (!$key4) OR (!$key5))
{
die(header("Location: $baseurl/staff/edit_guides.php?id=$id&error=Please+do+not+leave+any+info+blank."));
}
else
{
mysql_query("UPDATE guides SET header = '$madeby' WHERE id = '$id'");
mysql_query("UPDATE guides SET header = '$name' WHERE id = '$id'");
mysql_query("UPDATE guides SET subheader = '$filedunder2' WHERE id = '$id'");
mysql_query("UPDATE guides SET news = '$coding' WHERE id = '$id'");
mysql_query("UPDATE guides SET header = '$key1' WHERE id = '$id'");
mysql_query("UPDATE guides SET header = '$key2' WHERE id = '$id'");
mysql_query("UPDATE guides SET header = '$key3' WHERE id = '$id'");
mysql_query("UPDATE guides SET header = '$key4' WHERE id = '$id'");
mysql_query("UPDATE guides SET header = '$key5' WHERE id = '$id'");
header("Location: $baseurl/staff/index1.php?error=The+news+has+been+updated+:)");
我还不能进入这个页面,正如我上面所说的,Edit_guide 页面就像你在添加新的指南一样。
谁能看到它为什么这样做的问题?我哪里错了?
改变了
$guides = mysql_fetch_array(mysql_query("SELECT * FROM guides WHERE id = '$id'"));
至
$guides = mysql_escape_string(mysql_query("SELECT * FROM guides WHERE id = '$id'"));
现在编辑指南,在表单中显示 R。所以你有了
制作人:R
名称:R
内容:R