【问题标题】:PHP form not submitting correctlyPHP 表单未正确提交
【发布时间】:2017-12-21 07:30:38
【问题描述】:

我有一个基于查询显示用户数据的表单。该表单旨在允许用户更新其用户帐户信息。即,名字、姓氏、电子邮件地址等。

account.php - 表单

<form class="form-horizontal" role="form" method="post" action="">
                <div class="form-group">
                    <label class="col-lg-3 control-label">First name:</label>
                    <div class="col-lg-8">
                        <input class="form-control" name="fName" type="text" placeholder="<?php echo $fName ?>">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-lg-3 control-label">Last name:</label>
                    <div class="col-lg-8">
                        <input class="form-control" name="lName" type="text" placeholder="<?php echo $lName ?>">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-lg-3 control-label">Email:</label>
                    <div class="col-lg-8">
                        <input class="form-control" name="emailAddress" type="text" placeholder="<?php echo $emailAddress ?>">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label">Username:</label>
                    <div class="col-md-8">
                        <input class="form-control" name="username" type="text" placeholder="<?php echo $username ?>">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label">Password:</label>
                    <div class="col-md-8">
                        <input class="form-control" name="password" type="password">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label">Confirm password:</label>
                    <div class="col-md-8">
                        <input class="form-control" name="confirmPassword" type="password">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-md-3 control-label"></label>
                    <div class="col-md-8">
                        <input class="btn btn-primary" value="Update" name="updateaccount" type="button">
                        <span></span>
                        <input class="btn btn-default" value="Cancel" type="reset">
                    </div>
                </div>
            </form>

updateaccount.php

<?php

$msg = "";
if(isset($_POST["updateaccount"]))
{
    $fName = $_POST["fName"];
    $lName = $_POST["lName"];
    $username = $_POST["username"];
    $emailAddress = $_POST["emailAddress"];
    $password = $_POST["password"];

    $fName = mysqli_real_escape_string($db, $fName);
    $lName = mysqli_real_escape_string($db, $lName);
    $username = mysqli_real_escape_string($db, $username);
    $emailAddress = mysqli_real_escape_string($db, $emailAddress);
    $password = mysqli_real_escape_string($db, $password);
    $password = md5($password);


    $sql="SELECT emailAddress FROM users WHERE emailAddress='$emailAddress'";
    $result=mysqli_query($db,$sql);
    $row=mysqli_fetch_array($result,MYSQLI_ASSOC);
    if(mysqli_num_rows($result) == 1)
    {
        $msg = "Sorry...This email already exists";
    }
    else
    {
        $query = mysqli_query($db, "INSERT INTO users (fName, lName, username, emailAddress, password)VALUES ('$fName', '$lName', '$username', '$emailAddress, '$password')");
        if($query)
        {
            $msg = "Your account has been updated";
        }
    }
}
?>

上面的代码是在account.php页面调用的:

include ("getuseraccount.php");

我错过了什么吗?

【问题讨论】:

    标签: php forms mysqli


    【解决方案1】:

    您正在使用输入类型按钮而不是提交更新按钮。使用“提交”类型而不是“按钮”类型。 <input class="btn btn-primary" value="Update" name="updateaccount" type="button">

    试试

       <input class="btn btn-primary" value="Update" name="updateaccount" type="submit">
    

    【讨论】:

    • 呃,我没想到。谢谢
    【解决方案2】:

    除非您使用 Ajax 提交表单(您没有提及,否则您需要添加要提交表单信息的文件。

    <form class="form-horizontal" role="form" method="post" action="updateaccount.php">
    

    【讨论】:

    • 如果我包含文件,我还需要那个吗?旁注......当我将 updateaccount.php 引用添加到它仍然不提交的操作方法时。
    • 在不知道 useraccount.php 文件中的内容的情况下,我无法确定它的去向。它可能没有提交,但这可能只是发现的另一个错误。 updateaccount.php 是否与表单在同一目录中?如果没有,您将不得不调整实际路径=还有许多其他可能出错的事情。
    猜你喜欢
    • 2016-01-07
    • 2019-08-31
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 2014-06-02
    • 2023-02-16
    • 2018-01-02
    • 1970-01-01
    相关资源
    最近更新 更多