Hi,
ich habe ein Anmeldeformular für meinen Fanclub gemacht, was die eingetragenen Daten sofort an eine Datenbank-Tabelle namens "fanclub" weitergibt. Nun müsste ich die Spalte "Nickname" ja eigentlich auf UNIQUE stellen, allerdings brauche ich dazu eine Funktion, die dem Besucher meldet, wenn der Benutzername schon vorhanden ist. Da hänge ich nun und weiß nicht, warum es nicht funktioniert Poste euch mal den Code.
usw.
"Benutzername" und "Passwort" bei der Datenbank-Verbindung sind im Original natürlich richtig eingetragen.
ich habe ein Anmeldeformular für meinen Fanclub gemacht, was die eingetragenen Daten sofort an eine Datenbank-Tabelle namens "fanclub" weitergibt. Nun müsste ich die Spalte "Nickname" ja eigentlich auf UNIQUE stellen, allerdings brauche ich dazu eine Funktion, die dem Besucher meldet, wenn der Benutzername schon vorhanden ist. Da hänge ich nun und weiß nicht, warum es nicht funktioniert Poste euch mal den Code.
PHP:
<?php
if (isset ($_POST['abgeschickt'])) {
$geburtsdatum = $_POST["geburtsdatum"];
$email = $_POST["email"];
$vorname = $_POST["vorname"];
$nachname = $_POST["nachname"];
$website = $_POST["website"];
$nickname = $_POST["nickname"];
$passwort = $_POST["passwort"];
$plz = $_POST["plz"];
$wohnort = $_POST["wohnort"];
$strasse = $_POST["strasse"];
$mailGesendet = false;
$error = false;
//zurück-link
$referer = getenv("HTTP_REFERER");
// E-Mail an Team
$mail = "Name: $vorname $nachname\nE-Mail: $email\nNachricht: $Nachricht\n\n\nWebsite: $website\nNickname: $nickname";
// E-Mail an neuen Member
$mailmitglied = "Hallo $vorname,\ndu hast dich soeben beim Fanclub angemeldet.\nHier findest du noch einmal die wichtigsten von dir eingetragenen Daten.\n\n Name: $nachname, $vorname.\n\n E-Mail: $email\n Benutzername: $nickname\n Passwort: $passwort\n\nVielen Dank für deine Anmeldung. Das Fanclub-Team heißt dich herzlich Willkommen und wünscht Dir viel Spaß im Club.";
//Fehlermeldungen Text
$fehlermail = "Bitte gib eine gültige E-Mail-Adresse an.\n";
$fehlerfelder = "Du hast ein oder mehrere erforderliche Felder nicht ausgefüllt. Bitte korrigiere deine Angaben.\n";
//Fehlermeldung
if ($vorname == "" || $email == "" || $nachname == "" || $nickname == "" || $plz == "" || $wohnort == "" || $passwort == "") {
$error = true;
echo "$fehlerfelder";}
else {
if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $email)) {
$mailGesendet = true;
$error = false;
$sql="INSERT INTO fanclub (Vorname,Nachname,Nickname,Passwort,Email,PLZ,Ort,Strasse,geboren,website,Anmeldedatum) VALUES('$vorname', '$nachname', '$nickname', '$passwort', '$email', '$plz', '$wohnort', '$strasse', '$geburtsdatum', '$website', now())";
//Datenbank-Verbindung
$link = mysql_connect('localhost', 'benutzername', 'passwort');
if (!$link) {
die('keine Verbindung möglich: ' . mysql_error());
}
// Verbindung da
$ueberpruefung = @mysql_query("SELECT Nickname FROM fanclub WHERE Nickname = '$nickname'");
$result = @mysql_fetch_array($ueberpruefung);
if($_POST['nickname'] == $result['Nickname']) {
echo "Dieser Benutzername ist bereits vergeben. Bitte wähle einen anderen.";
}
// mysql_select_db("v072544", $link);
echo "Vielen Dank für deine Anmeldung.";
mail("test@test.de", "Neues Fanclub-Mitglied", $mail, "From:$email"); //Mail an Team
mail("$email", "Deine Anmeldung im Fanclub", $mailmitglied, "From:automailer@test.de"); //Mail an Member
}
else {
$error = true;
echo "$fehlermail";
}
}
}
if(!$mailGesendet) { //Formular nur anzeigen, wenn noch keine Mail gesendet ?>
Hier kannst Du dich unverbindlich für den Fanclub anmelden. Du gehst mit deiner Anmeldung keinerlei Verpflichtungen ein.
<br>Deine Daten werden nicht an Dritte weitergegeben, sie werden nur zur genauen Verwaltung unserer Mitgliederkartei benötigt.
<br><b>Leider können wir fehlerhafte Anmeldungen nicht berücksichtigen! </b>
<p>
<em>Die mit
<font color=red>*</font> markierten Felder müssen ausgefüllt werden.</em><br>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
<table width="95%" border="0" cellpadding="2" class="Schrift">
<tr>
<td width="33%">Vorname<font color=red>*</font></td>
<td width="67%"><input type="text" name="vorname" value="<?php if (isset($_POST['vorname'])) echo $_POST['vorname']; ?>" size="40"></td>
</tr>
"Benutzername" und "Passwort" bei der Datenbank-Verbindung sind im Original natürlich richtig eingetragen.
Zuletzt bearbeitet von einem Moderator:
([code] -> [php])