所以我已经让这段代码正常工作了,这样它就可以将新闻插入到它的表中,但问题是如果需要的话,之后会编辑新闻。
我已经尝试了不同的方法,但它似乎没有工作的句号。
<?
if(!$id)
echo("Please choose a page to edit..");
elseif($id==edit)
{
$select = mysql_query("select * from news where newsid = '$id'");
$article = mysql_fetch_array($select);
?>
<form action="edit-news.php?id=edited" method="post">
Title:<br />
<input name="readuser" type="text" value="<? echo("$article[title]");?>" size="70" />
Article Content:<br />
<textarea name="pageuser" cols="40" rows="6"><? echo("$article[text1]");?></textarea>
<br />
<br />
<input type="submit" value="Update article" />
</form>
<?
}
elseif($page==edited)
{
$text1 = $_POST[pageuser];
$title = $_POST[readuser];
$updateit = mysql_query("update news set text1 = '$text1' AND title = '$title' where newsid = $id");
echo("Article updated");
}
?>在访问页面时,我不再收到错误消息(谢天谢地!)但它并不是在编辑文章。
发布于 2012-12-19 16:07:51
为您的文本输入和文本输入赋值,以便它们显示文章以进行编辑:
<input name="title" size="40" maxlength="255" value="<?php echo htmlspecialchars($title); ?>">
<textarea name="text1" rows="7" cols="30"><?php echo htmlspecialchars($text1); ?></textarea>
<textarea name="text2" rows="7" cols="30"><?php echo htmlspecialchars($text2); ?></textarea>还要将<?php echo $PHP_SELF ?>更改为:
<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>旁注:mysql_*已被弃用,请将MySQLi或PDO与预准备语句一起使用。您的查询容易受到SQL注入的攻击。一个简单的解决方法是:
mysql_query("SELECT * FROM news WHERE newsid='" . (int)$_GET['newsid'] . "'",$connect);此外,mysql_real_escape_string()比mysql_escape_string()更好,因为后者不考虑字符集。不过,这两种方法都比不上准备好的语句。
发布于 2012-12-19 16:15:48
试试这个:
UPDATE news SET title = '$title', dtime = NOW(), text1 = '$text1', text2 = '$text2' WHERE newsid = '$newsid'https://stackoverflow.com/questions/13947928
复制相似问题