【问题标题】:Form not POSTing values表单不发布值
【发布时间】:2013-08-07 18:44:45
【问题描述】:

表格:

<form id="register" method="POST" action="pro/register.php">
    <input type="text" maxlength="30" placeholder="Username" id="user" /><br />
    <input type="email" maxlength="64" placeholder="Email" id="email" /><br />
    <input type="password" placeholder="Password" id="pass1" /><br />
    <input type="password" placeholder="Confirm Password" id="pass2" /><br />
    <input type="submit" value="Register" id="submit_register" />
</form>

pro/register.php页面

$user = $_POST['user'];
$email = $_POST['email'];
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];

//Debug only
echo "<strong>Details:</strong><br>";
echo $user.", ".$email.", ".$pass1.", ".$pass2."<br>";

if($pass1!==$pass2){
    header('Location:../login.php?alert=pass');
    exit;
}

$hash = hash('sha256', $pass);

include "../inc/functions.php";

$salt = createSalt();
$hash = hash('sha256', $salt . $hash);

include "../inc/connect.php";

$stmt = $dbh->prepare("INSERT INTO `users` 
                (`username`,`email`,`password`,`salt`,`pic`) 
                VALUES (:username,:email,:password,:salt,:pic)");
$stmt->bindParam(':username',$user);
$stmt->bindParam(':email',$email);
$stmt->bindParam(':password',$hash);
$stmt->bindParam(':salt',$salt);
$stmt->bindParam(':pic',$pic);
$stmt->execute();
$dbh=NULL;

header('Location:../login.php?alert=newreg');

表单发布时的输出:

Details:
, , , 

【问题讨论】:

  • 如果在元素中添加name会怎样?
  • 您没有为任何输入设置名称...
  • 感谢您指出这一点。我认为它采用了 ID 值。
  • @BenPearlKahan 您可能还会遇到另一个问题。尝试在$user = $_POST['user']; 之上添加if(isset($_POST['submit'])) 以防万一 - 它以前发生过。

标签: php html forms


【解决方案1】:
<input type="text" maxlength="30" placeholder="Username" id="user" name="user"/><br />

尝试添加名称字段。

【讨论】:

  • @BenPearlKahan 作为一般规则,javascript/css 使用 ID,表单使用名称
【解决方案2】:

您必须在表单输入中包含“名称”属性,这决定了值在 $_POST 中的位置。

【讨论】:

    猜你喜欢
    • 2020-09-21
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    相关资源
    最近更新 更多