Passwort ändern!

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

  • Passwort ändern!

    Hallo Ihr ich mal wieder.

    Habe ein Passwortscript geschrieben mit einer Eingabe und einer Ausgabe.

    Hier das Eingabescript:
    <?php
    include("../inc/func.inc.php");
    print "<html>";
    print "<head>";
    print "<meta http-equiv='Content-Language' content='de'>";
    print "<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>";
    print "<meta name='GENERATOR' content='PFE 32'>";
    print "<title>Webmasterbereich</title>";
    print "</head>";
    print "<body bgcolor='$bgc' link='$sfl' alink='$sfa' vlink=$sfb'>";
    print "<center>";
    print "<$ffa>";
    print "Passwort ändern<br><br>";
    print "<table width='60%' border='0'>";
    print "<form action='pass.php' method='POST'>";
    print "<input type='hidden' name='wuser' value='$user'>";
    print "<tr><td width='50%'><$ffa>Neues Passwort:<$ffe></td><td width='50%'><input type='text' name='npsw' size='20'></td></tr>";
    print "<tr><td width='50%'><$ffa>Passwort wiederholen:<$ffe></td><td width='50%'><input type='text' name='npsw1' size='20'></td></tr>";
    print "<tr><td colspan='2' width='100%'><p align='center'><input type='SUBMIT' value='Passwort ändern' name='passwort' $bst></td></tr>";
    print "</form>";
    print "</table>";
    print "<$ffe>";
    print "</body>";
    print "</html>";
    ?>
    hier das Ausgabescript:
    <?php
    include("../inc/func.inc.php");
    print "<html>";
    print "<head>";
    print "<meta http-equiv='Content-Language' content='de'>";
    print "<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>";
    print "<meta name='GENERATOR' content='PFE 32'>";
    print "<title>Webmasterbereich</title>";
    print "</head>";

    if ($passwort)
    {
    if ($npsw == $npsw1)
    {
    $db = mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw");
    $sqlab = "update user set pwd='$npsw1' where usr='$wuser'";
    mysql_db_query("$MySQL_Data", $sqlab);

    $num = mysql_affected_rows();

    if ($num<0)
    echo "<$ffa color='#ff0000'><p align='center'><b>Bitte melden Sie sich ab und wieder mit dem neuen Passwort an.</b><$ffe><br>";
    }
    else
    {
    echo "<$ffa><p align='center'>Sie haben zwei verschieden Passwörter eingegeben.<br>";
    echo "Bitte wiederholen Sie den Vorgang noch mal.<br><br>";
    echo "<a href='passwort.php' target='text' $omo>Passwört ändern</a><$ffe>";
    }
    }
    print "</body>";
    print "</html>";
    ?>

    aber er ändert mir das Passwort in der Datenbank nicht?
    Was habe ich falsch gemacht?

    cu
    Gilbert
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Also wenn du überhaupt keine Fehlermeldung bekommst, so hast du entweder einen logischen Fehler innerhalb deines Labyrinths von if-clauses oder bei deiner WHERE-clause in der Query stimmt irgendetwas nicht...

    Übrigens so nebenbei zur mysql_db_query-Funktion:
    Note: This function has been deprecated since PHP 4.0.6. Do not use this function. Use mysql_select_db() and mysql_query() instead.

    CAT Music Files

    Kommentar


    • #3
      Übrigens so nebenbei zur mysql_db_query-Funktion:
      Note: This function has been deprecated since PHP 4.0.6. Do not use this function. Use mysql_select_db() and mysql_query() instead.[/B]
      Kannst du das mal übersetzen!!!

      cu
      Gilbert
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        Bemerkung: Diese Funktion ist seit PHP 4.0.6 veraltet. Es wird geraten, diese Funktion nicht zu benutzen und stattdessen mysql_select_db() und mysql_query() zu verwenden.

        CAT Music Files

        Kommentar


        • #5
          Selbst nach umstellen auf mysql_select_db ändert er mir das Passwort mit. Und $wuser wird von Passwort übergeben. Laut Quelltext auch richtig.

          Woran kann es noch liegen?

          cu
          Gilbert
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            Woran erkennst du denn, dass das Passwort nicht geändert wurde...? Sagt das dein Script oder ist es auch in der Datenbank immer noch das alte?

            CAT Music Files

            Kommentar


            • #7
              In der Datenbank steht immer noch das alte Passwort selbst nach strg+F5.

              Mein Script sagt mir aber das das Passwort geändert wurde.
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                Habe jetzt mal das Script erweitert:
                global $npsw1, $f1;

                zu Ausgabe habe ich in der
                echozeile folgendes eingeetragen:
                npsw1:$npsw1<br>f1:$f1

                Inder HTMLausgabe zeigt er mir auch die beiden Variablen an, nur ändert er die Datenbank nicht.
                Warum nur(Haare rauf).

                cu
                Gilbert
                *winks*
                Gilbert
                ------------------------------------------------
                Hilfe für eine Vielzahl von Problemen!!!
                http://www.1st-rootserver.de/

                Kommentar


                • #9
                  In deiner Query muss ein Fehler sein.
                  Probier es mal damit:

                  $db = mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw");
                  $sqlab = "update user set pwd='$npsw1' where usr='$wuser'";
                  $result = mysql_db_query("$MySQL_Data", $sqlab);
                  if (!$result) {
                  echo 'Datenbankfehler: '.mysql_error().'<br>';
                  echo 'Query: '.$sqlab.'<br>';
                  }
                  $num = mysql_affected_rows($result);
                  if ($num>0) //sollte eigentlich >0 heißen, nicht <0 !
                  echo "<$ffa color='#ff0000'><p align='center'><b>Bitte melden Sie sich ab und wieder mit dem neuen Passwort an.</b><$ffe><br>";

                  CAT Music Files

                  Kommentar


                  • #10
                    Jetzt kommt die Fehlermeldung:
                    Warning: Supplied argument is not a valid MySQL-Link resource in c:\apache\htdocs\webmaster\user\pass.php on line 24

                    global $f1, $npsw1;
                    if ($passwort)
                    {
                    if ($npsw == $npsw1)
                    {
                    $db = mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw");
                    $sqlab = "update user set pwd='$npsw1' where usr='$f1'";
                    $result = mysql_db_query("$MySQL_Data", $sqlab);
                    if (!$result)
                    {
                    echo "Datenbankfehler: ".mysql_error()."<br>";
                    echo "Query: ".$sqlab."<br>";
                    }
                    /* Zeile24 */ $num = mysql_affected_rows($result);
                    if ($num>0) //sollte eigentlich >0 heißen, nicht <0 !
                    echo "<$ffa color='#ff0000'><p align='center'><b>Bitte melden Sie sich ab und wieder mit dem neuen Passwort an.</b><$ffe><br>";
                    }
                    }

                    aber das Passwort wird geändert.!!!!!!!
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar


                    • #11
                      *schulterzuck*

                      Jetzt weiß ich auch nicht mehr weiter.
                      Führt deine Datenbank ein Eigenleben...? *g*

                      CAT Music Files

                      Kommentar


                      • #12
                        $num = mysql_affected_rows();
                        if ($num<0)
                        Habe einfach diesen Bereich aus dem Script geschmissen und jetzt geht es. Er trägt mir das Passwort ein und gibt mir auch die Ausgabe das Das Passwort geändert wurde. Auch bei einem falschen Passwort wird mir das Angezeigt.
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          Oops.. Ich hab gepennt... "Editor's Note: Review the above documentation carefully! mysql_affected_rows() works with connection handles returned by mysql_connect() or mysql_pconnect(), not with result handles returned by
                          mysql_query() or mysql_db_query()"

                          Diese Funktion nimmt keine Result-, sondern nur Connection-IDs an - es muss also heißen:

                          /* Zeile24 */ $num = mysql_affected_rows($db);
                          if ($num>0) //sollte eigentlich >0 heißen, nicht <0 !

                          CAT Music Files

                          Kommentar


                          • #14
                            $num = mysql_affected_rows($db);
                            if ($num>0)
                            Was bringt diese Funktion eigentlich?
                            Was kann ich mit dieser Funktion erreichen.
                            *winks*
                            Gilbert
                            ------------------------------------------------
                            Hilfe für eine Vielzahl von Problemen!!!
                            http://www.1st-rootserver.de/

                            Kommentar


                            • #15
                              Damit siehst du, ob das UPDATE erfolgreich verlaufen ist, und zwar insofern, dass auch geeignete (also den Bedingungen der WHERE-Klausel entsprechende) Rows gefunden und upgedatet wurden.

                              CAT Music Files

                              Kommentar

                              Lädt...
                              X