回答问题我有点新意,所以请耐心等待。我已经阅读了帖子,我已经看到mysql_已经不再使用了。我知道,所以不要告诉我不要使用它。
无论如何,我有这个代码,每当我尝试使用它注册时,密码都不会在MD5中进行哈希处理。我删除了
$mdhash = md5('$name');
因为我需要你的帮助。
以下是代码:
<?php
session_start();
include('./dbconnect/global.php');
if (isset ($_POST['submit'])) {
$comment = mysql_escape_string (trim ($_POST['username']));
$id = 0;
$date = date("Y-m-d");
if(!empty($_POST['username']) && !empty($_POST['password']) && !empty($_POST['email'])){
if ($_POST['username']=="telamon" or $_POST['username']=="brick") {
die("This username is banned");
}
$name = mysql_escape_string (trim ($_POST['password']));
$mdehash = md5($name);
$email = mysql_escape_string (trim ($_POST['email']));
$picture = $_POST['def'];
$tweet = 'NoTweetsTweeted';
$g = mysql_query( "SELECT * FROM admin WHERE username='".$comment."'") or die(mysql_error());
if (mysql_num_rows($g) >= 1) {
$errMsg = "<p style='color:#999999;'>That username is already registerd!</p>";
}else {
if ( preg_match("/^[a-zA-Z0-9]+$/i", $comment) ) {
$sql = mysql_query ("INSERT INTO admin (id,username,password,date,picture,email,twitter) VALUES ('".$id."','".$comment."','".$name."','".$date."','".$picture."','".$email."','".$tweet."')");
header('location: home.php');
}else
$errMsg = "<p style='color:#999999;'>Please fill all fields!</p>";
}
}
}
?>
所以,如果我能得到一些帮助,那将非常感激!提前谢谢!
答案 0 :(得分:5)
删除此声明中的单引号。
$mdhash = md5('$name');
应该是:
$mdhash = md5($name);
单引号导致美元符号按字面意思取得,因此$ name不再是变量,而是文字字符串。
答案 1 :(得分:0)
看起来好像是在查询中将$name
传递到SQL数据库而不是$mdehash
。
我还会更改变量名称以更好地匹配其实际用法。他们有点混乱。