Ich versuche, eine "Registrierung" -Form mit PHP und MySQL zu erstellen. Das Registrierungsformular fragt nach Benutzername und Passwort. Wenn ein Feld leer ist, wird der Benutzer wissen, welche. Wenn der Benutzername verwendet wird, wird der Benutzer darüber informiert.Einfügen von Daten in die Datenbank mit PHP PDO
Ich weiß, die Verbindung zur Datenbank ist in Ordnung, weil ich einen Benutzer erstellt habe, die ich manuell in die Datenbank hinzugefügt wurde.
Das Merkwürdige ist, dass mein Code in Cloud9 funktioniert. Aber es funktioniert nicht auf einer VM-Instanz, die in Google Cloud installiert ist.
In cloud9 wird der Benutzer in die DB eingefügt. In der Google-Instanz wird es nicht.
Kann jemand das überprüfen und mir sagen, was ich falsch mache?
Danke.
<?php
$username = $_POST['username'];
$password = $_POST['password'];
$display = $_POST['display'];
$dbh = new PDO("mysql:host=localhost;dbname=mydb","root",NULL);
$stmt = $dbh->prepare("SELECT username FROM users WHERE username = :username");
$stmt->bindParam(':username', $username);
$stmt->execute();
if($stmt->rowCount() == 0 and $username != null and $password != null){
$insert = $dbh->prepare("INSERT INTO users(username,password) VALUES(:username, :password)");
$insert->bindParam(':username', $username);
$insert->bindParam(':password', $password);
$insert->execute();
echo ("The user ".$username. " has been created.");
Alle Fehler im Protokoll? –
** WARNUNG **: Es ist nicht einfach, eine eigene Zugriffskontrollschicht zu schreiben, und es gibt viele Möglichkeiten, dies schwerwiegend zu tun. Bitte schreiben Sie nicht Ihr eigenes Authentifizierungssystem, wenn Sie ein modernes [Entwicklungsframework] (http://codegeekz.com/best-php-frameworks-for-developers/) wie [Laravel] (http://laravel.com/) verfügt über ein integriertes [Authentifizierungssystem] (https://laravel.com/docs/5.4/authentication). Am absolutesten folgen Sie [empfohlene Best Practices für die Sicherheit] (http://www.phptherightway.com/#security) und ** speichern Sie Passwörter niemals als Nur-Text **. – tadman
Gibt es die Nachricht, dass der Benutzer erstellt wurde? – Barmar