Ankündigung

Einklappen
Keine Ankündigung bisher.

PW ändern script

Einklappen

Neue Werbung 2019

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

  • PW ändern script

    Servus leute, ich hab ein Problem (mal wieder). Ich habe jetzt ein login-script geschrieben welches auf mysql udn sessions basiert. das funktioniert auch einbahnfrei. Jetzt wollte ich ein script schrieben wo die user wenn sie eingeloggt sind ihr pw ändern können. Auch das habe ich soweit zum laufen gebracht. Jetzt wollte ich nach erfolgreiche, ändern des PW`s eine email an den user schicken mit den neuen Daten. Dazu habe ich die email adresse bei der datenbankabfrage mit abgefragt. doch ich bekomme trotzdem immer wieder die selbe fehlermeldung. Und zwar folgende:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web37/html/tnkstuff/tnkcms/mod/user/changepw.php on line 58
    Es sind keine Einträge in der Datenbank vorhanden
    Ich wollte erstmal als test um zu sehen überhaupot die richtige email adresse abgerufen wird einfach nur die email adresse ausgeben lassen bevor ich die mail funktion schriebe. leider ist das schon gescheitert.

    Wenn man sich den Code anguckt sieht man auch gleich das bei der abfrage, bzw. der ausgabe des inhaltes der db direkt der else teil ausgeführt wird und dadurch die ausgabe: "Es sind keine Einträge in der Datenbank vorhanden" direkt unter der fehlermeldung erzeugt wird. Und das verstehe cih auch nciht. WIe kann der rückgabewert der if-abfrage als ergebnis haben das kein inhalt vorhanden ist wenn ich direkt darüber erst das PW geändert habe? Also das PW ändern funktioniert definitiv. ich hab es mehrmals versucht mit ausloggen, dun wieder einloggen (mit altem und neuen pw). Es funktioniert definitiv. Nur das beschrieben problem krieg cih eben nciht in den griff.


    P.S.: hier ist der gesammte code des Scriptes (es ist nu eine Datei changpw.php):

    quakenet:#php - nopaste #14602> -- Uploaded File: changepw.php


    Ich habe den Code zur besseren übersicht mal bei nopaste gepostet. Ich hofe mir kann jemand helfen.
    .visit » Tolga-Tanik.de
    .visit » TolgaTanikFoto @ Facebook
    .visit » Tolga Tanik Fotografie @ YouTube


  • #2
    Ich vermute das du deine statements im SQL noch qouten musst ( ` )

    Kommentar


    • #3
      Ich vermute eher, dass du das PW zwar in der Datenbank geändert hast, aber nicht in der Session und wenn du dann bei deinen SQL Queries schreibst
      Code:
      WHERE username='".$_SESSION['username']."' AND password='".$_SESSION['password']."'
      (oder wie die Felder und Variablen auch heissen mögen), dann wird das natürlich nix, weil du das Passwort in der Datenbank geändert hast. Zumindest hatte ich vor langer Zeit mal ein sehr ähnliches Problem und das war die Lösung

      @drieling: Das Quoten von Tabellennamen und Tabellenfeldern mit ` ist immer optional...

      Kommentar


      • #4
        Hu,
        nach einem Update Query musst du mysql_affected_rows() verwenden um an die Anzhal der geänderten Zeilen heranzukommen. mysql_num_rows() funktioniert nur bei select Querys.
        Ein Update Query gibt dir auch keine Zeilen zurück (-> du musst also die geänderten Zeilen mit einem extra Query auslesen, wenn du diese sehen möchtest.).

        Kommentar


        • #5
          Zitat von Papst Beitrag anzeigen
          Hu,
          nach einem Update Query musst du mysql_affected_rows() verwenden um an die Anzhal der geänderten Zeilen heranzukommen. mysql_num_rows() funktioniert nur bei select Querys.
          Ein Update Query gibt dir auch keine Zeilen zurück (-> du musst also die geänderten Zeilen mit einem extra Query auslesen, wenn du diese sehen möchtest.).
          Okay, das leuchtet ein. Ich hab es schon richtig gemacht, nur halt unter den falschen Query geschrieben. Ich musste das ganze nur etwas hochzeihen zum SELECT Query. Jetzt funktioniert es. Also ich kann jetzt die Daten aus der DB auslesen und damit arbeiten. Danke schonmal dafür.

          Die Email wird auch erfolgreich abgesendet. Es funktioniert wieder alles und ich bin happy.


          P.S.: Ich habe gemerkt das wenn ich mehr als 2 Stunden am Coden bin sich immer solche kleinen Fehler einschleichen und cih wohl Codeing-Blind werde und diese einfach nicht mehr sehe. Geht es euch auch manchmal so? Naja, danke für die hilfe. Ich schreie wieder wenn ich hänge
          .visit » Tolga-Tanik.de
          .visit » TolgaTanikFoto @ Facebook
          .visit » Tolga Tanik Fotografie @ YouTube

          Kommentar

          Lädt...
          X