PHP - Echo 变量问题

标签 php mysql forms

我有一个表,其中存储了用户电子邮件地址和密码。当用户第一次登录其帐户时,我想在页面加载时显示用户的电子邮件。但它不起作用。数据不会出现在文本字段中。我相信我的代码理论上应该可以工作。

HTML

<section class="container">
        <form id="myform " class="Form" method="post" action="Cus_Account.php" accept-charset="utf-8">

            <!--                    <div id="first">-->
            <input type="text" id="fname" name="fname" value="" required> 
            <input type="text" id="lname" name="lname" value="" required>
            <input type="text" id="email" name="email" value="<?php echo $email; ?>" required>
            <input type="number" id="phone" name="phone" value="" required>
            <input type="submit" name="Update" value="Update">
            <br>
        </form>

PHP

   <?php
        $user = $_SESSION['Cus_Email'];

        $get_user = "SELECT Cus_Email FROM Cus_Register WHERE Cus_Email='$user'";

        $run_user = mysqli_query($dbc, $get_user);
        //check if customer is on databse
        $row_customer = mysqli_fetch_array($run_user);


        $email = $row_customer['Cus_Email'];

        ?>

告诉您我在页面上还运行了另一个查询可能会有所帮助

PHP

      <?php
        if (isset($_POST['Update'])) {
            echo $c_fname = $_POST['fname'];
            echo $c_lname = $_POST['lname'];
            echo $c_phone = $_POST['phone'];



            $insert_det = "INSERT INTO Cus_acc_details(CUS_Fname,CUS_Lname, CUS_Phone) VALUES (?,?,?)";
            $stmt = mysqli_prepare($dbc, $insert_det);

            mysqli_stmt_bind_param($stmt, 'ssi', $c_fname, $c_lname, $c_phone);

            /* execute query */
            $r = mysqli_stmt_execute($stmt);

            if ($insert_det) {
                echo " Saved";
            }
        } else {
            echo "<b> Error </b>";
        }
        ?>

此查询将注册页面上未收集的数据插入数据库中。

错误:

Undefined index: Cus_Email in /Applications/MAMP/htdocs/PhpProject2/customer/Cus_Account.php on line 60

最佳答案

您可以使用var_dump来控制台记录数据以生成Cus_Email

如果找不到,可以检查一下你的sql是否正确。

<?php
    $user = $_SESSION['Cus_Email'];

    $get_user = "SELECT Cus_Email FROM Cus_Register WHERE Cus_Email='$user'";

    $run_user = mysqli_query($dbc, $get_user);
    //check if customer is on databse
    $row_customer = mysqli_fetch_array($run_user);
    // to test
    var_dump($row_customer);
    $email = $row_customer['Cus_Email'];

?>

关于PHP - Echo 变量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36144069/

相关文章:

javascript - Javascript 上的 IF/ELSE 工作起来很奇怪

javascript - 从 Javascript 在 Textarea 中搜索链接

javascript - 我如何用 php 显示 html 输入框值

java - 服务器错误或 Android 问题?

php - 没有创建数据库的 Symfony 2.7 应用程序

javascript - 通过 AngularJS 上传多个文件到 Laravel Controller

mysql - 将值从一个中间有空白单元格的表复制到另一个中间没有单元格的表

php - MYSQL LIKE 匹配字符串的一部分

PHPMyAdmin(错误代码 : 13 - Permission denied)

表单内表单的 jQuery 验证问题