Ankündigung

Einklappen
Keine Ankündigung bisher.

Passwort-Ändern-Seite

Einklappen

Neue Werbung 2019

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

  • Passwort-Ändern-Seite

    Guten Morgen PHP.de-Forum,
    ich habe ein kleines Problem mir meiner Passwort Ändern-Website.
    Diese soll den User der grade per Session eingeloggt ist die möglichkeit geben, sein
    Passwort zu ändern.
    Allerdings bekomm ich grade den Fehler:


    " Parse error: syntax error, unexpected '{' in /var/www/html/marcel/changepass.php on line 53"


    Vielen Dank schonmal im vorraus

    PHP-Code:
    <?php
    $_SESSION
    ["username"]= $username;
        
    $oldpw md5 ($_POST["pw"]); 
        
    $changepw1 md5 ($_POST["pw"]); 
        
    $changepw2 md5 ($_POST["pw2"]); 
        
    $errors = array();

        if(!isset (
    $oldpw) OR (!isset ($changepw1)  OR (!isset ($changepw2)
        {
        echo 
    "Bitte alle Felder ausfüllen";
        }
        else
        {
        if (
    $changepw1 !== $changepw2
        {
            echo 
    "Deine Passwörter stimmen nicht überein.";
        }
        else
        {
        
    $ueberpruefen "SELECT
                                    password
                            FROM
                                    USER                        
                            WHERE
                                username = "
    .($_SESSION)."
                                AND 
                                    password = "
    .($oldpw)."
                            "
    ;
                            echo 
    $ueberpruefen;
                            
    $result mysql_query($ueberpruefen) OR die("<pre>\n".$ueberpruefen."</pre>\n" .mysql_error());
                    
    $row mysql_fetch_assoc($result);
                    
    var_dump($_POST);
                    if(!
    $row)
                            
    $errors[] = "Ihr Passwort konnte leider nicht geändert werden.\n".
                        
        }
        if (
    count($errors))
        {
            echo 
    "Fehler beim ändern des Passwortes.<br>\n".
                    
    "<br>\n";
            foreach(
    $errors as $error)
                    echo 
    $error.  "<br>\n";
        echo  
    "<br>\n";
                                echo  
    "<a href=\"changepw.php\"Wiederhole deine Eingabe Bitte, ansonsten wende dich Bitte an den Webmaster.</a>\n";
        }
        else
        {
        
        
        
    $ueberpruefen "UPDATE
                                        user
                                SET
                                        password = "
    .($changepw1)."
                                WHERE
                                        username = "
    .($_SESSION)."
                                "
    ;
        
        }
        }
                            
    ?>

  • #2
    Betroffene Zeile hervorheben wäre gut bei solchen Meldungen.
    Da fehlt wahrscheinlich irgendwo ein ";" bevor die Klammer zum Einsatz kommt.
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      PHP-Code:
       if(!isset ($oldpw) OR (!isset ($changepw1)  OR (!isset ($changepw2
          { 
          echo 
      "Bitte alle Felder ausfüllen"
          } 
      Zähle die Klammern... wieviele geöffnete, wieviele geschlossene
      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

      Kommentar


      • #4
        Die Klammern Stimmen soweit.
        Ausjeden Fall wird jede Klammer wieder geschloßen.
        Bei:
        ini_set('display_errors',1);
        error_reporting(-1);

        wird mir leider gar nichts angezeigt.

        Habe bei
        $oldpw = md5 ($_POST['pw']);
        die ' durch " erstezt, es hat sich allerdings nichts geändert

        Kommentar


        • #5
          zudem solltest du auch für dich besser einrücken.
          Eine verschachtelte If-Anweisung in einer Linie nach unten fortzuführen ist sehr unübersichtlich
          PHP-Code:
              if(!isset ($oldpw) OR (!isset ($changepw1)  OR (!isset ($changepw2)
              {
              echo 
          "Bitte alle Felder ausfüllen";
              }
              else
              {
              if (
          $changepw1 !== $changepw2
              {
                  echo 
          "Deine Passwörter stimmen nicht überein.";
              }
              else
              {
                   ...
               } 
          besser so
          PHP-Code:
          if(!isset ($oldpw) OR (!isset ($changepw1)  OR (!isset ($changepw2)
          {
              echo 
          "Bitte alle Felder ausfüllen";
          }
          else
          {
              if (
          $changepw1 !== $changepw2
              {
                  echo 
          "Deine Passwörter stimmen nicht überein.";
              }
              else
              {
                  ....
              }

          Zudem kannst du auch gerne ein else if verwenden
          Die Jatravartiden auf Viltwodl VI können den Kram von dir auch nicht nachvollziehen

          Kommentar


          • #6
            PHP-Code:
            if(!isset ($oldpw) OR (!isset ($changepw1)  OR (!isset ($changepw2
            BTW:
            Da fehlen => )
            Die Jatravartiden auf Viltwodl VI können den Kram von dir auch nicht nachvollziehen

            Kommentar


            • #7
              Nein, wird sie nicht.
              Wir bei sowas immer mal einen Blick auf die Zeile vor dem Fehler.

              Kommentar


              • #8
                $oldpw = md5 ($_POST["pw"]);
                JUST SAY NO!
                http://php.net/manual/de/faq.passwords.php

                Kommentar


                • #9
                  Zitat von Moewe Beitrag anzeigen
                  PHP-Code:
                  if(!isset ($oldpw) OR (!isset ($changepw1)  OR (!isset ($changepw2
                  BTW:
                  Da fehlen => )
                  Wen ich bei "
                  if(!isset ($oldpw)) OR (!isset ($changepw1)) OR (!isset ($changepw2))

                  " Klammern setzte kommt die Meldung:
                  Parse error: syntax error, unexpected 'OR' (T_LOGICAL_OR) in /var/www/html/marcel/changepass.php on line 52
                  .

                  Ich habe auch Probiert jeweils "if"
                  zu schreiben:
                  if (!isset ($oldpw)) OR if(!isset ($changepw1)) OR if(isset ($changepw2))

                  allerding kommt die Meldung:
                  Parse error: syntax error, unexpected 'OR' (T_LOGICAL_OR) in /var/www/html/marcel/changepass.php on line 52

                  Kommentar


                  • #10
                    Zitat von marcel580 Beitrag anzeigen
                    Wen ich bei "
                    if(!isset ($oldpw)) OR (!isset ($changepw1)) OR (!isset ($changepw2))

                    " Klammern setzte kommt die Meldung:
                    Parse error: syntax error, unexpected 'OR' (T_LOGICAL_OR) in /var/www/html/marcel/changepass.php on line 52
                    .

                    Ich habe auch Probiert jeweils "if"
                    zu schreiben:
                    if (!isset ($oldpw)) OR if(!isset ($changepw1)) OR if(isset ($changepw2))

                    allerding kommt die Meldung:
                    Parse error: syntax error, unexpected 'OR' (T_LOGICAL_OR) in /var/www/html/marcel/changepass.php on line 52
                    MOment, hab nicht deinen nicht gehighlitententen Text gesehen
                    Jetzt ist es min. eine zu viel

                    Für den Anfang
                    PHP-Code:
                    if (
                            (isset(
                    $dings))
                            OR
                            (!isset(
                    $bums))
                            OR
                            (isset(
                    $hans))
                       (
                       {
                        } 
                    so gingen mir früher weniger durch die Lappen
                    Die Jatravartiden auf Viltwodl VI können den Kram von dir auch nicht nachvollziehen

                    Kommentar


                    • #11
                      Die feinheiten kann ich hinerher noch ändern, darum geht es in meiner Frage aber auch nicht.
                      Trotzdem Danke

                      Kommentar


                      • #12
                        Zitat von Moewe Beitrag anzeigen
                        MOment, hab nicht deinen nicht gehighlitententen Text gesehen
                        Jetzt ist es min. eine zu viel

                        Sorry, aber welche Klammern meinst du den?
                        Habe es jetzt so:

                        if (!isset ($oldpw)) OR if(!isset ($changepw1)) OR if(isset ($changepw2))

                        Kommentar


                        • #13
                          Zitat von marcel580 Beitrag anzeigen
                          Die Klammern Stimmen soweit.
                          Eeehm... nein, die stimmen nicht. Ganz sicher...
                          PHP-Code:
                           if(!isset ($oldpw) OR (!isset ($changepw1)  OR (!isset ($changepw2
                          Wen ich bei "
                          if(!isset ($oldpw)) OR (!isset ($changepw1)) OR (!isset ($changepw2))

                          " Klammern setzte kommt die Meldung:
                          Parse error: syntax error, unexpected 'OR' (T_LOGICAL_OR) in /var/www/html/marcel/changepass.php on line 52
                          Ja, wenn du Klammern einfach frei Schnauze verteilst, kein Wunder.
                          Deine IF-Anweisung endet bereits nach "if(!isset ($oldpw))"

                          Lerne Grundlagen!
                          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                          Kommentar


                          • #14
                            Zitat von Moewe Beitrag anzeigen
                            MOment, hab nicht deinen nicht gehighlitententen Text gesehen
                            Jetzt ist es min. eine zu viel

                            Für den Anfang
                            PHP-Code:
                            if (
                                    (isset(
                            $dings))
                                    OR
                                    (!isset(
                            $bums))
                                    OR
                                    (isset(
                            $hans))
                               (
                               {
                                } 
                            so gingen mir früher weniger durch die Lappen

                            Oke, übersichtlicher ist es jetzt auf jeden Fall schonmal habe es jetzt so:

                            if (!isset ($oldpw))
                            OR
                            if(!isset ($changepw1))
                            OR
                            if(isset ($changepw2))

                            Kommentar


                            • #15
                              PHP-Code:
                              $errors[] = "Ihr Passwort konnte leider nicht geändert werden.\n"
                              "." auch mal durch ";" ersetzen.
                              [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
                              [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

                              Kommentar

                              Lädt...
                              X