steffen: leere Formulare Abfrage funktioniert nicht.

Hi,

ich hab nen Formular, wenn ich dies absende, möchte ich schauen ob diese Leer sind oder nicht.

Habe das so geschrieben und habe die scho immer so abgefragt:

if($_GET['action']=="new" && $_SESSION['nick']){
         if(!$_POST['addtext'] && !$_POST['titel'] && !$_POST['text']){
   if(!$titel && $addtext){ echo '<p>Bitte geben sie ein Titel ein!</p>'; }
   if(!$text && $addtext){ echo '<p>Bitte geben sie ein Text ein!</p>'; }

login_db();
   $kategorie=array();
                 $abfrage=mysql_query("SELECT Kategorie FROM kategorie");
                 while($result=mysql_fetch_array($abfrage)){
    $kategorie = array_merge($kategorie, $result[0]);
   }

$fach=array();
                 $query=mysql_query("SELECT Fach FROM fach");
                 while($fach_result=mysql_fetch_array($query)){
    $fach = array_merge($fach, $fach_result[0]);
   }

?>
   <form action="<? $PHP_Self; ?>" method="post" id="main_form">
    <label for="fach">Fach:</label><select name="form_fach"><? $zahl=0; while($fach[$zahl]){ echo "<option value="".($zahl+1)."">$fach[$zahl]</option>"; $zahl++;} ?></select><br>
    <label for="kategorie">Kategorie:</label><select name="form_kategorie"><? $zahl=0; while($kategorie[$zahl]){ echo "<option value="".($zahl+1)."">$kategorie[$zahl]</option>"; $zahl++;} ?></select><br>
    <label for="titel">Titel:</label><input type="text" name="titel"><br>
    <label for="text">Text:</label><textarea name="text"></textarea><br>
    <input type="submit" value="Hinzufügen!" name="addtext" class="main_submit">
                 </form>
                 <?
         }else{

....
         }
 }

Und nun geht es nicht mehr ... ich versteh das nicht ?!

Was ist daran falsch?

mfg steffen

  1. hi,

    Habe das so geschrieben und habe die scho immer so abgefragt: [...]
    Und nun geht es nicht mehr ... ich versteh das nicht ?!

    Informiere dich bzgl. register_globals.

    http://www.php-faq.de/q/q-formular-register-globals.html
    http://www.php.net/manual/de/language.variables.predefined.php

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. ja nur habe ich beide varianten gtestet ... das ist ja mein problem.

      Beides funktioniert nicht. und es hat auf dem gleichen server schon geklappt ...

      Das zum haare raufen -_-

      Geht doch normal so das ich leere Formularfelder mit !$var oder !$_POST['var'] abfragen kann, oderl iege ich da falsch?

      1. Hallo Steffen,

        Geht doch normal so das ich leere Formularfelder mit !$var oder !$_POST['var'] abfragen kann, oderl iege ich da falsch?

        sind Dir schon isset() und empty() über den Weg gelaufen?

        Und wie sieht es mit $_SERVER['PHP_SELF'] aus?

        Freundliche Grüße

        Vinzenz

        1. Klar sind die mir über den weg gelaufen, aber die ganze zeit habe ich das mit !$var gemacht!

          und es hat ja auch geklappt?!

          mit $_SERVER['PHP_SELF'] klappt es auch nicht :-/

          frage mich wieso das nicht mehr klappt ?! In einem alten script von mir geht das immernoch hab eben im Quellcode nachgelesen.

      2. hi,

        ja nur habe ich beide varianten gtestet ... das ist ja mein problem.

        Beides funktioniert nicht.

        Lass dir $_POST mit print_r() zur Kontrolle ausgeben.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. hi wahsaga,

          die Variablen exestieren .. das ist es ja, trage sie dann in die Datenbank ein ... also MÜSSEN sie exestieren.

          Ich weiß echt nicht weiter..

          1. hi,

            die Variablen exestieren .. das ist es ja, trage sie dann in die Datenbank ein ... also MÜSSEN sie exestieren.

            Ich weiß echt nicht weiter..

            Nee, mit der Problembeschreibung weiß ich auch nicht weiter ...

            Dann kontrolliere mal die einzelnen Variablenwerte, insb. die, von denen deine IF-Bedingungen abhängen, auf ihre Werte.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }