Aktivierungsmail kommt nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
auslese
betreff
code
date
datum
email
ergebnis
erlaubte zeichen
fehler
fehlerfall
format
funktion
header
mime
planer
registrierung
verbotene zeichen
vergeben
weben
-
Hi !
Hier habe ich ein Registrierungsformular.
Wenn ich mich registriere, sollte eine Aktivierungsmail kommen. Es kommt aber keine.
Ist im folgenden Script ein Fehler?
<?php session_start(); require('config.inc.php'); require('function.inc.php'); if(isset($_POST['reg'])) { //zurücklink im fehlerfall $link = "<a href=\"regist.php\">Zurück</a>"; if(get_magic_quotes_gpc()) { $_POST['pw1'] = stripslashes($_POST['pw1']); $_POST['pw2'] = stripslashes($_POST['pw2']); $_POST['username'] = stripslashes($_POST['username']); $_POST['email'] = stripslashes($_POST['email']); } //prüfung ob passwörter gleich sind if($_POST['pw1'] == $_POST['pw2']) { //Captcha Sicherheitscode prüfen if($_SESSION['resultat'] != $_POST['code'] && !preg_match("#[0-9]{5}#",$_POST['code'])) { echo msgBox("Der Sicherheitscode fehlt oder ist falsch! <br>".$link); exit(); } //prüfung ob agbs bestätigt wurden if(isset($_POST['agb'])!=1) { echo msgBox("Die AGB's müssen akzeptiert werden! <br>".$link); exit(); } //korrektheitsprüfung username if(!preg_match("#^[a-z0-9äöüß _-]+#mi",$_POST['username'])) { echo msgBox("Der Username fehlt oder hat verbotene Zeichen! Erlaubte Zeichen sind 0-9a-zA-ZüöäÜÖÄß_- Leerzeichen! <br>".$link); exit(); } //korrektheitsprüfung password_1 if(!preg_match("#^[a-z0-9äöüß _-]+#mi",$_POST['pw1'])) { echo msgBox("Das Passwort fehlt oder hat verbotene Zeichen! Erlaubte Zeichen sind 0-9a-zA-ZüöäÜÖÄß_- Leerzeichen! <br>".$link); exit(); } //korrektheitsprüfung password_2 if(!preg_match("#^[a-z0-9äöüß _-]+#mi",$_POST['pw2'])) { echo msgBox("Das Passwort2 fehlt oder hat verbotene Zeichen! Erlaubte Zeichen sind 0-9a-zA-ZüöäÜÖÄß_- Leerzeichen! <br>".$link); exit(); } //email prüfung /*if(!eregi("^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\\.[a-z]{2,4}$",$_POST['email'])) { echo msgBox("Das E-Mail Format ist nicht korrekt! <br>".$link); exit(); }*/ //auslesen der usernamem das keiner 2 mal vorkommt $sqlbefehl =" Select Count(*) As user_anzahl From user Where username='".mysql_real_escape_string($_POST['username'])."' "; $ergebnis_un = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl); $wert_un = mysql_fetch_array($ergebnis_un); if($wert_un['user_anzahl'] >0) { echo msgBox("Der Username ist schon an einem anderen User vergeben! Bitte wählen Sie einen anderen Usernamen! <br>".$link); exit(); } //auslesen der user-emails das keine keine 2 mal vorkommt $sqlbefehl =" Select Count(*) As mail_anzahl From user Where email='".mysql_real_escape_string($_POST['email'])."' "; $ergebnis_email = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl); $wert_email = mysql_fetch_array($ergebnis_email); if($wert_email['mail_anzahl'] >0) { echo msgBox("Diese Email Adresse bisitzt bereits ein anderer User vergeben! Bitte wählen Sie einen anderen Usernamen! <br>".$link); exit(); } else { $datum = time(); //zufallsfreischaltcode für den emaillink erzeugen $code = md5(uniqid(microtime($code))); $sqlbefehl =" Insert Into user ( username, pwd, email, code, datum ) VALUES ( '".mysql_real_escape_string($_POST['username'])."', password('".mysql_real_escape_string($_POST['pw1'])."'), '".mysql_real_escape_string($_POST['email'])."', '".mysql_real_escape_string($code)."', '$datum' ) "; $result = mysql_query($sqlbefehl)or die(mysql_error()); $empfaenger = $_POST['email']; $betreff .="Registrierung bei www.littis-web.de!"; $mailtext .="Hallo ".$_POST['username']."!\n Sie haben sich erfolgreich am ".date("d.m.Y H:i")." bei mir registriert!\n"; $mailtext .="Ihre Zugangsdaten sind folgende!\n"; $mailtext .="Username: ".$_POST['username']."\n"; $mailtext .="Passwort: ".$_POST['pw1']."\n\n"; $mailtext .="Um ihre Registrierung nun entgültig zu machen müssen Sie nur noch den nachfolgenden Link betätigen!\n"; $mailtext .="http://localhost/l-user/active.php?code=".$code."\n\n"; $header .='From: Littis-Usersys Registrierung' . "\n"; $header .='MIME-Version: 1.0' . "\n"; $header .='Content-type: text/plain; charset="iso-8859-1"' . "\n"; mail($empfaenger,$betreff,$mailtext,$header); header("Location: index.php"); } if($_POST['pw1'] != $_POST['pw2']) { echo msgBox("Die Passwörter stimmen nicht überein! <br>".$link); exit(); } } } require('kopf.php'); require('head.php'); ?> <table cellpadding="0" cellspacing="0" width="900" border="0"> <tr> <td width="150" align="center" valign="top" class="left"><br /> <?php include('user_online.php') ?> </td> <td width="600" align="center" valign="top" class="center"><br /> <table cellpadding="0" cellspacing="0" width="580" border="0"> <tr> <td align="center" height="25" colspan="2" class="listheader"> <b>Registrierung</b> </td> </tr> <form action="<?php echo htmlentities($_SERVER['SCRIPT_NAME']) ?>" method="post"> <tr> <td class="list_left" align="right">Username:*</td> <td class="list_right"><input type="text" name="username" class="textfeld"></td> </tr> <tr> <td class="list_left" align="right">Password:*</td> <td class="list_right"><input type="password" name="pw1" class="textfeld"></td> </tr> <tr> <td class="list_left" align="right">Pw-bestätigen:*</td> <td class="list_right"><input type="password" name="pw2" class="textfeld"></td> </tr> <tr> <td class="list_left" align="right">E-Mail:*</td> <td class="list_right"><input type="text" name="email" class="textfeld"></td> </tr> <tr> <td class="list_left" align="right">Bitte das Ergebnis der Aufgabe ins Feld eingeben*</td> <td class="list_right"> <img src="captcha.php" border="0"> <input type="text" name="code" class="textfeld"> </td> </tr> <tr> <td align="center" colspan="2" class="list_bottom"> <input type="checkbox" name="agb" value="1"> Agb - akzeptieren:* <input type="submit" name="reg" value="Registrieren" class="button"> </td> </tr> </form> </table><br /> </td> <td align="center" width="150" valign="top" class="right"><br /> <?php if(!logged_in()) { include('login_panel.php'); } else { echo"<a href=\"login.inc.php?logout=1\"><font color=\"c1c1c1\">Logout</font></a>"; } ?> </td> </tr> </table> <?php require('fuss.php'); ?>
Beitrag zuletzt geändert: 27.1.2009 19:07:25 von davy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
myhead schrieb:
kann es sein das die mail() funktion nicht funktioniert? ...oder hasste schon einmal soo eine Email verschickt?
Die funktioniert nicht, darum frage ich euch ja, was der Fehler ist ;) -
er meint, ob die mail funktion auf den servern von lima-city funktioniert.
Manchmal gehts nämlich nicht. Ich hab vorgestern auch versucht eine registrierungsmail zu verschicken.
Aber ging bei mir auch nicht. Vielleicht gehts aber mittlerweile wieder und es ist ein fehler im Code.
Gruss
Beitrag zuletzt geändert: 27.1.2009 19:18:13 von n50-planer -
n50-planer schrieb:
er meint, ob die mail funktion auf den servern von lima-city funktioniert. Manchmal gehts nämlcih nicht. Ich hab vorgestern auch versucht ne registrierungs email zu schicken, ging bei mir au nicht
Gruss
Nein, auf meinem Server, nicht hier bei lima -
Wird denn auch was in die Datenbank eingetragen?
Keine Ahnung ob die Methode, welche Du verwendest, um die Anzahl der Datensätze zu zählen funktioniert (Ich benutz immer die mysql_num_rows() Funktion), aber vllt. liegt das Problem ja einfach in der Abfrage.
Übrigens:
echo msgBox("Diese Email Adresse bisitzt bereits ein anderer User vergeben! Bitte wählen Sie einen anderen Usernamen! <br>".$link);
... amüsant :D.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage