kostenloser Webspace werbefrei: lima-city


checkbox gibt Fehlermeldung wenn nichts drin ist

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    frank1960sep

    frank1960sep hat kostenlosen Webspace.

    Hallo liebe Gemeinde, da bin ich mal wieder mit einem simblen, aber für mich nicht lösbaren Problem.
    Ich möchte auf einer Seiten mit dem Formular -posten- Checkboxen verwenden.
    Soweit so gut, aber; wenn darin kein Häckchen ist, kommt auf der Zielseite eine Fehlermeldung

    2
    2013-10-07
    1
    Notice: Undefined index: n in C:\xampp\htdocs\web1\termine_a.php on line 12

    das die Auswahlseite (Ausschnitt)
    <p>welches Pferdchen? :</p>
    <form action = "termine_a.php" method = "post">
    
    <?php
    
    include 'host.php' ;
    
    
    $con = mysqli_connect ($_db_host,$_db_username,$_db_passwort);
    mysqli_select_db($con,$_db_datenbank) ;
    $sql = "SELECT * FROM pferde" ;
    
    $res = mysqli_query( $con, $sql );
    $num = mysqli_num_rows($res);
    
    echo $num   ;
    
    echo "<hr />" ;
       // Tabellenbeginn
       echo "<table border='1'>";
    
        echo "<hr />" ;
       while ($dsatz = mysqli_fetch_assoc($res))
       {
          #echo "<tr>";
          echo "<td><input type='radio' name='auswahl'";
          echo " value='" . $dsatz["id"] . "'></td>";
          echo "<td>" . $dsatz["name"] . "</td><td>I</td>";
    
           }
    
       // Tabellenende
       echo "</table>";
    echo "<hr />" ;
       mysqli_close($con);
    
    echo $rd1= "<input type='date' name='rd1'/>" ;
    ?>
    <p>
       vormittag :<input type="checkbox"  name ="f" value="f"/>"
      nachmittag :<input type="checkbox"  name ="n" value="n"/>
    <br/>
    </p>
    <br/><br/>
    <input type=submit name=submit value="Nachschauen und Eintragen"/>
    </form>


    und das der Beginn der Auswertungsseite

    <?php
     session_start();
     echo $_POST["auswahl"]  ;
     echo "<br />"  ;
     echo $_POST['rd1']   ;
      echo "<br />"  ;
    
    echo $_POST["f"];
    
     #echo $_POST['f']  ;
     echo $_POST["n"]  ;
    
    ?>


    wie gesagt, wenn in den Kästchen das Häckchen ist, tadellos, sonst dieser undefinierte index.
    Wo habe ich was vergessen, oder zu viel???
    :confused::confused:
    ich danke euch für eure Hilfe.
    Frank
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Der Fehler ist an sich zu vernachlässigen, aber natürlich nicht schon.
    Du könntest ihn zum einen Unterdrücken, dazu einfach ein einfach ein @ vor entsprechende Variable in Zeile 12 (@$_POST["n"])
    Zum anderen könntest du aber auch erst Überprüfen ob er gesetzt ist, um dann weiter zu verfahren.
    if(isset($_POST["n"])){echo $_POST["n"]}


    Beitrag zuletzt geändert: 14.10.2013 18:42:20 von ra1n
  4. ra1n schrieb:
    Der Fehler ist an sich zu vernachlässigen, aber natürlich nicht schon.
    Du könntest ihn zum einen Unterdrücken, dazu einfach ein einfach ein @ vor entsprechende Variable in Zeile 12 (@$_POST["n"])

    Wenn du auch nur halbwegs ordentlich Code schreiben willst, dann vergiss bitte diesen Absatz meines Vorposters und nimm stattdessen den sinnvollen Teil:
    Zum anderen könntest du aber auch erst Überprüfen ob er gesetzt ist, um dann weiter zu verfahren.
    if(isset($_POST["n"])){echo $_POST["n"]}


    Beitrag zuletzt geändert: 14.10.2013 19:40:58 von copynpaste
  5. Autor dieses Themas

    frank1960sep

    frank1960sep hat kostenlosen Webspace.

    Eigentlich wollt ich ja genau das nutzen, wenn nichts drin steht soll nichts ankommen, um dann ein "nichts" in die Datenbank zu setzen.
    Ist eine Auswahl ob man ein Pferd an einem bestimmten Tag früh, nachmittags oder früh und nachmittags reiten möchte. hatte da auf ein einafaches ja/nein gehofft.
    Trotzdem vielen Dank, bin da nicht drauf gekommen, dass da immer was drin sein muss um einen Wert zurück zu bekommen.
    Vielleicht fällt mir noch was ein damit. oder hat jemand noch eine Idee?
    Vielen Dank, allen noch eine schöne Woche.
    Frank

    PS. ich bin totaler Anfänger, und manchmal helfen auch Unsaubere Sachen richtig weiter
  6. Ok dann nochmal von mir:

    Grundsätzlich sollte man keine POST-Werte direkt verwenden, ganz einfach zur Sicherheit, aber dazu bitte einfach mal googlen, da kann ich nicht so ins Detail gehen ;)

    Aber zu deinem Problem könnte ich dir eine solche oder ähnliche Lösung vorschlagen:
    $horseAm = false;
    $horsePm =false;
    
    if ( isset($_POST['horseAm']) ) {
        $horseAm = true;
    }
    
    if ( isset($_POST['horsePm']) ) {
        $horsePm = true;
    }
    
    // Db-Zeugs etc
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!