nochmal..

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

  • nochmal..

    ich glaub ich muß mal etwas ausholen:
    Ich bastel gerade ein Profilmanagement für ein kleines Forum.
    In der Profil-Sektion kann man seine Userdaten verändern.
    Wenn die Emailadresse verändert wird, möchte ich die Aktivierung zurücksetzen und einen neuen Aktivierungslink senden.
    Ich muß also vergleichen, ob die eingegebene Emailadresse verändert wurde:
    PHP-Code:
    $query "SELECT email FROM $forumtable WHERE nickname='$nickname'";
    $row mysql_fetch_row($query);
    if(
    $row [0]!="$mail") {   //wenn mail ungleich is...

    $query1 "UPDATE $forumtable SET email = '$mail' WHERE nickname = '$nickname'";
    $result1 = @mysql_query($query1);
    ......
    }else{
    UPDATE nur das andere zeugs..

    Wo is da mein Denkfehler?
    Brauch ich dazu ne Schleife?
    Gruß

  • #2
    ne schleife brauchst du eigenlich nicht.

    ich denke so kommst du damit weiter.

    PHP-Code:
    $query "SELECT email FROM $forumtable WHERE nickname='$nickname'";
    $row mysql_fetch_row($query);
    if(
    $row [0]!="$mail") {   //wenn mail ungleich is...

      // alle felder aktualisieren, gemäß eingabe. und user inaktiv schalten.
      
    $query1 "UPDATE $forumtable SET email = '$mail', name='name', aktiv = 'N' WHERE nickname = '$nickname'";
      
    $result1 = @mysql_query($query1);
      ......
      
    // jetzt neuen link versenden, wie schon bei der anmeldung.

    }
    else {
      
    // normaler update der daten

    nun abwarten, bis der user sich wieder aktiviert.

    [edit]
    hatte komma vergessen ...
    Zuletzt geändert von Abraxax; 24.12.2002, 12:55.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Eine Schleife brauchst du nicht. Das ganze sieht auf den ersten Blick auch ganz in Ordnung aus? Hast du schonmal geschaut, ob das SQL Statement richtig an den SQL Server gegeben wird? Vielleicht liegt da dein Problem.

      Aber um deine Frage zu beantworten. Nein, du brauchst keine Schleife.
      Ans Ziel kommt nur der, der auch eins hat. www.e-cross.info

      Kommentar


      • #4
        danke für Eure Hilfe.
        Hier mal das ganze..
        PHP-Code:
        <?

        header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        header ("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
        header ("Cache-Control: no-store");
        header ("Cache-Control: must-revalidate", false);
        header ("Cache-Control: proxy-revalidate", false);
        header ("Cache-Control: max-age=0", false);
        header ("Cache-Control: post-check=0", false);
        header ("Cache-Control: pre-check=0", false);
        header ("Pragma: no-cache");

        include('forumconfig.php');
        $link = dbConnect();

        $query = "SELECT email FROM $forumtable WHERE nickname='$nickname'";
        $result = mysql_query($query);
        $row = mysql_fetch_row($result);
        if($row[0] != "$mail") {

          $query1 = "UPDATE $forumtable SET email = '$mail', aktiv = '0' WHERE nickname = '$nickname'";
          $result1 = @mysql_query($query1);

        $sendmail = mail("$mail","2ama.com ","
        Sehr geehrte/r $nickname,

        usw......

        echo "&nachricht=Ihre Emailadresse wurde geändert. Ein neuer Aktivierungslink wird an Ihre neue Adresse gesendet.";

        }else{

        $query2 = "UPDATE $forumtable SET homepage = '$homepage', icq = '$icq', signature = '$signature', geboren = '$geboren', lebenslauf = '$lebenslauf', beruf = '$beruf', ort = '$ort', interessen = '$interessen' WHERE nickname = '$nickname'";
        $result2 = @mysql_query($query2);
        echo "&result=Danke, die Datenbank wurde erfolgreich aktualisiert&";
        }

        mysql_close($link);

        ?>
        Das untere Update funzt... das mit der email nicht
        Wenn ich die $mail ändere, bleibt er irgendwo im Script hängen.
        Gruß
        P.s. nicht wundern, wegen dem cache und den echos... is für Flash..

        Kommentar


        • #5
          welche fehlermeldung wird denn ausgegeben.

          ausserdem sollte man die @ auch mal weglassen, damit man fehler sehen kann.

          $result1 = @mysql_query($query1);
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            sorry.. die Fehlerunterdrückung hab ich überall rausgemacht und nach den Abfragen echo mysql_error(); drangehängt.
            Fehler bekomme ich keine.
            Ich glaube ich steig grad hinter das Problem.
            Die mail wird nicht gesendet und das echo "&nachricht..... kommt nicht.
            In profils.php?nickname=tobias&email=tobias@2ama.com im browser wird das ganze skript durchlaufen und alle Daten gelöscht...
            hmmm....

            Kommentar


            • #7
              dann musst du erst einmal suchen, wie dein script überhaupt was abarbeitet.
              du hast dich da bestimmt nur 'verstrickt'
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                abarbeiten tut's fein..
                der Fehler muss hier sein:
                PHP-Code:
                if($row[0] != '$mail') { 
                probier's aus..
                profil
                Gruß

                Kommentar


                • #9
                  mach mal so.
                  (ohne ' )
                  PHP-Code:
                  if($row[0] != $mail) { 
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    nene... kann's ned sein.
                    Wenn ich das ganze umdrehe, geht gar nix mehr
                    also:
                    PHP-Code:
                    $query "SELECT email FROM $forumtable WHERE nickname='$nickname'";
                    $result mysql_query($query);
                    $row mysql_fetch_row($result);

                    if(
                    $row[0] == '$mail') {
                    $query2 "UPDATE $forumtable SET homepage = '$homepage', icq = '$icq', signature = '$signature', geboren = '$geboren', lebenslauf = '$lebenslauf', beruf = '$beruf', ort = '$ort', interessen = '$interessen' WHERE nickname = '$nickname'";
                    $result2 mysql_query($query2);
                    echo 
                    "&result=Danke, die Datenbank wurde erfolgreich aktualisiert&";
                    }
                      

                    }else{

                    $query1 "UPDATE $forumtable SET email = '$mail', aktiv = '0' WHERE nickname = '$nickname'";
                      
                    $result1 mysql_query($query1);

                    $sendmail mail("$mail","2ama.com ",

                    Kommentar


                    • #11
                      ich meinte, du sollst die anführungszeichen um $mail weglassen.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        nein, inzwischen funktioniert das alles.... ... bis auf die Emailbenachrichtigung. Aber das liegt wohl am Server.
                        Vielen Dank für deine Hilfe.
                        Gruß

                        Kommentar


                        • #13
                          woran lag es dènn?
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            an mir

                            PHP-Code:

                            <?

                            header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
                            header ("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
                            header ("Cache-Control: no-store");
                            header ("Cache-Control: must-revalidate", false);
                            header ("Cache-Control: proxy-revalidate", false);
                            header ("Cache-Control: max-age=0", false);
                            header ("Cache-Control: post-check=0", false);
                            header ("Cache-Control: pre-check=0", false);
                            header ("Pragma: no-cache");

                            include('forumconfig.php');
                            $link = dbConnect();

                            $query = "SELECT email FROM $forumtable WHERE nickname='$nickname'";
                            $result = mysql_query($query);
                            $row = mysql_fetch_row($result);
                            if($row[0] != "$mail") {
                              $query1 = "UPDATE $forumtable SET email = '$mail', aktiv = '0', homepage = '$homepage', icq = '$icq', signature = '$signature', geboren = '$geboren', lebenslauf = '$lebenslauf', beruf = '$beruf', ort = '$ort', interessen = '$interessen' WHERE nickname = '$nickname' WHERE nickname = '$nickname'";
                              $result1 = mysql_query($query1);
                            $query = "SELECT password FROM $forumtable WHERE nickname='$nickname'";
                            $result = mysql_query($query);

                            $sendmail = mail("$mail","2ama.com ","
                            Sehr geehrte/r $nickname,

                            Ihre Emailadresse wurde geändert. 
                            Bitte benutzen Sie folgenden Link um Ihren Zugang erneut zu aktivieren:
                            [url]http://www.amazing-animations.de/fforum/activ.php?nickname=[/url]$nickname&password=$password
                            Sie können dann Ihr Userprofil Ihren Wünschen anpassen.
                            Mit freundlichem Gruß
                            2ama.com
                            [url]http://www.2ama.com/[/url]
                            ","From: Flash-Forum Aktivierung <service@2ama.com> Content-Type: html");

                            echo "&nachricht=Ihre Emailadresse wurde geändert. Ein neuer Aktivierungslink wird an Ihre neue Adresse gesendet.";
                            echo "&result=Danke, die Datenbank wurde erfolgreich aktualisiert&";
                            exit;
                            }else{

                            $query2 = "UPDATE $forumtable SET homepage = '$homepage', icq = '$icq', signature = '$signature', geboren = '$geboren', lebenslauf = '$lebenslauf', beruf = '$beruf', ort = '$ort', interessen = '$interessen' WHERE nickname = '$nickname'";
                            $result2 = mysql_query($query2);
                            echo "&result=Danke, die Datenbank wurde erfolgreich aktualisiert&";
                            }

                            mysql_close($link);

                            ?>
                            Ich war wohl zu hecktisch...

                            Schöne Weihnachten

                            Kommentar


                            • #15
                              danke.
                              auch dir frohe weihnachten.
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X