0

これは、ログイン スクリプトの下のセクションです。

    $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 Notice: Undefined variable: R in /Users/Sites/pages/login.php on line 6" これはエラーが発生する行です - $salt = "$2a$10$R.Baj0mvj5doNvtvzDjwP5$";

4

3 に答える 3

2

ドル記号は変数として解釈されています。それらをエスケープする必要があります:

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

または一重引用符を使用します。

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

「R」が選ばれている理由は、数字で始まる変数名が PHP では無効であるためです。

于 2013-01-25T23:40:08.153 に答える
2

二重引用符の代わりに一重引用符を使用してください。二重引用符を使用すると、PHP は変数名を補間しようとします。一重引用符は、この動作を防ぎます。

于 2013-01-25T23:40:16.907 に答える
0

二重引用符を使用しているため、文字列内の変数を解析しようとしています。このように一重引用符を使用します。

$salt = '$2a$10$R.Baj0mvj5doNvtvzDjwP5$';
于 2013-01-25T23:40:35.097 に答える