1
ich habe auf dieser seite allerdings noch folgendes problem. wenn ein nutzer durch seine eingaben bei der registrierung eine fehlermeldung erzeugt muss er immer wieder das gesamte formular von vorne ausfüllen. das kann ihm bei einem schon vorhandenen nutzernamen, einer doppelten email oder einer falscheingabe des captchacode passieren und ist natürlich nicht besonders benutzerfreundlich, weil ggfs nervend. als nutzer ist mir das schnell zu viel und ich gehe halt wieder.
kann ich das so umgestalten das die eingegebenen daten abgesehen von den fehlerhaften eingaben in den feldern erhalten bleiben oder könnte ich die prüfung der feldeingaben schon beim verlassen des feldes starten?
hier ist noch mal der code:
kann ich das so umgestalten das die eingegebenen daten abgesehen von den fehlerhaften eingaben in den feldern erhalten bleiben oder könnte ich die prüfung der feldeingaben schon beim verlassen des feldes starten?
hier ist noch mal der code:
session_start();
$error = '';
if (isset($_SESSION['captcha_spam']) && $_POST["sicherheitscode"] == $_SESSION['']) {
$error = '';
} else {
if (isset($_SESSION['captcha_spam']) && $_POST["sicherheitscode"] != $_SESSION['captcha_spam']) {
$error = 'Der Sicherheitscode ist falsch';
} else {
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "einfache registrierung")) {
mysql_select_db($database_Registrierung, $Registrierung);
$result = mysql_query("SELECT nutzername FROM login WHERE nutzername = '" . mysql_real_escape_string($_POST['nutzername']) . "'");
if (mysql_num_rows($result) > 0) {
$error = 'Dieser Nutzername ist bereits vergeben. Bitte versuchen Sie es mit einem anderen Namen.';
} else {
$result = mysql_query("SELECT mail FROM login WHERE mail = '" . mysql_real_escape_string($_POST['mail']) . "'");
if (mysql_num_rows($result) > 0) {
$error = 'Diese Emailadresse ist bereits vergeben. Bitte versuchen Sie es mit einer anderen E-Mail.';
}
}
}
echo mysql_error();
}
echo mysql_error();
if ($error == "") {
$insertSQL = sprintf("INSERT INTO login (vornachname, nutzername, passwort, mail, handy) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['vornachname'], "text"),
GetSQLValueString($_POST['nutzername'], "text"),
GetSQLValueString($_POST['passwort'], "text"),
GetSQLValueString($_POST['mail'], "text"),
GetSQLValueString($_POST['handy'], "text"));
$Result1 = mysql_query($insertSQL, $Registrierung) or die(mysql_error());
$insertGoTo = "8cSieSindEingeloggt.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}