簡體   English   中英

未能更新 php 中的 session

[英]failed to update the session in php

如果用戶已登錄並且用戶正在嘗試更新用戶詳細信息

我正在使用 email 使用 session。 如果用戶更改了他的 email,在重定向成功更新后,email 不會顯示在儀表板中。

如何糾正這個請幫忙


<?php
 include('database.php');
session_start();


if (isset($_POST['submit'])) {
    $name = $_POST['name'];
    $class = $_POST['class'];
    $subject = $_POST['subject'];
    $email = $_SESSION['email'];
    $email1 = $_POST['email'];
    $phone = $_POST['phone'];



    $sql = "UPDATE `student` SET `name` = :name, `class` = :class, `subject` = :subject, `email` = :email1, `phone`= :phone WHERE `email` = :email";



    $statement = $conn->prepare($sql);
    $statement->bindValue(":name", $name);
    $statement->bindValue(":class", $class);
    $statement->bindValue(":subject", $subject);
    $statement->bindValue(":email1", $email1);
    $statement->bindValue(":phone", $phone);
    $statement->bindValue(":email", $email);

    $count = $statement->execute();

    if ($count>0) {
        echo "<script type='text/javascript'>alert('updation suceesful');
    window.location='studentdashboard.php';
    </script>";
    }


else {
        echo "<script type='text/javascript'>alert('error');
    window.location='accountsettings.php';
    </script>";
    }
}

?>

請幫忙!! 請不要刪除這個問題我試過類似的問題,但沒有任何幫助!!!

擁有session_start();總是更安全作為腳本中的第一條語句。 如果include('database.php'); 開始向客戶端發送一些東西,標頭已經發送,之后您無法正確啟動 session cookie。

嘗試將您的代碼更改為:

<?php
session_start();
include('database.php');

// ... etc ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM