So, da sind verdammt viele Fehler drinnen.
Zunächst mal die ursächlichen:
1. die 5 Select-Felder im Eingabeformular haben alle den Namen "p5", dadurch fehlt dir dann in der Auswertung (liste1.php) die Werte für p1 bis p4. Sobald du das korrigiert hast sollte der Fehler mit den nicht ausgefüllten Feldern weg sein.
Allerdings bin ich mir nicht sicher ob der String für eine GET-Übertragung nicht zu lang wird. Ich würde statdessen eine POST-Übertragung wählen.
Änder mal in deinem Eingabeformular den Form-Tag von "get" auf "post" um:
<form name="form1" method="post" action="liste1.php">
Als nächsten Schritt mußt du dann auch noch in der liste1.php eine kleine Änderung vornehmen.
Das hier:
$name = $_GET["name"];
$mail = $_GET["mail"];
$p1 = $_GET["p1"];
$p2 = $_GET["p2"];
$p3 = $_GET["p3"];
$p4 = $_GET["p4"];
$p5 = $_GET["p5"];
ersetzt du bitte durch
Dann sollte es eigentlich alles laufen.
Was noch unsinnig ist:
if( isset($name)&& isset($mail)&& isset($p1)&& isset($p2)&& isset($p3)&& isset($p4)&& isset($p5) && $name!="" && $mail!="" && $p1!="" && $p2!="" && $p3!="" && $p4!="" && $p5!=""){
Du überprüfst zuerst, ob alle Variablen vorhanden sind. Traust du deinem eigenen Eingabeformular nicht? Du hast dort doch die Variablen definiert, warum sollten sie also nicht vorhanden sein?
Im zweiten Schritt prüfst du, ob die Variablen Inhalte haben. Das ist bei Name und Mail sinnvoll, aber die p1 - p5 haben immer Inhalte, da du das ja im Formular so vorgibst.
Einfacher (mit dem selben Ergebnis):
Damit wird das ganze dann schon übersichtlicher und verständlicher. Mit dem rest habe ich mich derweil nicht beschäftigt, aber irgendwo steckt da noch ein dicker Hund drinne, bzw. mag es auch daran liegen, daß ich die erforderlichen Dateien nicht auf meinem PC habe. Jedenfalls bläht sich mein Browser bei deinem Script auf über 300MB Arbeitsspeicherverbrauch auf. Ich hab jetzt aber weder Zeit noch Lust die Ursache zu suchen.
G.a.d.M.
Ronald