"Notice: Undefined index"

Alex Großmann

Erfahrenes Mitglied
Hallo liebes Forum,

mir ist der oben benannte Fehler zwar bekannt, aber jetzt im Moment habe ich keine Ahnung wieso er kommt...ich hoffe ihr könnt mir da helfen..

Sportverein.php

Zeigt eine Tabelle mit Auswahl möglichkeiten an, durch den
Bestätigungsbutton "Los" wird per POST die Auswahl übergeben (GET geht auch nicht..).

check.php

Hier wird die Anfrage ausgewertet und bearbeitet....


Nun mal die Codes:
PHP:
echo '<form action="check.php" method="post">';
   
    echo '<table border=1>
      
        <tr>
        <th>Abfrage und Änderungen der DB: </th>
        <th>Kriterien und Sortierung</th>        
        </tr>
    
        <tr>
        <td>  <input type="radio" name="auswahl" value="mitglieder_auflisten"> Alle Mitglieder auflisten  </td>
        <td>  <br><br><input type="checkbox" name="1"> Nach Namen alphabetisch sortieren
              <br>
              <input type="checkbox" name="2"> Mit Zuordnung der Funktion im Verein <br><br><br>
        </td>
        </tr>

Das ist ein Auszug aus der Sportverein.php..

PHP:
	$checkbox_mitglieder_sort_name = $_POST["1"];
 		$checkbox_mitglieder_sort_funktion = $_POST["2"];
Das der aus check.php

Der Fehler:
Notice: Undefined index: 1 in C:\xampp\htdocs\Sportverein\check.php on line 67

Notice: Undefined index: 2 in C:\xampp\htdocs\Sportverein\check.php on line 68



Ich hoffe ihr habt den Durchblick :)

Grüße
 
Und welches sind die Zeilen 67 und 68?

Nachtrag:
Du hast im ersten Code ein Echo dessen Text nicht in " steckt.
 
Die geposteten:
PHP:
    $checkbox_mitglieder_sort_name = $_POST["1"]; 
         $checkbox_mitglieder_sort_funktion = $_POST["2"];

Nachtrag: @Yaslaw , ja ka wieso es hier weg ist, aber im Code ist es da..
 
Zuletzt bearbeitet:
Das bedeutet, das dein Formular, das du mit der POST-Methode absendest, noch noch nicht geschickt wurde. Am besten wäre es, wenn du prüfst, ob in den Feldern 1 und 2 was drint steht:

PHP:
         $checkbox_mitglieder_sort_name = isset($_POST["1"]) ? $_POST["1"] : false ; 
         $checkbox_mitglieder_sort_funktion = isset( $_POST["2"] ) ? $_POST["2"] : false;
 
Sowas wie du geschrieben hast, hab ich so noch nie gesehen, aber wenn ich es einsetze, kommt keine Fehlermeldung mehr...ist der Fehler damit behoben oder was sagst das aus?!
Grüße
 
Das was ich da geschrieben habe, ist eine verkürzte if-Abfrage, der sogenannte tenäre Operator. Man könnte statt dessen auch so schreiben:

PHP:
         $checkbox_mitglieder_sort_name = false;
         if( isset($_POST["1"]) ) {
           $checkbox_mitglieder_sort_name = $_POST["1"];
         }
         $checkbox_mitglieder_sort_funktion = false;
         if( isset( $_POST["2"] ) ) {
           $checkbox_mitglieder_sort_funktion = $_POST["2"];
         }

Wichtig an der Sache ist eigentlich nur das isset(). Das sorgt dafür, das geprüft wird, ob es den Index 1 im Array $_POST auch wirklich gibt, sprich ob er gesetzt ist.
 
Zurück