空白表单处理页面

  • 本文关键字:处理 表单 空白 php
  • 更新时间 :
  • 英文 :


我已经编写了一个注册系统,现在正在页面上更新个人资料。问题是,当您提交表单时,处理页面绝对是空白的。完全没有文本,根本没有处理。任何人都可以帮助排除故障吗?

用户CP.php

<form action="doUser.php" method="post">
<strong>Email</strong><br>
<input type="text" value="<?php echo $e; ?>" name="email"><br>
<strong>Please enter password to confirm</strong><br>
<input type="password" name="pass"><br>
<input type="submit" value="Go!"></form>

用户.php

<div id="content">
<p>What is going on</p>
<?php
$e = $_POST["email"];
$p = $_POST["pass"];
echo $e;
if(isset($e)) {
    $query = $db->prepare("SELECT pass FROM users WHERE id=:i");
    $query->bindParam(':i',$i);
    $query->execute();
    $result=$query->fetch();
    $password = $result['pass'];
    $check = password_verify($p, $password);
        if($check) {
            $query->prepare("UPDATE users SET email=':e'");
            $query->bindParam(':e', $e);
            $query->execute();
            header("Location: usercp.php");
            }
        else {
            echo "Incorrect password.";
            }
else {
    echo "You didn't enter a new email.";
}
?>
</div>

核心/初始化.php

<?php
session_start();
$db = new PDO('login data is fine');
if(isset($_SESSION['id'])) {
    $i = $_SESSION['id'];
}
else {
echo "Please <a href='login.php'>log in.</a>";
$guest = True;
}

当你已经向用户发送了一些数据时,你不能使用 header()。

<div id="content">
<p>What is going on</p>
<?php
$e = $_POST["email"];
$p = $_POST["pass"];
echo $e;
if(isset($e)) {
    $query = $db->prepare("SELECT pass FROM users WHERE id=:i");
    $query->bindParam(':i',$i);
    $query->execute();
    $result=$query->fetch();
    $password = $result['pass']; //is this key exists?
    $check = password_verify($p, $password); //is this function exists?
        if($check) {
            $query->prepare("UPDATE users SET email=':e'");
            $query->bindParam(':e', $e);
            $query->execute();
            header("Location: usercp.php"); //because this won't work
            }
        else {
            echo "Incorrect password.";
            }
else {
    echo "You didn't enter a new email.";
}
?>
</div>

此外,在顶部添加

error_reporting(E_ALL);
ini_set('display_errors', 1);

你会知道出了什么问题

尝试在您的 doUser.php 上设置更多错误报告,因为我相信问题出在您尝试回显数据后使用的 header()。标头只能在任何html之前使用...

最新更新