J
Jxn
Gast
Hallo, nochmal ich.
bin gerade weiter dabei, eine Login und Registrierungs-Einheit zu machen. Sieht soweit so aus
Das ist ja jetzt nicht die Welt. Wird auch alles eingetragen, alles tutti.
Jetzt hätte ich aber gerne, dass sofort nachdem der Benutzername eingegeben wird, überprüft wird, ob dieser schon vergeben ist oder nicht. Genauso wie für die E-Mail-Adresse. Möchte, dass dann das input-Feld rot gefärbt wird. Hab dafür extra schon die action des Formulars auf die Seite geschrieben (action=""), da ja keine neue Seite geöffnet werden soll, sondern nur das input-Feld rot und eventuell noch eine Meldung daneben erscheinen soll. Mein Ansatz war folgender:
Aber ich der überprüft jetzt ja nicht sofort den Benutzernamen, sondern erst nach dem Absenden. Habe es dann mit Javascript probiert zu färben, hat aber auch irgendwie nicht geklappt.
Hat da jemand eine Idee?
bin gerade weiter dabei, eine Login und Registrierungs-Einheit zu machen. Sieht soweit so aus
Code:
<form action="" method="POST">
<label>Benutzername:</label>
<input type="username" id="uname" name="uname" required /><br /><br />
<label>E-Mail-Adresse:</label>
<input type="email" id="mail" name="mail" required /><br /><br />
<label>Passwort:</label>
<input type="password" name="pw" required /><br /><br />
<input type="checkbox" name="agb" required />
<label>Ich stimme den AGB und Datenschutzrichtlinien zu.</label><br /><br />
<input type="submit" value="Registrieren" />
</form>
Code:
<?php
$pdo = new PDO('mysql:host=xxxxx;dbname=xxxxxxxxx', 'xxxxxxxxxxx', 'xxxxxxx');
$username = $_POST['uname'];
$mail = $_POST['mail'];
$pw = sha1($_POST['pw']);
$statement = $pdo->prepare("INSERT INTO user (username, email, password) VALUES (?, ?, ?)");
$statement->execute(array($username, $mail, $pw));
?>
Das ist ja jetzt nicht die Welt. Wird auch alles eingetragen, alles tutti.
Jetzt hätte ich aber gerne, dass sofort nachdem der Benutzername eingegeben wird, überprüft wird, ob dieser schon vergeben ist oder nicht. Genauso wie für die E-Mail-Adresse. Möchte, dass dann das input-Feld rot gefärbt wird. Hab dafür extra schon die action des Formulars auf die Seite geschrieben (action=""), da ja keine neue Seite geöffnet werden soll, sondern nur das input-Feld rot und eventuell noch eine Meldung daneben erscheinen soll. Mein Ansatz war folgender:
Code:
$sql="SELECT username FROM user";
foreach ($pdo->query($sql) as $row) {
}
if($username == $row['username']) {
echo "Dieser Benutzername ist vergeben"
} else {
$statement = $pdo->prepare("INSERT INTO user (username, email, password) VALUES (?, ?, ?)");
$statement->execute(array($username, $mail, $pw));
}
Aber ich der überprüft jetzt ja nicht sofort den Benutzernamen, sondern erst nach dem Absenden. Habe es dann mit Javascript probiert zu färben, hat aber auch irgendwie nicht geklappt.
Hat da jemand eine Idee?