Fehler in IF Verzweigung

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

  • Fehler in IF Verzweigung

    Hallo, ich habe eine Frage zu meiner IF-Verzweigung:

    wenn man im Formular "wensuchen" keine Auswahl trifft, soll die Fehlermeldung "Bitte treffen Sie erst eine Auswahl!" erscheinen.
    Aber bei mir kommt die Fehlermeldung immer?!, d.h. wenn das Formular zum 1.mal aufgerufen wird, wird die Meldung bereits angezeigt.
    Ich habe auch schon in den Bedingungsteil der Fehlermeldung zusätzlich (isset==($_POST["wensuchen"])) geschrieben, dann kommt Sie allerdings garnicht mehr?!
    Seht ihr vielleicht den Fehler?
    Danke,



    PHP-Code:
    <?

    $vorname=$_POST['hid'];
    $wastun=$_POST["wastun"];
    $wensuchen=$_POST['wensuchen'];

    if ($_POST["wastun"]==1)
    {echo" <h1>$vorname,</h1>
    Wen wollen Sie suchen:
    <form action='form1.php' method='Post'>
    <input type='radio' name='wensuchen' value='1'>mann</br>
    <input type='radio' name='wensuchen' value='2'>frau</>
    <input type='hidden' name='hid' value=$vorname></>
    <input type='hidden' name='hidden' value='3'></>
    <input type='submit' value='Abschicken'>
    <input type='reset' value='Reset'>
    </form>
    ";}

    if
     ($_POST["wastun"]==2)
     {echo" <h1>$vorname, Sie wollen ein Profil anlegen </H1>";}


        



    if ($_POST['hidden']==3)

        {if (($wensuchen==1)&&(false==isset($wastun)))
         {echo" <B>$vorname</B>, Du suchst einen Mann ";}

            elseif ($wensuchen==2)
            {echo" <B>$vorname<B>, Du suchst eine Frau";}}



    if 
    ((true==(2!=($wensuchen)))&&(true==(1!=($wensuchen))))
        {echo" <h1>$vorname , Bitte treffen Sie erst eine Auswahl! </H1>";}

    ?>

  • #2
    Und die Fehlermeldung sagt etwas von undefinierter Var, oder ? Dann prüf doch erst ob die POST vars gesetzt sind, bevor du versuchst darauf zuzugreifen (isset() kann Wunder bewirken)
    Und was bezweckst du damit?
    PHP-Code:
    if((true==(2!=($wensuchen)))&&(true==(1!=($wensuchen))))
    //ich vermute du willst das
    if(2!=$wensuchen && 1!=$wensuchen)
    //oder gleich
    if(!isset($_POST['wensuchen'])){
      echo 
    'Bitte eine Auswahl treffen';

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hi, Nein, sorry, falsch ausgedrückt...

      Mit Fehlermeldung meinte ich meine Fehlermeldung, die ich geschrieben.
      Das Skript funkt.!
      Allerdings kommt gleichzeitig mit dem Formular "wensuchen" meine
      Fehlermeldung auf den BIldschirm.
      Die soll aber NUR angezeigt werden, wenn keine Auswahl getroffen wurde ( dann funkt. sie auch), aber nicht wenn das formular zum 1. mal aufgerufen wird.

      Kommentar


      • #4
        PHP-Code:
        if(isset($_POST['NameDesSubmitButtons']) && !isset($_POST['wensuchen'])){
          echo 
        'Bitte eine Auswahl treffen';

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          PHP-Code:
          if ($_POST)
          {
             if (...)

          btw: du solltest dir wirklich einen anderen stil für deinen code angewöhnen. denkann ja keiner lesen. wie bist du nur darauf gekommen?

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            HI,


            Danke, jetzt klappt es.

            Ja, sauberer Code... bin noch ganz am Anfang, aber ich sollte es mir direkt richtig angewöhnen, stimmt schon.
            ABER TROTZDEM: DANKE!!!!

            Kommentar

            Lädt...
            X