Edit: Mein Problem wurde behoben. Ich wusste nicht oder denke an bindValue(), deshalb glaube ich nicht, dass dies eine doppelte Frage ist. Danke für die Hilfe!password_hash geben Fehler: Strenge Standards: Nur Variablen sollten durch Verweis
Ich lerne, wie man Benutzer mit PHP registriert und es scheint, als ob password_hash mir die "Nur Variablen, die durch Referenz übergeben werden sollen" Fehlermeldung. Ich habe viele Leute mit dem gleichen Fehler gesehen, aber es scheint nicht für meinen Fall zu gelten (meiner Meinung nach).
zur Datenbank verbinden
$server = 'localhost';
$username ='root';
$password ='root';
$database = 'register_test';
try{
$conn = new PDO("mysql:host=$server;dbname=$database;" , $username, $password);
} catch(PDOException $e){
die ("Connection failed" . $e->getMessage());
}
Registrieren von Benutzer
require 'database.php';
if(!empty($_POST['email']) && !empty($_POST['password'])):
$pass = $_POST['password'];
$email = $_POST['email'];
$sql = "Insert into user (email, password) values (:email, :password)";
$stmt = $conn->prepare($sql);
$stmt ->bindParam(':email', $email);
$stmt ->bindParam(':password', password_hash($pass, PASSWORD_BCRYPT)); //error showns here
if($stmt -> execute()):
die('Success');
else:
die('Fail');
endif;
endif;
Wenn ihr mehr Informationen benötigen, bitte lassen Sie mich wissen.
Verwenden Sie '$ stmt-> bindValue()' anstelle von '$ stmt-> bindParam()'. – Will
Ihre Abfrage funktioniert sowieso nicht. Sie geben ein Feld an, in das zwei Werte eingefügt werden sollen. –
Marc B. Ich habe ein paar Dinge ausprobiert und vergessen, 'password' in die insert-Anweisung zu schreiben. Danke, dass Sie es bemerkt haben –