Guten Abend,
ich habe ein Problem Mein Register Script versendet urplötzlich keine Aktivierungsmail mehr. Es kommt auch keine Fehlermeldung! Es erscheint die Meldung: Der Account wurde erstellt und E-Mail versandt. In der Datenbank findet sich auch der Account doch eine E-Mail wird nicht mehr versendet.
Gestern funktionierte alles einwandfrei und ich meine nichts geändert zu haben.
Findet sich der Fehler hier in dem Teil des Scripts?
Die Scripts sind natürlich noch in Bearbeitung und erfüllen nicht alle Funktionen(wie zB AGB im folgenden Quellcode)
Hier nochmal die passende Form dazu:
Alle Dateien werden in der Index zusammengeführt, deswegen gebe ich euch auch nochmal das Verifizierungsscript, irgendwo in diesen Dateien liegt der Fehler, denn der Mailserver funktioniert perfekt.
ich habe ein Problem Mein Register Script versendet urplötzlich keine Aktivierungsmail mehr. Es kommt auch keine Fehlermeldung! Es erscheint die Meldung: Der Account wurde erstellt und E-Mail versandt. In der Datenbank findet sich auch der Account doch eine E-Mail wird nicht mehr versendet.
Gestern funktionierte alles einwandfrei und ich meine nichts geändert zu haben.
PHP-Code:
<?php
include('connect.php');
$verbindung = mysql_connect($MYSQL_HOST, $MYSQL_USERNAME , $MYSQL_PASSWORD)
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db($MYSQL_DATABASE) or die ("Datenbank konnte nicht ausgewählt werden");
if ('POST' == $_SERVER['REQUEST_METHOD']){
if (isset($_POST['username'], $_POST['passwort1'], $_POST['passwort2'], $_POST['email'], $_POST['vorname'], $_POST['nachname'], $_POST['adresse'], $_POST['postleitzahl'], $_POST['ort'])){
if(!mb_strlen($_POST['username'],'utf-8') > 0
or !mb_strlen($_POST['passwort1'],'utf-8') > 0
or !mb_strlen($_POST['passwort2'],'utf-8') > 0
or !mb_strlen($_POST['email'],'utf-8') > 0
or !mb_strlen($_POST['vorname'],'utf-8') > 0
or !mb_strlen($_POST['nachname'],'utf-8') > 0
or !mb_strlen($_POST['postleitzahl'],'utf-8') > 0
or !mb_strlen($_POST['adresse'],'utf-8') > 0
or !mb_strlen($_POST['ort'],'utf-8') > 0){
echo "<div class=regerror>Bitte alle Felder korrekt ausfüllen!</div>";
return;
}
if(mb_strlen($_POST['passwort1'],'utf-8') > 6){
if($_POST['passwort1'] == $_POST['passwort2']){
if (($Username = trim($_POST['username'])) == '' OR
($Password = trim($_POST['passwort1'])) == '' OR
($vorname = trim($_POST['vorname'])) == '' OR
($nachname = trim($_POST['nachname'])) == '' OR
($postleitzahl = trim($_POST['postleitzahl'])) == '' OR
($adresse = trim($_POST['adresse'])) == '' OR
($ort = trim($_POST['ort'])) == '' OR
($Email = trim($_POST['email'])) == '' ){
echo "<div class=regerror>Too many spaces!!!</div>";
}else{
$Username = mysql_real_escape_string($Username);
if (!preg_match('~\A\S{3,30}\z~', $Username)){
echo "<div class=regerror>Der Benutzername muss zwischen 3 und 30 Zeichen lang sein und darf keine Sonderzeichen enthalten.</div>";
}else{
$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
if(!preg_match($regex, $Email)){
echo "<div class=regerror>Ungültige E-Mail, bitte erneut eingeben.</div>";
}else{
$sql="SELECT username FROM User WHERE username='".$Username."'";
$query=mysql_query($sql)or die(mysql_error());
if(mysql_num_rows($query) > 0){
echo "<div class=regerror>Benutzername wird bereits verwendet!</div>";
return;
}else{
$sql="SELECT username FROM User WHERE email='".$Email."'";
$query=mysql_query($sql)or die(mysql_error());
if(mysql_num_rows($query) > 0){
echo "<div class=regerror>E-Mail wird bereits verwendet!</div>";
return;
}
if (mysqli_connect_errno()){
echo "<div class=regerror>Verbindung zur Datenbank konnte nicht hergestellt werden ".mysqli_connect_error()."</div>";
}else{
$hash = md5( rand(0,1000) );
mysql_query("INSERT INTO User (username, password, email, vorname, nachname, adresse, postleitzahl, ort, hash) VALUES(
'". mysql_real_escape_string($Username) ."',
'". mysql_real_escape_string(md5($Password)) ."',
'". mysql_real_escape_string($Email) ."',
'". mysql_real_escape_string($vorname) ."',
'". mysql_real_escape_string($nachname) ."',
'". mysql_real_escape_string($adresse) ."',
'". mysql_real_escape_string($postleitzahl) ."',
'". mysql_real_escape_string($ort) ."',
'". mysql_real_escape_string($hash) ."') ") or die(mysql_error());
$to = $Email;
$subject = 'Testmail | Verifizierung';
$message = '
Vielen Dank für Ihre Anmeldung, '.$Username.' !
Sie können sich gleich auf der Webseite einloggen sobald Sie den unten stehenden Link angeklickt haben.
Hier finden Sie noch einmal Ihre Daten:
Username: '.$Username.'
Password: '.$Password.'
------------------------
Wir hoffen, dass unser Projekt Ihnen gefällt und würden uns über Ihr Feedback freuen, welches Sie jederzeit an info@**Zensiert**.de schicken können.
Bitte klicken Sie auf diesen Link um Ihren Account zu aktivieren:
http://''zensiert''.de/work/regintern/verify.php?email='.$Email.'&hash='.$hash.'';
$headers = 'From:info@''zensiert''.de' . "\r\n";
mail($to, $subject, $message, $headers);
echo "<div class=regerror>Der Account wurde erfolgreich erstellt, bitte aktiveren Sie ihn durch klicken auf<br />den Link in der von uns gesendeten E-Mail. Schauen Sie auch in Ihrem Spam-Ordner nach.</div>";
}
}
}
}
}
}else{
echo "<div class=regerror>Die Passwörter stimmen nicht überein!</div>";
}
}else{
echo "<div class=regerror>Das Passwort muss mindestens 7 Zeichen lang sein.</div>";
}
}else{
echo "<div class=regerror>Bitte jedes Feld korrekt ausfüllen.</div>";
}
}
Die Scripts sind natürlich noch in Bearbeitung und erfüllen nicht alle Funktionen(wie zB AGB im folgenden Quellcode)
Hier nochmal die passende Form dazu:
PHP-Code:
<div class="regist">
<div class="register-form">
<font style="font-size:12px;color:white;">*Alle Felder sind Pflichtfelder!</font>
<div style="background:#ff3300"> <? include('register.php') ?>
<? $section['verify'] = 'veriform.php'; ?>
</div>
<h1>Benutzeranmeldung</h1>
<form action="index.php" method="POST">
<p><label>Benutzername :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="username" type="text" name="username" placeholder="..." /><br/></p>
<p><label>Vorname :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="vorname" type="text" name="vorname" placeholder="..." /></p>
<p><label>Nachname :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="nachname" type="text" name="nachname" placeholder="..." /></p><br/>
<p><label>Straße & Haus :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="adresse" type="text" name="adresse" placeholder="..." /></p>
<p><label> Postleitzahl :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="postleitzahl" type="text" name="postleitzahl" placeholder="..." /></p>
<p><label>Ort :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="ort" type="text" name="ort" placeholder="..." /></p><br/>
<p><label>E-Mail :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="password" type="email" name="email" placeholder="..."/></p>
<p><label>Passwort :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="password" type="password" name="passwort1" placeholder="..." /></p>
<p><label>Wiederholen :</label><br/>
<input style="border-radius:5px;height:10px;margin-left:0px;" id="password" type="password" name="passwort2" placeholder="..." /></p>
<p><input type="checkbox" name="termsofuse" id="termsofuse" /> <label style="font-size:15px;" for="termsofuse">Ich habe die <a style="color:white;" href="terms_of_use.php">AGB</a> gelesen <br/>und akzeptiere diese.</label></p>
<input class="regbutt" type="submit" name="submit" value="Jetzt anmelden" />
</form>
</div>
</div>
PHP-Code:
<div class="veri">
<div class="veri-form">
<?php
include('connect.php');
$con = mysql_connect($GLOBALS['MYSQL_HOST2'], $GLOBALS['MYSQL_USERNAME'] , $GLOBALS['MYSQL_PASSWORD']);
mysql_select_db($GLOBALS['MYSQL_DATABASE']) or die ("Can`t connect to database");
if(isset($_GET['email']) && !empty($_GET['email']) AND isset($_GET['hash']) && !empty($_GET['hash'])){
$email = mysql_real_escape_string($_GET['email']);
$hash = mysql_real_escape_string($_GET['hash']);
$search = mysql_query("SELECT email, hash, active FROM User WHERE email='".$email."' AND hash='".$hash."' AND active='0'") or die(mysql_error());
$match = mysql_num_rows($search);
if($match > 0){
mysql_query("UPDATE User SET active='1' WHERE email='".$email."' AND hash='".$hash."' AND active='0'") or die(mysql_error());
echo '<div class="regerror"><font style="font-size:30px;">Herzlich Willkommen!</font><br/>Der Account wurde erfolgreich aktiviert. Sie können sich nun einloggen :)</div>';
}else{
echo '<div class="regerror"><font style="font-size:30px;">Fehler:</font><br/>Der link ist ungültig oder Sie haben Ihren Account bereits aktiviert.</div>';
}
}else{
echo "<div class=regerror>404 - Page not found</div>";
}
?>
</div>
</div>
Kommentar