【发布时间】:2018-12-28 11:02:45
【问题描述】:
我有一个更新页面,其中包含电子邮件和密码的更新表格,我尝试控制台登录以查看电子邮件和地址是否以 post 方法传输,详细信息已传输到此页面,但数据仍未保存,谁能告诉我为什么谢谢!
<?php session_start(); ?>
<?php
//extract form values and assign to regular PHP variables
$uemail=$_POST['email'];
$passW=$_POST['pass'];
$upassword= md5($_POST['passW']);
if(!isset($_SESSION['usermail'])) {
header('Location: ../homepage.php');
}
else{
include "connection.php";
$session=$_SESSION["useremail"];
$sql = "UPDATE users SET uemail = '$uemail', upassword = '$upassword' WHERE uemail = '$session'";
$_SESSION["useremail"]=$uemail; //setting new email in session
header("Location:../homepage.php");
}
?>
【问题讨论】:
-
首先对查询启用错误报告和正确的错误处理。这样做,然后告诉我们你得到了什么,如果有任何错误。
-
你为什么在这里使用MD5?您是否不知道该散列方法已被破坏并且不再安全使用。你应该学习如何使用
password_hash()和准备好的语句。您希望您的数据库在某一天消失吗? -
这个表格在哪里?并且所有会话数组都有价值吗?
-
你甚至没有对你的查询做任何事情;你知道吗?我认为这是一个印刷错误。
标签: php mysql forms session md5