Irgendwas geht nicht, das Formular oder das Script?

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

  • Irgendwas geht nicht, das Formular oder das Script?

    hier das Formular:

    PHP-Code:
    <div id='admin'>
    <form align='center' method='post' action='index.php?action=changepw'>
    <table border='0' width='220'><tr><td width='50%'>
    <font size=2 color='black' face='verdana'>Neues Passwort :</font></td><td width='50%'>
    <input align='center' type='password' name='pw1' size=15></td></tr><tr><td>
    <font size=2 color='black' face='verdana' >Wiederhole Passwort :</font></td><td>
    <input align='center' type='password' name='pw2' size=15></td></tr><tr><td align='center'>
    <input type='submit' value='Ändern'></td><td align='center'><input type='reset' value='Reset'></td></tr>
    </table>
    </form>
    </div>
    <br>
    <br>
    <center>
    <span id="footer"><?php require ("footer.php");?></span>
    </center>
    und hier das Script, was per Switch included werden sollte:
    PHP-Code:
    <?php
        
    if($_POST['pw1']==$_POST['pw2'])
        {
         include 
    '../inc/config.php';
         if(@
    mysql_connect($MYSQL_HOST$MYSQL_USER$MYSQL_PASS))
         {
          if(
    mysql_select_db($MYSQL_DATABASE))
          {
           
    $sql "UPDATE users SET passwort=md5($_POST['pw1']) WHERE name=$loginname;";
           
    $result mysql_query($sql) OR die(mysql_error());
           if(
    mysql_num_rows($result))
           {
            echo 
    "<div id='admin'>Passwort wurde geändert!</div>";
           }
           else
           {
            echo 
    "<div id='admin'>Fehler!</div>";
           };
          }
         }
        }
        else
        {
         echo 
    "<div id='admin'>Eingegebenes Passwort ist nicht identisch!</div>";
        };
    ?>
    Das Problem lässt sich schlecht umschreiben, das Formular ist zu sehen, kann meine ganzen Sachen eingeben und auf den Button drücken, danach sollte irgendeine Ausschrift des Scriptes kommen, das tut es jedoch nicht. Eine Eingabe von zwei verschiedenen Passwörtern bringt auch keinen Fehler. Am Switch kann ich doch nicht viel verkehrt machen? Hatte bisher doch auch immer prima gefunzt.

    Wer denn noch eine Idee hat, dem bin ich zu Dank verpflichtet.

    PS: Ich bin zwar selbst in der Ausbildung zu einem Programmierer, jedoch das PHP mache ich nur in der Freizeit.

  • #2
    Welche Debug-Massnahmen wurde bereits ergriffen, und welche Fehler können ausgeschlossen werden ?

    Wenn du in einer Ausbildung zum Programmierer bist, dann wirst da wissen, was du zu tun hast

    cya max


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

    Kommentar


    • #3
      Bevor du jetzt verzweifelst,

      lasse dir mit echo ausgeben, wenn er in einen Switch Zweig geht, dann mit print_r das POST Array ausgeben lassen um zu sehen, ob die Werte den Erwartungen entsprechen...


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #4
        Binde dochmal das Skrip per include in dein Formular ein und schick es dann an sich selber. Eventuell kommen die Variablen nicht mit?!
        The Human Mirror - Mein Blog!
        www.sonicsense.de - The future of music!

        Kommentar


        • #5
          Der Editor hat einen eingebauten Debugger und er bringt keinen Fehler. Aber ich denke, dass ich das mit dem Ändern des Passworts schon raushabe, jedoch wird das Script immer noch nicht ganz ausgeführt wird.
          Gespeichert wird das Passwort. Im Gegensatz zu dem vorherigen Script, habe ich zusätzlich die Ausschriften in der innersten If-Abfrage gedreht.

          PHP-Code:
          <?php
              
          if($_POST['pw1']==$_POST['pw2'])
              {
               include 
          '../inc/config.php';
               if(@
          mysql_connect($MYSQL_HOST$MYSQL_USER$MYSQL_PASS))
               {
                if(
          mysql_select_db($MYSQL_DATABASE))
                {
                 
          $pw md5($_POST['pw1']);
                 
          $sql "UPDATE users SET passwort = '$pw' WHERE name='$loginname';";
                 
          $result mysql_query($sql) OR die(mysql_error());
                 if(
          mysql_num_rows($result))
                 {
                  echo 
          "<div id='admin'>Fehler!</div>";
                 }
                 else
                 {
                  echo 
          "<div id='admin'>Passwort wurde geändert!</div>";
                 };
                };
               };
              }
              else
              {
               echo 
          "<div id='admin'>Eingegebenes Passwort ist nicht identisch!</div>";
              };
          ?>

          Kommentar


          • #6
            Mit debugging meine ich nicht den debugger, da es hier wohl um logische fehler geht.

            lass dir im switch ausgeben, wo er sich befindet, und mit isset prüfen ob die vars gesetzt sind...

            z.B.
            PHP-Code:
            switch($action)
            {
            case 
            'changepw' : echo('Bin im changepw Zweig');
                                         
            weiter wie üblich; break;



            An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

            Kommentar


            • #7
              ist mir schon klar, das hatte ich soweit schon durch, erst kam er nie in das Script und wenn ja, kam nie eine Ausgabe, schlauer bin ich immer noch nicht wirklich, morgen bestimmt schon

              bleibt nur noch mein header()-Problem

              Kommentar


              • #8
                Wenn du variablen per switch befehl übergeben willst wäre eine Session ratsam. Anderweitig wirds schwer. Darum ist es klug dem Switch einen case zu geben z.B. "meinformular"

                Deine PHP-Formulardatei sieht dann so aus...
                PHP-Code:
                <?PHP
                if($submit){


                    if(
                $_POST['pw1']==$_POST['pw2'])
                    {
                     include 
                '../inc/config.php';
                     if(@
                mysql_connect($MYSQL_HOST$MYSQL_USER$MYSQL_PASS))
                     {
                      if(
                mysql_select_db($MYSQL_DATABASE))
                      {
                       
                $pw md5($_POST['pw1']);
                       
                $sql "UPDATE users SET passwort = '$pw' WHERE name='$loginname';";
                       
                $result mysql_query($sql) OR die(mysql_error());
                       if(
                mysql_num_rows($result))
                       {
                        echo 
                "<div id='admin'>Fehler!</div>";
                       }
                       else
                       {
                        echo 
                "<div id='admin'>Passwort wurde geändert!</div>";
                       };
                      };
                     };
                    }
                    else
                    {
                     echo 
                "<div id='admin'>Eingegebenes Passwort ist nicht identisch!</div>";
                    };



                }
                else
                {
                ?>

                <div id='admin'>
                <form align='center' method='post' action='index.php?action=changepw'>
                <table border='0' width='220'><tr><td width='50%'>
                <font size=2 color='black' face='verdana'>Neues Passwort :</font></td><td width='50%'>
                <input align='center' type='password' name='pw1' size=15></td></tr><tr><td>
                <font size=2 color='black' face='verdana' >Wiederhole Passwort :</font></td><td>
                <input align='center' type='password' name='pw2' size=15></td></tr><tr><td align='center'>
                <input type='submit' [B]name="submit"[/B] value='Ändern'></td><td align='center'><input type='reset' value='Reset'></td></tr>
                </table>
                </form>
                </div>
                <br>
                <br>
                <center>
                <span id="footer"><?php require ("footer.php");?></span>
                </center>
                <?
                }
                ?>
                Da hat noch der name für den Submit button gefehlt.

                So nun rufst du im formular wo bei dir steht
                'index.php?action=changepw'
                einfach wieder das formular aus und alles sollte funzen.
                The Human Mirror - Mein Blog!
                www.sonicsense.de - The future of music!

                Kommentar


                • #9
                  die Session ist zu diesem Zeitpunkt schon da

                  Kommentar


                  • #10
                    Geht es denn wie oben beschrieben?
                    The Human Mirror - Mein Blog!
                    www.sonicsense.de - The future of music!

                    Kommentar


                    • #11
                      an dem Formular lags nicht direkt, das ging auch ohne "name", der Switch hatte auch die richtige Datei schließlich included, jedoch brachte er keine Ausgabe und das ist nun behoben

                      Kommentar


                      • #12
                        Ehrlich gesagt frage ich mich warum Du int mysql_num_rows(resource result) verwendest ... um zu ermitteln wieviele Datensätze ein DML beeinflusst hat ist eigenlich int mysql_affected_rows([resource link_identifier]) vorgesehen ...
                        carpe noctem

                        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                        Kommentar


                        • #13
                          Frage das lieber nicht, ich habe mit meinen 3 Programmiersprachen schon genug zu tun, um mir dann von A bis Z auch noch PHP anzutun, hier gilt nur aus Spaß an der Freude und wenn es geht, reicht mir das schon.

                          Kommentar


                          • #14
                            Nagut ... dann mein Tipp ... probier's einfach mal mit mysql_affected_rows() ... ... ich habe mich mit Deinem Script nicht weiter auseinander gesetzt ... allerdings ist mir das gerade mal so ins Auge gesprungen ... !
                            carpe noctem

                            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                            Kommentar

                            Lädt...
                            X