Prüfung ob Auswahl getätigt wurde, bzw. Formular erst senden wenn Auswahl getroffen

MisterMi

Erfahrenes Mitglied
PHP:
<form method="post" action="DBschreiben.php">
<?php

$sqlT = "SELECT * FROM `MarktSpieler` WHERE `Position`='Torwart'";
$sqlA = "SELECT * FROM `MarktSpieler` WHERE `Position`='Abwehr'";
$sqlM = "SELECT * FROM `MarktSpieler` WHERE `Position`='Mittelfeld'";
$sqlS = "SELECT * FROM `MarktSpieler` WHERE `Position`='Sturm'";

$names=mysql_query('set names utf8');

//Torwart
echo "Torwart:";
echo "<br/>";
$sql_resultT = mysql_query($sqlT, $verbindung) or die ("geht nicht");
echo "<select name=\"tor[]\"size=\"20\" multiple=\"multiple\" style=\"width:400px\">";
while ($daten = mysql_fetch_array($sql_resultT)){
echo "<option value=\"".$daten['ID']."\">".$daten['Spieler']." - ".$daten['Verein']." - ".$daten['Marktwert']."</option>\n";
}
echo "</select>";
echo "<br/>";

//Abwehr
echo "Abwehrspieler:";
echo "<br/>";
$sql_resultA = mysql_query($sqlA, $verbindung) or die ("geht nicht");
echo "<select name=\"abwehr[]\"size=\"20\" multiple=\"multiple\" style=\"width:400px\">";
//echo "<select name=\"Abwehr\">";
while ($daten = mysql_fetch_array($sql_resultA)){
echo "<option value=\"".$daten['ID']."\">".$daten['Spieler']." - ".$daten['Verein']." - ".$daten['Marktwert']."</option>\n";
}
echo "</select>";
echo "<br/>";

//Mittelfeld
echo "Mittelfeldspieler:";
echo "<br/>";
$sql_resultM = mysql_query($sqlM, $verbindung) or die ("geht nicht");
echo "<select name=\"mittelfeld[]\"size=\"20\" multiple=\"multiple\" style=\"width:400px\">";
while ($daten = mysql_fetch_array($sql_resultM)){
echo "<option value=\"".$daten['ID']."\">".$daten['Spieler']." - ".$daten['Verein']." - ".$daten['Marktwert']."</option>\n";
}
echo "</select>";
echo "<br/>";

//Stürmer
echo "St&uuml;rmer:";
echo "<br/>";
$sql_resultS = mysql_query($sqlS, $verbindung) or die ("geht nicht");
echo "<select name=\"sturm[]\"size=\"20\" multiple=\"multiple\" style=\"width:400px\">";
while ($daten = mysql_fetch_array($sql_resultS)){
echo "<option value=\"".$daten['ID']."\">".$daten['Spieler']." - ".$daten['Verein']." - ".$daten['Marktwert']."</option>\n";
}
echo "</select>";
echo "<br/>";
?>

  <!-- Einbau des Submit Buttons zu abschicken des Formulars -->
<input type="submit" name="senden" value="Senden">
</form>
<?php

Damit baue ich 4 Selectboxen auf und wähle daraus Spieler aus.

Nun habe ich festgestellt, dass ich überall etwas ausgewählt haben muss, da er sonst in einen Fehler läuft.

Wie kann ich nun überall eine Eingabe erzwingen, bevor die Auswahl gesendet werden kann?

Danke
 
Zuletzt bearbeitet:
Ich versteh zwar dein Problem nicht, aber willst du nicht dein Code ien wenig formatieren?
So ist er für Ausenstehende nicht lesbar. Man muss Klammern Zählen um herauszufinden wo welche Schleife endet und was Verschachtelt oder Nacheinader abläuft.

Zudem rate ich dir auf die Complex (Curly) Syntax umzusteigen um längere Strings zusammenzusetzen.
Zudem für HTML-Strings innerhalb von " die ' verwenden. Dann mustt du nicht immer excapen.
Es ist nur ein Tipp um einen lesbareren Code zu bekommen.

PHP:
<form method="post" action="DBschreiben.php">
<?php
    $sqlT = "SELECT * FROM `MarktSpieler` WHERE `Position`='Torwart'";
    $sqlA = "SELECT * FROM `MarktSpieler` WHERE `Position`='Abwehr'";
    $sqlM = "SELECT * FROM `MarktSpieler` WHERE `Position`='Mittelfeld'";
    $sqlS = "SELECT * FROM `MarktSpieler` WHERE `Position`='Sturm'";
    
    $names=mysql_query('set names utf8');
    
    //Torwart
    echo "Torwart:";
    echo "<br/>";
    echo "<select name='tor[]'size='20' multiple='multiple' style='width:400px'>";

    $sql_resultT = mysql_query($sqlT, $verbindung) or die ("geht nicht");
    while ($daten = mysql_fetch_array($sql_resultT)){
        echo "<option value='{$daten['ID']}'>{$daten['Spieler']}- {$daten['Verein']} - {$daten['Marktwert']}</option>\n";
    }
    echo "</select>";
    ...
 
Ich möchte, dass das Formular nur gesendet wird wenn in jeder Selectbox mindestens eine Auswahl getätigt wurde.

Also tor[], abwehr[] ... nicht null sind.
 
Wenn du vor dem Senden prüfen willst -> Javascript
Oder du prüfst in PHP. Wennd ie Prüfung durchfällt zeig weder das Formular an.
 
Zurück