源码如下<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
--><html>
<head>
<meta charset="UTF-8">
<link href="css/formstyle.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.all.min.js"></script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="utf-8" src="ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript">
var editor = new UE.ui.Editor();
editor.render("myEditor");
//1.2.4以后可以使用一下代码实例化编辑器
//UE.getEditor('myEditor')
</script>
<title></title>
</head>
<body>
<?php
require 'inc/connect_mysql.php';
//require 'lib/header.html';
echo '编辑文章';
if((isset($_GET['id'])) && (is_numeric($_GET['id'])) ){
$id = $_GET['id'];
}elseif ((isset ($_POST['id'])) && (is_numeric($_POST['id'])) ) {
$id = $_POST['id'];
} else {
echo '<p>页面错误.</p>';
exit();
}
//check if the form has been submitted;
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$errors = array();
if(empty($_POST['cla_id'])){
$errors = 'article type is null.';
} else {
$cla_id = mysqli_real_escape_string($dbc, trim($_POST['cla_id']));
}
//check for a titles
if(empty($_POST['title'])){
$errors [] = 'you forgot to enter title.';
} else {
$title = mysqli_real_escape_string($dbc, trim($_POST['title']));
} //check for a content
if(empty($_POST['content'])){
$errors[] = 'you forgot to enter content.';
} else {
$content = mysqli_real_escape_string($dbc,trim($_POST['content']));
}
if(empty($_POST['author'])){
$errors[] = 'you forgot to enter content.';
} else {
$author = mysqli_real_escape_string($dbc,trim($_POST['author']));
} if(empty($errors)){
$q = "SELECT n_id FROM news WHERE cla_id AND n_id !=$id";
$r = @mysqli_query($dbc, $q);
if(mysqli_num_rows($r) == 0 ){
$q = "UPDATE news SET cla_id='$cla_id', title='$title',content='$content', author='$author' WHERE n_id=$id ";
$r = @mysqli_query($dbc, $q);
if(mysqli_affected_rows($dbc) == 1){
echo '<p>文章更新完成</p>';
} else {
echo '<p class="error">The user could not be edited due to a system error. We apologize for any inconvenience.</p>'; // Public message.
echo '<p>' . mysqli_error($dbc) . '<br />Query: ' . $q . '</p>'; // Debugging message.
}
} else {
echo '<p class="error">The following error(s) occurred:<br />';
foreach ($errors as $msg) { // Print each error.
echo " - $msg<br />\n";
echo '<p>' . mysqli_error($dbc) . '<br />Query: ' . $q . '</p>'; // Debugging message.
}
echo '</p><p>Please try again.</p>';
}
}
} $q = "SELECT cla_id, title,content,author FROM news WHERE n_id=$id";
$r = @mysqli_query($dbc, $q);
if(mysqli_num_rows($r) == 1 ){
$forumssql ="SELECT * FROM newsclass ORDER BY news_type;";
$forumsresult =@mysqli_query($dbc, $forumssql) ;
echo ' <form action="edit_article.php" method="post" accept-charset="urf-8">'; echo "文章类型 -- <select name=cla_id>";
while($forumsrow = mysqli_fetch_assoc($forumsresult)){
echo"<option value='" . $forumsrow['cla_id'] . "'>" . $forumsrow['news_type'] ."</option>";
}
echo "</select>"; $row = mysqli_fetch_array($r, MYSQLI_NUM);
//echo '<p><em>文章类型:</em><input name="mid" type="text" size="60" maxlength="100" value="'.$row[0] .'" /></p>';
echo '<p><em>文章标题:</em><input name="title" type="text" size="60" maxlength="100" value="'.$row[1] .'" /></p>';
echo '<p><em>作者:</em><input name="author" type="text" size="60" maxlength="100" value="'.$row[1] .'" /></p>';
echo '<table width="600"><tr><td>';
echo '<p><em>文章内容</em>: <textarea name="content" id="myEditor" value="'.$row[2].'"></textarea></p>' ;
echo '</td></tr></table>';
echo '<input name="submit" type="submit" value=" 提交" />
<input type="hidden" name="id" value="' . $id . '" />
</form>';
}
else { // Not a valid user ID.
echo '<p class="error">This page has been accessed in error.</p>';
}//mysqli_close($dbc);
?> </body>
</html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
--><html>
<head>
<meta charset="UTF-8">
<link href="css/formstyle.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.all.min.js"></script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" charset="utf-8" src="ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript">
var editor = new UE.ui.Editor();
editor.render("myEditor");
//1.2.4以后可以使用一下代码实例化编辑器
//UE.getEditor('myEditor')
</script>
<title></title>
</head>
<body>
<?php
require 'inc/connect_mysql.php';
//require 'lib/header.html';
echo '编辑文章';
if((isset($_GET['id'])) && (is_numeric($_GET['id'])) ){
$id = $_GET['id'];
}elseif ((isset ($_POST['id'])) && (is_numeric($_POST['id'])) ) {
$id = $_POST['id'];
} else {
echo '<p>页面错误.</p>';
exit();
}
//check if the form has been submitted;
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$errors = array();
if(empty($_POST['cla_id'])){
$errors = 'article type is null.';
} else {
$cla_id = mysqli_real_escape_string($dbc, trim($_POST['cla_id']));
}
//check for a titles
if(empty($_POST['title'])){
$errors [] = 'you forgot to enter title.';
} else {
$title = mysqli_real_escape_string($dbc, trim($_POST['title']));
} //check for a content
if(empty($_POST['content'])){
$errors[] = 'you forgot to enter content.';
} else {
$content = mysqli_real_escape_string($dbc,trim($_POST['content']));
}
if(empty($_POST['author'])){
$errors[] = 'you forgot to enter content.';
} else {
$author = mysqli_real_escape_string($dbc,trim($_POST['author']));
} if(empty($errors)){
$q = "SELECT n_id FROM news WHERE cla_id AND n_id !=$id";
$r = @mysqli_query($dbc, $q);
if(mysqli_num_rows($r) == 0 ){
$q = "UPDATE news SET cla_id='$cla_id', title='$title',content='$content', author='$author' WHERE n_id=$id ";
$r = @mysqli_query($dbc, $q);
if(mysqli_affected_rows($dbc) == 1){
echo '<p>文章更新完成</p>';
} else {
echo '<p class="error">The user could not be edited due to a system error. We apologize for any inconvenience.</p>'; // Public message.
echo '<p>' . mysqli_error($dbc) . '<br />Query: ' . $q . '</p>'; // Debugging message.
}
} else {
echo '<p class="error">The following error(s) occurred:<br />';
foreach ($errors as $msg) { // Print each error.
echo " - $msg<br />\n";
echo '<p>' . mysqli_error($dbc) . '<br />Query: ' . $q . '</p>'; // Debugging message.
}
echo '</p><p>Please try again.</p>';
}
}
} $q = "SELECT cla_id, title,content,author FROM news WHERE n_id=$id";
$r = @mysqli_query($dbc, $q);
if(mysqli_num_rows($r) == 1 ){
$forumssql ="SELECT * FROM newsclass ORDER BY news_type;";
$forumsresult =@mysqli_query($dbc, $forumssql) ;
echo ' <form action="edit_article.php" method="post" accept-charset="urf-8">'; echo "文章类型 -- <select name=cla_id>";
while($forumsrow = mysqli_fetch_assoc($forumsresult)){
echo"<option value='" . $forumsrow['cla_id'] . "'>" . $forumsrow['news_type'] ."</option>";
}
echo "</select>"; $row = mysqli_fetch_array($r, MYSQLI_NUM);
//echo '<p><em>文章类型:</em><input name="mid" type="text" size="60" maxlength="100" value="'.$row[0] .'" /></p>';
echo '<p><em>文章标题:</em><input name="title" type="text" size="60" maxlength="100" value="'.$row[1] .'" /></p>';
echo '<p><em>作者:</em><input name="author" type="text" size="60" maxlength="100" value="'.$row[1] .'" /></p>';
echo '<table width="600"><tr><td>';
echo '<p><em>文章内容</em>: <textarea name="content" id="myEditor" value="'.$row[2].'"></textarea></p>' ;
echo '</td></tr></table>';
echo '<input name="submit" type="submit" value=" 提交" />
<input type="hidden" name="id" value="' . $id . '" />
</form>';
}
else { // Not a valid user ID.
echo '<p class="error">This page has been accessed in error.</p>';
}//mysqli_close($dbc);
?> </body>
</html>
The following error(s) occurred:Please try again.我写的错误提示貌似没有出来,为什么呢
The following error(s) occurred:Please try again.我写的错误提示貌似没有出来,为什么呢你的$errors是空的啊,所以foreach根本就没有执行,而且你if (empty($errors)) 个人认为逻辑也有问题,应该是非空判断,而你判断的是如果空才执行foreach,总而言之就是你$errors是个空数组,也就是上面的那些if判断没有走进去,进而得到结论,你输入的数据很规范
$q = "SELECT n_id FROM news WHERE cla_id AND n_id !=$id";
$r = @mysqli_query($dbc, $q);
这里的结果数不为0,所以没有走下面的if里面的update,而是直接走进了else的 "Please try again."