Ankündigung

Einklappen
Keine Ankündigung bisher.

if Abfrage Problem

Einklappen

Neue Werbung 2019

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

  • if Abfrage Problem

    hallo,

    wenn ich mein script aufrufe:

    PHP-Code:
    <html>
    <head><title>...</title></head>
    <body>
    <?php 
        
        $dataname 
    '';
        
        
        if (isset(
    $_POST['dataname'])){
            
    $dataname $_POST['dataname'];
            echo 
    'test';
        }else{
            echo 
    'nicht ausgefuellt!';
        }


    ?>
    <form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" >
        <p>Dateiname: <input type="text" name="dataname" ></p>
        <p><input type="radio" name="doctype" value=".doc" > .doc</p>
        <p><input type="radio" name="doctype" value=".txt" > .txt</p>
        <p>Text: <input type=text" name="datatext" size="90" ></p>
        <p><input type="submit" name="datawrite" value="Schreibe!" ></p>
    </form>
    </body>
    </html>
    gibt er schon aus das die daten nicht ausgefuellt wurden, wie krieg ich das hin das er es erst ausgbit wenn man es wirklich nicht eingibt.

    danke schonmal,
    mfg
    eumelhans

  • #2
    Indem du zuerst abfragst, ob das Script überhaupt durch Abschicken des Formulars aufgerufen wurde - bspw., in dem du das Vorhanden sein des sich aus dem Submitbutton ergebenden Parameters und ggf. seines Wertes prüfst.

    Kommentar


    • #3
      und wie mach ich das? habe es probiert mit der postvariable und den submitbutton, doch erhalte das gleiche ergebnis

      Kommentar


      • #4
        Genauso wie du es mit den anderen Variablen gemacht hast
        PHP-Code:
        if (isset($_POST['datawrite'])){ 
            if (isset(
        $_POST['dataname'])){ 
                
        $dataname $_POST['dataname']; 
                echo 
        'test'
            }else{ 
                echo 
        'nicht ausgefuellt!'
            }

        Kommentar


        • #5
          dank dir, schönes wochenende noch!

          edit:

          PHP-Code:
          if (isset($_POST['datawrite'])){
                  if (isset(
          $_POST['dataname'])){
                      
          $dataname $_POST['dataname'];
                      echo 
          'Korrekt!';
                  }else{
                      echo 
          'Daten wurden nicht eingegeben!';
                  }
              } 
          wenn ich keine daten eingebe erhalte ich trotzdem die ausgabe 'Korrekt!' , woran liegt das?

          Kommentar


          • #6
            Ganz einfach: Wird das Formular abgesendet, wird die Variable $_POST['dataname'] ohne Inhalt übermittelt. Die Überprüfung mit isset() liefert das Ergebnis true. In deinem Fall dürfte eine Überprüfung mittels !empty() angebracht sein.

            Zudem empfehle ich dir, dich mit isset() und empty() näher zu beschäftigen und vor allem den Unterschied zwischen NULL, "" etc. in Erfahrung zu bringen.

            Kommentar


            • #7
              PHP-Code:
              if (empty($_POST['dataname']) && empty($_POST['datatext'])){ 
              habs damit gelöst, danke für den tipp.

              Kommentar

              Lädt...
              X