zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Passwort vergessen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 05.08.2008, 09:21
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 69
erxx befindet sich auf einem aufstrebenden Ast
Standard Passwort vergessen

Ich bekomme diese Fehlermeldung:
Zitat:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com' at line 1
leider weiss ich nicht woran das liegen könnte hatte vorher in den SQL Statements '$email' hab ich dann umgeändert in $email ohne ' '



PHP-Code:
<?php
if(isset($_POST['username']) && ($_POST['email'])) {
  
$site 'url.de';
  
// MySQL Verbindung
  
$table "wcf1_user";
  
$verbindung connect($table);
  
// User-Informationn 
  
$username mysql_real_escape_string(trim($_POST['username']));
  
$email mysql_real_escape_string(trim($_POST['email']));

  
// SQL Abfrage welche den Benutzenamen in Verbindung der Email Adresse in der Datenbank sucht
  
$sql "SELECT userID FROM $table WHERE username = '$username' AND email = $email";
  
$abfrage mysql_query($sql) or die(mysql_error());
  
$menge mysql_num_rows($abfrage) or die(mysql_error());
  
$result mysql_fetch_array($sql) or die(mysql_error());
  
$userid $result[0];  
  if(
$menge != 0
  {
      
//Neuer Salt wird generiert
      
$salt generateHash(5417null);
      
//Neues Passwort wird generiert
      
$newpass generatePass();
      
$passwd $newpass;
      
// Neues Passwort wird gesalzen
      
$password saltThePasswd($newpass$salt);
      
// Neues gesalzene Passwort und Salt werden in die DB eingetragen
      
$query mysql_query("UPDATE $table SET (password, salt) VALUES ('$password', '$salt')  WHERE userID = $userid AND username = '$username' AND email = $email");
      
// Adresse, an welche die E-Mail versendet werden soll
      
$empfaenger "$email";
      
$betreff "Neues Passwort für ihr Benutzerkonto auf $site";
    
      
// Nachricht.
      
$message  "Hallo $username,\n";
      
$message .= "Ihr neues Passwort lautet : '$passwd' \n";
      
$message .= "Sie können sich ab sofort mit ihrem Benutzernamen und dem neuen Passwort anmelden.\n";
      
$message .= "http://www.'$site'\n \n";
  
      
$message .= "Mit freundlichen Grüßen\n";
      
$message .= "Administration von ericschaack.info\n";
    
      
// Header-Informationen
      
$header "From:kontakt@'$site'\n";
      
$header .= "Content-Type: text/plain";
    
      
// Mail zusammenstellen und absenden
      
mail($empfaenger$betreff$message$header);
      
?><font face="Arial, Helvetica, sans-serif" size="2" color="#CCCCCC"> Es wird nun ein neues Passwort an die angegebene E-Mail Adresse gesendet. Sie werden in 3 Sekunden zur Startseite weitergeleitet</font>
                      <script type="text/javascript"> // automatische weiterleitung
                window.setTimeout('window.location.href="./index.php"','3000');
                </script> <?
  
}
  else 
  { 
      
$sql "SELECT username FROM $table WHERE username = '$username' AND email = $email";
      
$abfrage mysql_query($sql) or die(mysql_error());
      
$menge mysql_num_rows($abfrage) or die(mysql_error());
      if(
$menge == 0
      { 
?>
           <font face="Arial, Helvetica, sans-serif" size="2" color="#CCCCCC">Der eingegebene Benutzername, ist nicht in der Datenbank vorhanden.</font> <?
      

      else 
      {
         
$sql "SELECT email FROM $table WHERE username = '$username' AND email = $email";
         
$abfrage mysql_query($sql) or die(mysql_error());
         
$menge mysql_num_rows($abfrage) or die(mysql_error());
         if(
$menge == 0
         { 
?>
            <font face="Arial, Helvetica, sans-serif" size="2" color="#CCCCCC">Die eingegebene E-Mail Adresse, ist nicht in der Datenbank vorhanden.</font> <?
         
}
       }
    }
  
 
}
else {
?>
<form action="index.php" method="post">
<font face="Arial, Helvetica, sans-serif" size="1" color="#CCCCCC">Benutzername:</font>
<input type="text" tabindex='1' value="Benutzername" name="username" style="border:1px solid #CCC; background-color:#293538; font-size:9px; color:#CCCCCC; width:80px; height:1.4em;" onfocus="if(this.value==defaultValue)this.value='';" onblur="if(this.value=='')this.value=defaultValue;" size="8" maxlength="35"/>
<br /><br />
<font face="Arial, Helvetica, sans-serif" size="1" color="#CCCCCC">E-Mail:</font>
<input type="text" name="email" value="E-Mail Adresse" style="border:1px solid #CCC; background-color:#293538; font-size:9px; color:#CCCCCC; width:80px; height:1.4em;" onfocus="if(this.value==defaultValue)this.value='';" onblur="if(this.value=='')this.value=defaultValue;" size="8" maxlength="9" />
<br /><br /> 

<p align="center">
<input type="submit" value="Anfrage senden &raquo;" style="border:1px solid #CCC; background-color:#293538; font-size:9px; color:#f4af36; width:50px;" />
<input type="hidden" name="page" value="forgotpw" />
<br /><br /></p></form>

<?
}
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 05.08.2008, 09:54
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.301
mantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblick
Standard

Und genau daran sollte es liegen.

Strings müssen immer in '' eingeschlossen werden, Nummern nicht.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 05.08.2008, 09:56
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.749
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Zitat:
Zitat von erxx Beitrag anzeigen
[…] hatte vorher in den SQL Statements '$email' hab ich dann umgeändert in $email ohne ' '
Und dir kam nicht die Idee, das einfach rückgängig zu machen? Denn auch MySQL kennt unterschiedliche Datentypen und Zeichenketten müssen auch dort in Anführungszeichen.
__________________
Markus Wulftange
Mit Zitat antworten
  #4 (permalink)  
Alt 05.08.2008, 10:02
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 69
erxx befindet sich auf einem aufstrebenden Ast
Standard

Habs eigentlich umgeändert weils nich ging, war nur ein Test. Deswegen hab ichs ja auch im Post erwähnt.
Mit Zitat antworten
  #5 (permalink)  
Alt 05.08.2008, 10:07
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.301
mantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblick
Standard

PHP-Code:
$result mysql_fetch_array($sql
der Teil ist falsch, da muss
PHP-Code:
$result mysql_fetch_array($abfrage
hin.

Kannst Du Dir unter PHP: mysql_fetch_array - Manual noch einmal genauer ansehen.
Mit Zitat antworten
  #6 (permalink)  
Alt 05.08.2008, 11:40
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 69
erxx befindet sich auf einem aufstrebenden Ast
Standard

variablen wirrwar ^^ hab mich vertan

danke euch
Mit Zitat antworten
  #7 (permalink)  
Alt 05.08.2008, 11:44
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.301
mantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblickmantiz ist ein Lichtblick
Standard

Kommt schonmal vor.
Mit Zitat antworten
  #8 (permalink)  
Alt 05.08.2008, 12:12
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 69
erxx befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$query mysql_query("UPDATE $table SET (password, salt) VALUES ('$password', '$salt')  WHERE userID = $userid AND username = '$username' AND email = $email"); 

scheint falsch zu sein, war auch mehr ein Test ob es so funktioniert
richtig wäre es :

PHP-Code:
$query mysql_query("UPDATE $table SET password = '$password', salt = '$salt' WHERE userID = $userid AND username = '$username' AND email = '$email'") or die(mysql_error()); 
Mit Zitat antworten
  #9 (permalink)  
Alt 12.08.2008, 17:50
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 69
erxx befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php
if(isset($_POST['username']) && ($_POST['email'])) {
  
$site 'domain.de';
  
// MySQL Verbindung
  
$table "wcf1_user";
  
$verbindung connect($table);
  
// User-Informationn 
  
$username mysql_real_escape_string(trim($_POST['username']));
  
$email mysql_real_escape_string(trim($_POST['email']));

  
// SQL Abfrage welche den Benutzenamen in Verbindung der Email Adresse in der Datenbank sucht
  
$abfrage mysql_query("SELECT userID FROM $table WHERE username = '$username' AND email = '$email'") or die(mysql_error());
  
$menge mysql_num_rows($abfrage) or die(mysql_error());
  
$result mysql_fetch_array($abfrage) or die(mysql_error());
  
$userid $result[0];  
  if(
$menge != 0
  {
      
//Neuer Salt wird generiert
      
$salt generateHash(5417null);
      
//Neues Passwort wird generiert
      
$newpass generatePass();
      
// Neues Passwort wird gesalzen
      
$password saltThePasswd($newpass$salt);
      
// Neues gesalzene Passwort und Salt werden in die DB eingetragen
      
$query mysql_query("UPDATE $table SET password = '$password', salt = '$salt' WHERE userID = $userid AND username = '$username' AND email = '$email'") or die(mysql_error());
      
// Adresse, an welche die E-Mail versendet werden soll
      
$empfaenger "$email";
      
$betreff "Neues Passwort für ihr Benutzerkonto auf $site";
    
      
// Nachricht.
      
$message  "Hallo $username,\n";
      
$message .= "Ihr neues Passwort lautet : $newpass \n";
      
$message .= "Sie können sich ab sofort mit ihrem Benutzernamen und dem neuen Passwort anmelden.\n";
      
$message .= "http://www.$site\n \n";
  
      
$message .= "Mit freundlichen Grüßen\n";
      
$message .= "Administration von $site\n";
    
      
// Header-Informationen
      
$header "From:kontakt@$site\n";
      
$header .= "Content-Type: text/plain";
    
      
// Mail zusammenstellen und absenden
      
mail($empfaenger$betreff$message$header);
      
?><div class="meldung"><div class="meldungtitle">&nbsp;Neues Passwort wird an Sie gesendet</div><div class="meldungcontent">Es wird nun ein neues Passwort an die angegebene E-Mail Adresse gesendet.<br /><br /><a class="meldungscontent" href="./index.php">Automatische Weiterleitung erfolgt in K&uuml;rze, wenn Sie nicht warten wollen klicken Sie hier</a>.<br /><br /></div></div>
            <div class="clear"></div>
                <script type="text/javascript"> // automatische weiterleitung
                window.setTimeout('window.location.href="./index.php"','5000');
                </script> <?
  
}
  else  { 
      
?><div class="meldung"><div class="meldungtitle">&nbsp;Benutzerinformationen nicht gefunden</div><div class="meldungcontent">Diese Kombination aus Benutzername und E-mail ist nicht in unserer Datenbank vorhanden.<br /><br /><a class="meldungscontent" href="./index.php">Automatische Weiterleitung erfolgt in K&uuml;rze, wenn Sie nicht warten wollen klicken Sie hier</a>.<br /><br /></div></div>
      <div class="clear"></div>
                  <script type="text/javascript"> // automatische weiterleitung
                window.setTimeout('window.location.href="./index.php"','5000');
                </script> <?
  

}
else {
?>
        <div class="meldung">
          <div class="meldungtitle">&nbsp;Passwort vergessen</div>
          <div class="meldungcontent2">
            <form accept-charset="utf-8" action="index.php" method="post">
                <input type="hidden" name="page" value="forgotpw" />
                <table summary="" cellpadding="4" cellspacing="0">
                <tr>
                <td width="25%"><b>&nbsp;Benutzername:</b><br /></td>
                <td><input type="text" tabindex='1' value="Benutzername" name="username" style="border:1px solid #333333; background-color:#fdf2e2; width:95%; font-size:9px; height:1.4em;" onfocus=        "if(this.value==defaultValue)this.value='';" onblur="if(this.value=='')this.value=defaultValue;" size="8" maxlength="35"/></td>
                </tr>
                <tr>
                <td width="25%"><b>&nbsp;E-Mail:</b><br /></td>
                <td><input type="text" name="email" value="E-Mail Adresse" style="border:1px solid #333333; background-color:#fdf2e2; width:95%; font-size:9px; height:1.4em;" onfocus=        "if(this.value==defaultValue)this.value='';" onblur="if(this.value=='')this.value=defaultValue;" size="8" maxlength="9" /></td>
                </tr>
                <tr>
                <td width="25%"></td>
                <td><input type="submit" value="Anfrage senden &raquo;" style="border:1px solid #333333; background-color:#fdf2e2; width:95%; font-size:9px; height:auto;" /></td>
                </tr>
                </table>
             </form>
          </div>
          
          <div class="clear"></div> 
          
          <div class="meldungtitle">&nbsp;Hinweise</div>
          <div class="meldungcontent2">
             <table summary="" cellpadding="4" cellspacing="0">
              <tr>
              <td width="25%">
              <ul>
             <li>Sie bekommen umgehend eine E-Mail mit einem neuen Passwort, leider k&ouml;nnen wir aus sicherheitstechnischen Gr&uuml;nden ihnen ihr altes Passwort nicht zusenden. Es wird deshalb ein neues Passwort f&uuml;r Sie generiert. Dieses Passwort kann selbstverst&auml;ndlich im Userbereich umge&auml;ndert werden.</li>
             <li><b>Falls Sie ihren Benutzernamen oder ihre eingetragene E-Mail Adresse nicht mehr kennen, oder keinen Zugang mehr zu ihrem E-Mail Konto besitzen. So kontaktieren Sie uns &uuml;ber das f&uuml;r Sie bereitgestellte Kontaktformular</b></li>
               </ul>
              </td>
              </tr>
              </table>
          
         </div>
          <div class="clear"></div>
          
              

       </div>
<? }

Das Problem bei dem Code ist, dass er seltsamer Weise das else von dieser if-Anweisung
PHP-Code:
if($menge != 0
nicht beachtet und den Code sofort unterbricht :S so als b da ein exit() wär :S.

Ist wahrscheinlich irgendwo ein dummer Fehler aber ich find den einfach nicht ^^
Mit Zitat antworten
  #10 (permalink)  
Alt 13.08.2008, 17:31
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.934
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von erxx Beitrag anzeigen
Das Problem bei dem Code ist, dass er seltsamer Weise das else von dieser if-Anweisung
PHP-Code:
if($menge != 0
nicht beachtet und den Code sofort unterbricht :S so als b da ein exit() wär :S.
Doch, das beachtet PHP schon, nur kommt das Script nie bis dahin und bricht bei 0 (= FALSE) Ergebnissen schon hier wegen dem die() ab:
PHP-Code:
$menge mysql_num_rows($abfrage) or die(mysql_error()); 
Mario
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kennwort oder Passwort ? (für D) Scheppertreiber Offtopic 64 02.02.2009 11:58
Ungültiges Passwort bei .htaccess Iustinian Serveradministration und serverseitige Scripte 3 29.12.2008 17:47
htaccess: Einloggen klappt nicht, frägt immer nach Passwort Juuro Serveradministration und serverseitige Scripte 0 08.11.2008 16:00
Safari: Passwort und Benutzername werden fälschlicherweise eingesetzt Hairy (X)HTML 2 06.07.2008 11:41
Funktions namen vergessen bitte um hilfe Wurmi CSS 2 25.01.2007 14:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:40 Uhr.