【发布时间】:2015-03-24 14:28:53
【问题描述】:
我想存储加密的密码并登录到数据库,然后检索它并检查用户输入的有效性。我一定误解了关于 crypt 函数的一些基本功能,因为我非常简单的脚本不起作用。这里是:
<?php
header("Content-Type: text/plain");
mysql_connect('localhost','root','') or die('Cannot connect mysql server');
mysql_select_db('ChemAlive_login') or die('cannot connect database');
$user_input='test';
$mail='test@test.com';
$password = crypt($user_input);
$q=mysql_query("select * from login where mail='".$mail."' ") or die(mysql_error());
$n=mysql_fetch_row($q);
if($n>0)
{
$q=mysql_query("select password from login where mail='".$mail."' ");
$pp=mysql_fetch_row($q);
if(crypt($user_input,$pp[0])==$pp[0]) echo "ok";
else echo "wrong";
}
else
{ $insert=mysql_query("insert into login values('".$mail."','".$password."')") or die(mysql_error());
echo "insert";}
?>
在第一次执行测试登录和电子邮件被插入并“插入”回显显示。但在第二次运行时,我有“错误”的回声,我不明白为什么。
谢谢
【问题讨论】:
标签: php encryption passwords