Formular überprüfen

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

  • Formular überprüfen

    Hallo,

    ich habe eine kleine frage...
    und zwar möchte ich ein formular erstellen, aber ich möchte das nur geprüft wird ob auf das abschicken geklickt wurde

    PHP-Code:
    <input type="submit" name="weg" value="löschen"
    dann soll in php in einer IF Abfrage überprüft werden ob ich auf löschen geklickt habe, damit es dann weitere Aufgaben erfüllen kann...
    Ich habe es mir zwar so vorstellt aber es will nicht klappen

    PHP-Code:
    $weg=$_Request['weg']
    if($weg=="löschen"){
    echo "Wollen sie wirklich löschen?";
    ?>
    <input type="submit" name="ganzweg" value="lösch">
    <?
    $ganzweg=$_Request['ganzweg'];
    }elseif($ganzweg=="lösch"){
    MYSQL_QUERY($tabelle)
    or die(mysql_error());
    echo"erfolgreich gelöscht";
    }else{
    echo"Fehlermeldung";
    }
    Leider ist die Bedingung schon bevor ich auf den lösch button geklickt habe erfüllt...
    Ich kann mir schon denken das es wieder was ganz einfaches ist...
    Was muss ich stattdesen hinschreiben ?

  • #2
    ja ist doch klar das die erfüllt ist! dein löschen steht ja in dem teil der bedingung die erfült wurde!

    du mußt schon mit mehreren bedingungen arbeiten..

    also

    if (weg)
    {
    zeige ganz weg
    }
    if (gantweg)
    {
    lösche ...
    }

    Kommentar


    • #3
      -löschen-
      Zuletzt geändert von kingice; 06.07.2007, 09:01.

      Kommentar


      • #4
        ist doch klar...

        du setzt erst $weg..
        und dann mit

        if($weg)

        prüfen ergibt immer TRUE also die zeile prüft nur ob $weg existiert und das tut es immer du initialiserst es ja vorher..

        if($weg=="löschen")..

        war schon richtig! was ich geschriebe habe war nur ungefährer prog ablauf!

        Kommentar


        • #5
          ok soweit so gut klappt es nun auch

          aber leider wird bei

          PHP-Code:
              $tabelle="delete from Lager where Artikelnr='$delete'";
              
          MYSQL_QUERY($tabelle)
              or die(
          mysql_error()); 
          das $delete nicht mehr übertragen, das delete wird nur übertragen wenn ich bei

          PHP-Code:
              $weg=$_REQUEST['weg'];
              if($weg=="löschen"){
              echo "Wollen sie wirklich löschen?";
              ?>
              <input type="submit" name="ganzweg" value="lösch">
              <?
              $ganzweg=$_REQUEST['ganzweg'];
              }if($ganzweg=="lösch"){
              $tabelle="delete from Lager where Artikelnr='$delete'";
              MYSQL_QUERY($tabelle)
              or die(mysql_error());
              echo"erfolgreich gelöscht \n";
              }
              else{
              }
          if($ganzweg=="lösch") dann $delete statt $ganzweg=="lösch hinschreibe, aber dann hat die if anweisung ja kein sinn weil die ja schon immer erfüllt ist... wie schaffe ich es $delete mit zu übertragen ?

          Kommentar


          • #6
            oh man....

            du mußt bei jedem neuen aufruf der seite die informationen wieder mitgeben und diese dann wieder mit senden
            oder diese faten irgendwie aufm server speichern zb session oder db oder ...

            aber am einfachsten kommste mit einem hidden inputfeld...

            also vor dem submit mein ich


            <input type="hidden" name="delete" value="$delete">
            <input type="submit" name="ganzweg" value="lösch">

            Kommentar


            • #7
              -löschen-
              Zuletzt geändert von kingice; 06.07.2007, 09:00.

              Kommentar


              • #8
                also wenn du auf strings prüfst verwende bitte "===" das heißt ist identisch

                und prüfe mal mit

                if(isset($variable))

                ob deine variable überhaupt gesetzt ist!

                Kommentar


                • #9
                  -löschen-
                  Zuletzt geändert von kingice; 06.07.2007, 09:02.

                  Kommentar


                  • #10
                    na das es mit eingesetzter zahl funkt ist doch klar dein sql ist auch ok damit

                    was nicht geht ist deine variable die du dem sql-query anbietest!

                    und das er folgendes anzeigt:

                    delete from Lager where Artikelnr=''

                    ist auch klar!
                    deine variable $_REQUEST['delete'] ist leer!

                    laß dir mal vor dem speichern in der sesson alle verte des rquests ausgeben also

                    print_r($_REQUEST)

                    und sieh nach was da bei delete als vert steht!

                    Kommentar


                    • #11
                      PHP-Code:
                          $_SESSION['zahl'] = "{$_REQUEST['delete']}";
                          
                      $_SESSION['delete2'] = "delete from Lager where Artikelnr='{$_SESSION['zahl']}'";

                          
                      print_r($_SESSION['delete2']); 
                      Hier zeigt er die zahl die ich eingegeben habe samt dem ganzen befehl so wie es richtig ist

                      sobald ich das print_r($_SESSION['delete2']); in der if bedinung mache zeigt er mir den ganzen befehl aber ohne zahl an :[

                      langsam weiß ich ehrlich nicht mehr weiter

                      Kommentar


                      • #12
                        $_SESSION['zahl'] = "{$_REQUEST['delete']}";

                        also erstmal was soll das mit den " und den {}? ist humbuck!

                        und wo startest du denn deine session?

                        Kommentar


                        • #13
                          Zuletzt geändert von kingice; 06.07.2007, 09:00.

                          Kommentar


                          • #14
                            Original geschrieben von kingice
                            Ich habe das Skript nochmal neu und diesmal anders geschrieben
                            Einen Sch... hast du. Du hast die fertige Lösung in einem anderen Forum bekommen! Kopfschüttel

                            Kommentar


                            • #15
                              ganz ehrlich...

                              wenn die lösung so ist wie sein code? dann sollte doch sql-injection möglich sein!

                              lol

                              Kommentar

                              Lädt...
                              X