Passwort senden script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Passwort senden script

    Hi Leute,

    ich arbeite gerade an einem Script, das einem Benutzer, wenn er sein Passwort vergessen hat, seins zusenden soll.
    Nun habe ich nur bei dem auswerten script ein Problem. Das Forumlar für die eingabe der email addy sieht so aus :
    PHP-Code:
    <h4>Bitte Emailadresse eintragen um Passwort zu erhalten !</h4>
      <
    form action="index.php" method="POST">
        
    eMail: <input type="text" name="email">
        <
    input type="submit" name="send" value="Abschicken">
        <
    input type="hidden" name="inc" value="sendpw">
      </
    form
    Das auswerten script sieht so aus:
    PHP-Code:
    <?php
    $sql 
    "SELECT Name, Vorname, Benutzername, Passwort, Email FROM user WHERE Email == '".$_POST['email']."'";
    $query mysql_query($sql);
    $result mysql_fetch_array($query);

    if(
    $_POST['send'])  {

      if(empty(
    $_POST['email']))  {
          echo 
    'Bitte eine Emailadresse angeben !';
      } else  {
      
            if(empty(
    $result))  {
                echo 
    'Diese Emailadresse existiert in der Datenbank nicht';
            } else  {
                  
    $Empfaenger $_POST['mail'];
                  
    $Betreff "Logindatenanfrage f&uuml;r chicky-style.de";
                  
    $Mailnachricht "Ihre Logindaten f&uuml;r chicky-style.de";
                  
    $Mailnachricht .= $result;
                    
    mail($Empfaenger$Betreff$Mailnachricht);
                  echo 
    'Ihre Logindaten befinden sich nun bei Ihnen im Postfach';
              }
              
        }

    }
    ?>
    Wenn man kein email adresse eingibt funktioniert es einwandfrei. Gibt man jedoch eine adresse ein, gibt das script immer 'Diese Emailadresse existiert in der Datenbank nicht' aus. Das liegt warscheinilch an if(empty($result)) weil ich nicht weis ob das so überhaupt geht. Dabei wird dann folgende Fehlermeldung ausgegeben:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Programme\xampp\htdocs\Page\sendpw.inc.php on line 4
    Ich wäre dankbar für konstruktive Hilfestellungen.

    Gruß

  • #2
    So

    PHP-Code:
    <?php
    $sql 
    "SELECT Name, Vorname, Benutzername, Passwort, Email FROM user WHERE Email == '$_POST['email']' ";
    $query mysql_query($sql);
    $result mysql_fetch_array($query);

    if(
    $_POST['send'])  {

      if(empty(
    $_POST['email']))  {
          echo 
    'Bitte eine Emailadresse angeben !';
      } else  {
      
            if(empty(
    $result))  {
                echo 
    'Diese Emailadresse existiert in der Datenbank nicht';
            } else  {
                  
    $Empfaenger $_POST['mail'];
                  
    $Betreff "Logindatenanfrage f&uuml;r chicky-style.de";
                  
    $Mailnachricht "Ihre Logindaten f&uuml;r chicky-style.de";
                  
    $Mailnachricht .= $result;
                    
    mail($Empfaenger$Betreff$Mailnachricht);
                  echo 
    'Ihre Logindaten befinden sich nun bei Ihnen im Postfach';
              }
              
        }

    }
    ?>
    Oder so
    PHP-Code:
    <?php
    $sql 
    "SELECT Name, Vorname, Benutzername, Passwort, Email FROM user WHERE Email == $_POST['email'] ";
    $query mysql_query($sql);
    $result mysql_fetch_array($query);

    if(
    $_POST['send'])  {

      if(empty(
    $_POST['email']))  {
          echo 
    'Bitte eine Emailadresse angeben !';
      } else  {
      
            if(empty(
    $result))  {
                echo 
    'Diese Emailadresse existiert in der Datenbank nicht';
            } else  {
                  
    $Empfaenger $_POST['mail'];
                  
    $Betreff "Logindatenanfrage f&uuml;r chicky-style.de";
                  
    $Mailnachricht "Ihre Logindaten f&uuml;r chicky-style.de";
                  
    $Mailnachricht .= $result;
                    
    mail($Empfaenger$Betreff$Mailnachricht);
                  echo 
    'Ihre Logindaten befinden sich nun bei Ihnen im Postfach';
              }
              
        }

    }
    ?>
    Fehlt da nicht noch die DB verbindung?
    Oder wird das includiert?

    Kommentar


    • #3
      ne, die wird per config.php includiert

      kommt aber immernoch die selbe fehlermeldung

      Kommentar


      • #4
        hab fehler gefunden

        bei der sql select nur mit einem = und nicht mit zwei

        Kommentar


        • #5
          http://nopaste.php-q.net/210175
          aber was ist daran falsch?

          €dit: Probier mal mit $_POST[email];
          Zuletzt geändert von Simon94; 05.05.2006, 20:31.

          Kommentar


          • #6
            nene, das script funktioniert. allerdings habe ich mit der mysql abfrage noch nen problem. In der Mail, die gesendet wird, in der eigentlich die Logindaten steh sollten, steht nur folgendes:
            Ihre Logindaten für chicky-style.de
            Array
            Eigentlich sollten anstelle von "array" ja die login daten stehen. welchen anderen abfragen typ muss ich anstatt von mysql_fetch_array wählen oder muss da noch irgendwas dazu ?

            Kommentar


            • #7
              es wurde schon 1000 mal gesagt, dass man nach jeder query
              mysql_query($sql) or die(mysql_error());
              ein mysql_error ausgegeben sein muss.
              Slava
              bituniverse.com

              Kommentar


              • #8
                Ich denk mal dumusstirgendwie ein echo machen.

                Kommentar


                • #9
                  Hmm, ich kann doch nicht schreiben
                  $Mailnachricht .= echo $result;

                  oder was meinst du ?

                  Kommentar


                  • #10
                    ka ^^
                    Also das steht ja Array. ich denk mal das der das in ein Array packt.
                    Dann brauchst du nurnoch den name vom Array(ich glaub this müsste gehen) und machst bei PW ein Echo..... Aber würd das mti MD5 codiert? dann müsstestdu es noch decoden.

                    Kommentar


                    • #11
                      $result = mysql_fetch_array($query);

                      dann ist $result ein array. Diie zehn Elemente sind Name, Vorname, Benutzername, Passwort, Email , Name, Vorname, Benutzername, Passwort, Email .

                      (alles zweimal siehe genauere Beschreibung von mysql_fetch_array.)

                      Die keys im Array sind 0 1 2 3 4 Name Vorname Benutzername Passwort Email

                      Wahrscheinlich ziehst Du es dann vor,
                      $result = mysql_fetch_array($query, MYSQL_NUM); oder
                      $result = mysql_fetch_array($query, MYSQL_ASSOC); zu schreiben.
                      Zuletzt geändert von vierteln; 05.05.2006, 21:46.

                      Kommentar


                      • #12
                        Ok, danke habs gelöst mit einer foreach schleife und euren tips.
                        Danke dafür

                        Kommentar

                        Lädt...
                        X