Login脚本中的未定义变量错误

时间:2013-01-25 23:37:18

标签: php pdo

这是我的登录脚本的以下部分:

    $email = $_POST['email'];
$password = $_POST['password'];
$salt = "$2a$10$R.Baj0mvj5doNvtvzDjwP5$";

$crypt_pass=crypt($password,$salt);

$query = $db->prepare('SELECT * FROM Consultants WHERE email = :email');

$query->bindParam(":email",$email);

$results = $query->execute();

$total = $query->rowCount();
$row = $query->fetch();

错误:

  

“PHP注意:未定义的变量:第6行的/Users/Sites/pages/login.php中的R”这是发生错误的行 - $ salt =“$ 2a $ 10 $ R.Baj0mvj5doNvtvzDjwP5 $”;

3 个答案:

答案 0 :(得分:2)

美元符号被解释为变数。你要么逃脱它们:

$salt = "\$2a\$10\$R.Baj0mvj5doNvtvzDjwP5\$";

或使用单引号:

$salt = '$2a$10$R.Baj0mvj5doNvtvzDjwP5$';

“R”被挑出的原因是以数字开头的变量名称在PHP中无效。

答案 1 :(得分:2)

使用单引号而不是双引号。使用双引号,PHP正在尝试插入变量名称。单引号将阻止此行为。

答案 2 :(得分:0)

因为你使用的是双引号,所以它试图解析字符串中的变量。使用这样的单引号。

$salt = '$2a$10$R.Baj0mvj5doNvtvzDjwP5$';