Php 无法提交表单,只需点击第一个验证错误
当我提交表单时,我遇到了第一个验证错误。没有数据发布 我对stackOverflow和数据库场景都是新手。为了得到我所拥有的,我用了一些图坦卡蒙和书 希望有人能帮助我Php 无法提交表单,只需点击第一个验证错误,php,validation,post,Php,Validation,Post,当我提交表单时,我遇到了第一个验证错误。没有数据发布 我对stackOverflow和数据库场景都是新手。为了得到我所拥有的,我用了一些图坦卡蒙和书 希望有人能帮助我 $itemid = $_GET['page_id']; $itemid = mysql_real_escape_string($itemid); //get data from database that needs editing $sql = mysql_query("SELECT * FROM co
$itemid = $_GET['page_id'];
$itemid = mysql_real_escape_string($itemid);
//get data from database that needs editing
$sql = mysql_query("SELECT * FROM content WHERE `page_id`='{$itemid}'")or die(mysql_error());
//if(!$sql) die ("Database access failed" . mysql_error());
if(isset($_POST['submit'])){
//start validation
//check fields are not empty
if(empty($pagetitle)) {
$error['page_title'] = 'enter a title.';
}
$pagecontent = trim($_POST['page_content']);
if(empty($pagecontent)){
$error['page_content'] = 'Please enter your content.';
}
//If validation is ok... cary on.. do this
if (!$error) {
$pageid = $_POST['page_id'];
$pagetitle = $_POST['page_title'];
$pagecontent = $_POST['page_content'];
//Update items
$sql = "UPDATE content SET page_title ='$pagetitle', page_content ='$pagecontent' WHERE page_id='$itemid'";
$resultupdate = mysql_query($sql)or die (mysql_error());
//Success Message
echo "Your site is now updated";
}//close if !error
}//close if form submit
//input validation checks input not empty
if (isset($error['page_title'])) {
echo "<p><span class=\"warning\">" . $error['page_title']."</span><p> ";
}
if (isset($error['page_content'])) {
echo "<p><span class=\"warning\">" . $error['page_content']."</span><p> ";
}
?>
<div>
<?php while ($row = mysql_fetch_object($sql)) { ?>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<input type="hidden" name="page_id" value="<?php echo $row->page_id; ?>" />
<div class="edit-title">
<h2><label>Page Title</label></h2>
<p><textarea name="page_title"><?php echo $row->page_title; ?></textarea></p>
</div><!-- end edit title -->
<div class="edit-content">
<h2><label>Page Content</label></h2>
<p><textarea name="page_content"><?php echo $row->page_content; ?></textarea></p>
</div><!-- end edit content -->
<div class="submit-form">
<input type="submit" name="submit" value="Update" />
</div>
</form>
<?php } ?>
</div>
$itemid=$\u GET['page\u id'];
$itemid=mysql\u real\u escape\u字符串($itemid);
//从需要编辑的数据库中获取数据
$sql=mysql\u query(“从`page\u id`='{$itemid}'”的内容中选择*)或die(mysql\u error());
//如果(!$sql)死亡(“数据库访问失败”。mysql_error());
如果(isset($_POST['submit'])){
//开始验证
//检查字段不为空
如果(空($pagetitle)){
$error['page_title']='输入标题';
}
$pagecontent=trim($_POST['page_content']);
if(空($pagecontent)){
$error['page_content']='请输入您的内容';
}
//如果验证正常…请继续…执行此操作
如果(!$error){
$pageid=$\u POST['PAGEU id'];
$pagetitle=$\u POST['PAGEU title'];
$pagecontent=$\u POST['page\u content'];
//更新项目
$sql=“更新内容集页面\u title='$pagetitle',页面\u content='$pagecontent',其中页面\u id='$itemid';
$resultupdate=mysql\u query($sql)或die(mysql\u error());
//成功信息
echo“您的站点现在已更新”;
}//关闭if!错误
}//如果表单提交,则关闭
//输入验证检查输入是否为空
如果(isset($error['page_title'])){
echo“”$error['page_title']。“”;
}
if(设置($error['page_content'])){
echo“”$error['page_content']。“”;
}
?>
如果检查$pagetitle
是否存在,但未对其进行初始化,则应将:
if(empty($_POST['page_title'])) { ... }
编辑:
if(isset($_POST['submit'])){
//start validation
//check fields are not empty
if(empty($_POST['page_title'])) {
$error['page_title'] = 'enter a title.';
}
$pagecontent = trim($_POST['page_content']);
if(empty($pagecontent)){
$error['page_content'] = 'Please enter your content.';
}
//If validation is ok... cary on.. do this
if (!$error) {
$pageid = $_POST['page_id'];
$pagetitle = $_POST['page_title'];
$pagecontent = $_POST['page_content'];
//Update items
$sql = "UPDATE content SET page_title ='$pagetitle', page_content ='$pagecontent' WHERE page_id='$itemid'";
$resultupdate = mysql_query($sql)or die (mysql_error());
//Success Message
echo "Your site is now updated";
}//close if !error
}//close if form submit
对不起,您能更准确地说明错误的来源和原因吗?如果(isset($_POST['submit']){//start validation//check字段不是空的,如果(empty($pagetitle)){$error['PageU title']='输入标题';}它总是第一次验证——“输入标题”,我在文本框中更改的任何内容都会被清除。但是,当我使用验证进行检查时,我会发布这些字段是否为空。(下面几行)如果(!$error){$pageid=$\u POST['page\u id'];$pagetitle=$\u POST['page\u title'];$pagecontent=$\u POST['page_content'];因此,也许我应该更准确一些。为什么提交页面时,页面会给我相同的错误。“输入您的标题”-即使有标题。$pagetitle在“if(!$error)”中初始化语句,在此之前该变量不存在,所以如果您测试它是否为空,它将始终为trueCheers@moonyoh。对它进行排序。