Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHP-MySQL-Freischaltung

Einklappen

Neue Werbung 2019

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

  • #46
    falls ihr nich wusstet das ich editiert hab schieb ich den thread mal nach oben

    mfg wing

    Kommentar


    • #47
      Ich glaub ich hab den Fehler...


      Code:
      http://wing.funpic.de/userarea/init.php?mail=".md5($hismail)."
      hier hast du mail

      Code:
      $sql = "UPDATE 
      * * * * * * * userarea 
      * * * * * * SET 
      * * * * * * * active = 1 
      * * * * * * WHERE 
      * * * * * * * MD5($hismail) = '".$_GET['email']."'
      und hier hast du email...

      Und noch was:
      ich glaub nicht, dass deine User so begeistert sind, wenn du dir deren eMail dir zuschicken lässt...

      Kommentar


      • #48
        ja das email is die datenbankspalte und $hismail is das was ins textfeld eingegeben wird

        das mit der email änder ich noch in eine benachrichtigungsmail die an mich versand wird ohne die daten selbstverständlich im mom existiert ja nur 1 user in der datenbank ;D

        mfg wing

        Kommentar


        • #49
          stimmt...
          hab auch ausversehen die falsche Zeile herausgenommen...

          die meinte ich eigentlich
          Code:
          if (!empty($_GET['email']))
          die dürfte nicht zu folgenden passen
          Code:
          http://wing.funpic.de/userarea/init.php?mail=".md5($hismail)."

          Kommentar


          • #50
            hmm die zeile
            Code:
            if (!empty($_GET['email']))
            verwirrt mich selber weil ich damit noch nich gearbeitet habe...

            also muss in das ($_GET['email']) die datenbankspalte oder das eingegebene rein?

            vielleicht kann ja RudiS noch ein bisschen helfen wenn er nich ganz verzweifelt ist

            Kommentar


            • #51
              Zitat von Wing
              hmm die zeile
              Code:
              if (!empty($_GET['email']))
              verwirrt mich selber weil ich damit noch nich gearbeitet habe...

              also muss in das ($_GET['email']) die datenbankspalte oder das eingegebene rein?

              vielleicht kann ja RudiS noch ein bisschen helfen wenn er nich ganz verzweifelt ist
              ($_GET['email']) solte sich die Variable email von

              Code:
              http://wing.funpic.de/userarea/init.php?mail=".md5($hismail)."
              holen...

              deshalb müsste die zeile

              Code:
              http://wing.funpic.de/userarea/init.php?email=".md5($hismail)."
              heißen.

              dann wird mit
              Code:
              if (!empty($_GET['email']))
              geprüft, ob die Variable gesendet worden ist...

              wenn ja, dann wird der Wert "active" auf 1 geändert, in der Zeile, wo die email wiederzufinden ist...

              so würde ich es mir erklären

              Kommentar


              • #52
                ahhhh wegen dem '%$§ e warte ich probier gleich mal aus

                mfg wing


                EDIT:

                Notice: Undefined variable: hismail in /usr/export/www/vhosts/funnetwork/hosting/wing/userarea/init.php on line 23
                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 ') = 'd609584582386e72af24cfa6787a3f37'' at line 6

                Kommentar


                • #53
                  ok

                  hab jetzt mal aus
                  Code:
                  MD5($hismail) = '".$_GET['email']."'
                  ein
                  Code:
                  email = '".$_GET['email']."'
                  gemacht und tada jetzt ist kein fehler mehr drin und das bild ist auch nich weiß denn jetzt steht drin

                  UPDATE userarea SET active = 1 WHERE email = 'd609584582386e72af24cfa6787a3f37'
                  aber jetzt hab ich das prob das active immer noch 0 ist

                  mfg wing

                  EDIT: kann das sein das ich die email addresse verchlüsselt in die datenbank aufnehmen muss oder geht das auch so?

                  EDIT 2:

                  yes, yes, yes, yes, yes habs geschafft

                  hab einen neuen user in die datenbank geschrieben mit der email addresse d609584582386e72af24cfa6787a3f37 und mit active 1 setzten hat funktioniert

                  jetzt gibt es nur noch ein paar fragen
                  1. ist es normal das die email addy und das passwort in der datenbank verschlüsselt sind?
                  2. wie schreibe ich die verschlüsselt in die datenbank rein?
                  3. wie mach ich ein "passwort vergessen" script wenn das passwort verschlüsselt ist?

                  (ihr braucht mir jetzt nicht meine ganze homepage coden ich brauch nur ein paar antworten den rest pack ich hoffentlich allein )

                  mfg und viele viele thx an euch wing

                  Kommentar


                  • #54
                    normal soltest du die email nicht verschlüsselt speichern.

                    wie willst du jetzt zB dem User eine eMail schreiben?

                    Die email des Users wird ja über den Link, den der User bekommt verschlüsselt ans Init.php geschickt.

                    Dass heißt, dass du sie auch verschlüsselt vergleichen musst (wie du es auch bemerkt hast).
                    Jetzt speicherst du aber die eMail nicht verschlüsselt ab, sondern schaust, welche email in der Datenbank verschlüsselt mit der verschlüsselten email aus dem Link zusammenpasst.

                    das hast du hier eigentlich schon so gemacht.
                    Code:
                    $sql = "UPDATE 
                    * * * * * * * userarea 
                    * * * * * * SET 
                    * * * * * * * active = 1 
                    * * * * * * WHERE 
                    * * * * * * * MD5($hismail) = '".$_GET['email']."
                    Nur hast du dich da irgendwie mit den Anführungszeichen verhaspelt (bei '".$_GET['email'].") .
                    Aber wart mal... ich such die das gleich mal aus meinem Script raus.

                    Kommentar


                    • #55
                      oh man hab selber grad einen blöden fehler übersehen...

                      und das mit den Anführungszeichen stimmte schon... hab nur vergessen ein ' zu kopieren


                      Also dein Fehler ist folgender:
                      Code:
                      $sql = "UPDATE 
                      * * * * * * * userarea 
                      * * * * * * SET 
                      * * * * * * * active = 1 
                      * * * * * * WHERE 
                      * * * * * * * MD5($hismail) = '".$_GET['email']."'
                      ich bezweifle jetzt mal, das die Spalte in der Datenbank, wo die email drin steht $hismail heißt.
                      Da wo $hismail steht, gehört der Name der Spalte, wo die eMail drin steht.

                      Dann müsste alles gehen...

                      Kommentar


                      • #56
                        also heißt das jetzt MD5($email) oder MD5(email)

                        und wie verhällt es sich mit dem passwort wie wird das so gespeichert das ich es auch noch auslesen kann

                        mfg wing

                        Kommentar


                        • #57
                          wenn die Spalte in der Datenbank email heißt dann muss es wie folgt heißen:
                          Code:
                          $sql = "UPDATE 
                          * * * * * * * userarea 
                          * * * * * * SET 
                          * * * * * * * active = 1 
                          * * * * * * WHERE 
                          * * * * * * * MD5(email) = '".$_GET['email']."'

                          Das Passwort solte aus Sicherheitsgründen nur verschlüsselt gespeichert werden...
                          Und es ist egal, wenn das Passwort verschlüsselt gespeichert ist, da du das Passwort ja nicht mehr lesen musst, sondern nur mit der Eingabe dami verglechen musst. Und dazu verschlüsselst du die Eingabe und vergleichst es mit dem verschlüsseltem gespeichertem Passwort.
                          Aber das schein wohl nicht das Problem zu sein, denn anscheinend funktioniert ja der Login...
                          Und solte einmal der User sein Passwort vergessen, musst du, bzw das Script ein neues Passwort generieren, und der User kann sich wieder sein Wunschpasswort einstellen.

                          Kommentar


                          • #58
                            super hat funktioniert doppel thanx an alle

                            jetzt schreib ich erstmal ein script um die ganzen leute in die datenbank einzutragen


                            dieser thread kann soviel ich weis endlich geschlossen werden :P

                            mfg wing

                            Kommentar


                            • #59
                              hi

                              hab nochmal ein kurzes problem

                              ich will jedesmal wenn sich jemand einloggt das eine sql spalte (date) aktualisiert wird
                              Code:
                              	$nowdate = date(Y,n,d)
                              und unten
                              Code:
                              	  if ($nowdate <> $get["date"]) {
                              	    echo "";
                              	  } else {
                                  $update = "UPDATE
                                               userarea
                                             SET
                                               date = $nowdate
                                             WHERE
                                               MD5(email) = '".$_GET['email']."'
                                            ";
                                  $result = mysql_query($update) OR die (mysql_error());
                              	  }
                              jetzt weis ich nich was bei SET und WHERE rein kommt (hab das von der email kopiert)

                              mfg wing

                              Kommentar


                              • #60
                                Als WHERE-Bedingung solltest du den Benutzernamen nehmen, was wohl das einfachste ist. Falls dein Feld vom Typ DATE oder DATETIME ist, dann kannst du auch den mySQL-Befehl NOW() nehmen.
                                mfg RudiS

                                Kommentar

                                Lädt...
                                X