Php 无法提交表单,只需点击第一个验证错误

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

当我提交表单时,我遇到了第一个验证错误。没有数据发布

我对stackOverflow和数据库场景都是新手。为了得到我所拥有的,我用了一些图坦卡蒙和书

希望有人能帮助我

    $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。对它进行排序。