如何使用MD5密码签署我的代码?

时间:2012-11-16 01:35:34

标签: php mysql md5

回答问题我有点新意,所以请耐心等待。我已经阅读了帖子,我已经看到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>";
            }
        }
    }
?>

所以,如果我能得到一些帮助,那将非常感激!提前谢谢!

2 个答案:

答案 0 :(得分:5)

删除此声明中的单引号。

$mdhash = md5('$name');

应该是:

$mdhash = md5($name);

单引号导致美元符号按字面意思取得,因此$ name不再是变量,而是文字字符串。

答案 1 :(得分:0)

看起来好像是在查询中将$name传递到SQL数据库而不是$mdehash

我还会更改变量名称以更好地匹配其实际用法。他们有点混乱。