- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么我没有使用此代码在页面上显示我的密码?
我正在尝试制作一个设置页面,以便我可以更改我的密码。
我没有收到任何错误;它什么都不做。
<html>
<head>
<title>Settings</title>
<link rel="stylesheet" href="/static/bootstrap.css">
<link rel="stylesheet" href="/static/firstindex.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="favicon.png" rel="icon"/>
</head>
<?php
session_start(); //starts the session
$user = $_SESSION['user'];
$result = mysql_query("SELECT password FROM users WHERE user_id='$user'");
if(isset($_SESSION['user']) && $_SESSION['user']){
echo"
<body>
<h1>Edit Profile</h1>
<p>Hello $user</p>
<p>Password $result</p>
<form action='settings.php' method='post' class='form1'>
<input class='form-control' placeholder='Old Password' type='password' name='password' required='required' /> <br/>
<input class='form-control' placeholder='New Password' type='password' name='newpassword' /> <br/>
<input class='form-control' placeholder='New Password' type='password' name='confirmnewpassword' /> <br/>
<input type='hidden' name='night' value='0'/>
<p><input type='checkbox' name='night' value='1'/> Turn on night theme for account</p>
<input type='submit' class='btn btn-info' value='Change Settings'/>
</form>
";
}
else {
Print '<script>window.location.assign("login.php");</script>';
}
?>
<?php
if($_SERVER["REQUEST_METHOD"] == "POST"){
$password = mysql_real_escape_string($_POST['password']);
$newPassword = mysql_real_escape_string($_POST['newpassword']);
$confirmNewPassword = mysql_real_escape_string($_POST['confirmnewpassword']);
$nightTheme =(int)mysql_real_escape_string($_POST['night']);
mysql_connect("localhost", "root","") or die(mysql_error()); //Connect to server
mysql_select_db("mvstudio") or die("Cannot connect to database"); //Connect to database
$result = mysql_query("SELECT password FROM users WHERE user_id='$user'");
$bool = true;
echo "$result";
}
?>
</body>
</html>
最佳答案
首先,mysql_* 已弃用,改用 mysqli_* 或 PDO。
其次,你永远不应该以明文形式存储密码,这是一个主要的安全问题,它们需要安全地散列,即使你需要在某些时候(例如在密码管理系统中)访问它们,它们也应该在至少要加密。
第三,$result
包含一个 mysql 响应资源,而不是一个字符串。您需要这样做才能将其转换为关联数组:
$result = mysql_query("SELECT password FROM users WHERE user_id='$user'");
$password = mysql_fetch_assoc($result);
$password = $password['password'];
$password
现在包含密码。
最后,除非您在执行查询之前建立 MySQL 连接,否则之前的方法将不起作用,目前您的连接是在执行查询之后建立的。
关于php - mysql_query 不返回密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43926985/
define('DB_NAME','swiftx'); define('DB_USER','root'); define('DB_PASSWORD','123456'); define('DB_HOS
我有 2 个不同的服务器:一台正在运行的 Plesk Panel(PHP 5.2.13 和 MySQL 5.0.45-community-nt),另一个运行 Zend Server 5.5(PHP 5
我有问题,我想在哈希值相同时进行更新。 哈希在表中是唯一的。我找不到正确的方法来做到这一点。 mysql_query("INSERT INTO shop_product_search3_muokatt
这只是我在 SQL 查询中遇到的一个小问题。它返回一个语法错误,搜索了很长一段时间后,我找不到问题所在。你们谁能找到它吗? 查询: INSERT INTO `blogposts` (id,'autho
我想插入一个表,其中用户 id = 某物并将 o 更改为 1,表示用户在线 试过了 mysql_query("INSERT INTO `20s` VALUES('','','','','','',''
mysql_query php 中的函数返回 TRUE关于成功和FALSE失败时。 我的问题是什么才算是成功? 换句话说,当 SELECT 中没有任何内容时返回什么语句,或者如果有 UPDATE没有匹
我有以下mysql查询 $query = "SELECT id FROM users WHERE... 我想要的是这样的 $query = "SELECT id FROM users WHERE id
Name of company: 包含与数据库的连接,此处不再赘述。连接工作正常,这不是问题。 问题是:php 代码不起作用。 php 代码不会将数据插入我的数据库。怎么了? 最佳答案 在 '
这个问题在这里已经有了答案: Syntax error due to using a reserved word as a table or column name in MySQL (1 个回答)
我有这个 SQL: INSERT INTO v3_peers (torrent, peer_id, ip, ipv6, port, smoke_ip, uplo
我在使用 utf8 编码对数据库运行查询时遇到了一些问题。一切正常,直到我尝试使用带有特殊字符的字符串。我无法对数据库进行大量更改,因为我正在向现有的 prestashop 模板添加一些单独的页面。
我要将一行更新到 mysql 数据库中。 senarius 是:从表单中获取值并重定向到另一个文件,并使用更新语句将表单值设置为数据库。问题是 mysql_query 返回值 1 并且不返回任何错误但
$sql = "UPDATE 'load' SET 'graphe'=".$graphe."','intersection'='".$intersection."','ville'='".$ville
我正在使用动态生成的查询字符串来显示某些报告的搜索表单的结果 - 有 5 个搜索字段,$query2 可以不包含任何内容或包含 5 个额外的搜索值。 $query="SELECT * from emp
我正在使用 PHP 创建类似 twitter 的帖子流。如果用户只想查看他创建的帖子,我应该如何编写 mysql 查询? 这是我现在所拥有的:mysql_query("SELECT * FROMtim
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 9 年前。 Improv
这是我的代码 for ($i=0;$i<1000;$i++) { if ($testArray[$i] != 0) { $sql = "insert into `dbT
我已经在 AWS 上使用 Apache、PHP、MYSQL 设置了一个 EC2 Web 服务器,到目前为止,除此之外的所有代码(PHP 和 HTML5)都已在其中运行。我是 PHP 和 mySQL 新
我知道我不应该使用 mysql_query 进行数据库查询,但我需要修改现有代码。我需要做的是将 php 变量作为 sql 查询的字段名称传递。我尝试过这样的方式: $my_field = "fiel
如果我没记错的话,mysql_query()函数使用TCP协议(protocol)发送数据。是否可以重新组装查询 tcp 数据包(例如通过网络发送)并在其他地方重建查询? 我希望下图能更多地解释我的问
我是一名优秀的程序员,十分优秀!