freeman_sb Geschrieben 29. September 2006 Teilen Geschrieben 29. September 2006 Hallo community, folgendes Problem: ich lasse mir eine Tabelle mit Formuarfeldern dynamisch erstellen. Jedes Formularfeld bekommt über eine Schleife dynamische einen Index zugewiesen. Nach ausfüllen des Formulares werden die Werte über <?echo $SERVER[''PHP_SELF]?> an die index.php übergeben. Nun werden die Werte der einzelnen Felder über eine for - Schleife ausgelesen und entsprechenden arrays zugewiesen. Bis hierhehr funktioniert alles einwandfrei. Die Arrays erhalten alle Werte. Woran es scheitert ist die Übergabe der einzelnen Arrays an eine Funktion in einer mit include, eingebundenen Datei. Es will einfach nichts in der Funktion ankommen. Hier mal ein Auszug aus dem Quellcode der index.php (am Beginn der Anweisung wird lediglich überprüft ob die erste Zeile des Formulares ausgefüllt wurde:) include("./database.php"); include("./inc/head.html"); include("./inc/menu.php"); include("./methoden.php"); if($_POST['anzahl']&&$_POST['name1']&&$_POST['vorname1']&&$_POST['adresse1']&&$_POST['geb_dat1']&&$_POST['reg_nummer1'] &&$_POST['pruef_datum1']&&$_POST['pruefer_nummer1']&&$_POST['pruefer_name1']&&$_POST['gruppe1']){ $count=$_POST['anzahl']; $i=1; for($i=1; $i<=$count;$i++){ $name[$i]=$_POST[name.$i]; $vorname[$i]=$_POST[vorname.$i]; $adresse[$i]=$_POST[adresse.$i]; $geb_dat[$i]=$_POST[geb_dat.$i]; $reg_nummer[$i]=$_POST[reg_nummer.$i]; $pruef_datum[$i]=$_POST[pruef_datum.$i]; $pruefer_nummer[$i]=$_POST[pruefer_nummer.$i]; $pruefer_name[$i]=$_POST[pruefer_name.$i]; $gruppe[$i]=$_POST[gruppe.$i]; } insert_plan($count, $name, $vorname, $adresse, $geb_dat, $reg_nummer, $pruef_datum, $pruefer_nummer, $pruefer_name[$i], $gruppe); exit; } Vielen Dank für eure Hilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 29. September 2006 Teilen Geschrieben 29. September 2006 Hast du die Variablen auch ausserhalb deiner Schleife deklariert? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 29. September 2006 Teilen Geschrieben 29. September 2006 Hast du die Variablen auch ausserhalb deiner Schleife deklariert? Ist zwar unschön, aber bei PHP nicht zwingend nötig... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
freeman_sb Geschrieben 29. September 2006 Autor Teilen Geschrieben 29. September 2006 Die Variablen sind nicht ausserhalb der Schleife deklariert, wenn ich die Funktion aber partiell aus der Schleife heraus aufrufe und explizit die Übergabeparameter bzw. deren Stellenwert innerhalb des Arrays angebe funktioniert es auch nicht. :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 29. September 2006 Teilen Geschrieben 29. September 2006 Wie sieht denn die Funktion aus, die die Variablen "empfängt"? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
freeman_sb Geschrieben 29. September 2006 Autor Teilen Geschrieben 29. September 2006 die Funktion kann als eine Art abstrakte Funktion angesehen werden. d.h. sie ist momentan leer und enthält nur nur eine Schleife, die eigentlich die Inhalte der einzelnen Arrays auf dem Bildschirm ausgeben soll. Später sollen die Werte mal in eine Datenbank geschrieben werden. Ich weiß dass ich das auch direkt in der oben geposteten Schleife realisieren könnte. Ich finde dies jedoch nicht gerade elegant, da sämtliche Methoden ausgelagert sind. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 29. September 2006 Teilen Geschrieben 29. September 2006 Ich meinte eigentlich den Quellcode der Funktion, aber ist ja jetzt mal egal... Ich würde mir mal Debug-Ausgaben einbauen, einmal direkt vor dem Aufruf der Funktion "insert_plan", und als erstes innerhalb der Funktion selbst: echo "before call<br>"; echo "<pre>"; print_r($name); echo "</pre><hr>"; insert_plan($count, $name, $vorname, $adresse, $geb_dat, $reg_nummer, $pruef_datum, $pruefer_nummer, $pruefer_name[$i], $gruppe); [/PHP] Dann in der Funktion selbst als erstes, wobei $name der Name der übergebenen Variable ist... [PHP] echo "in function<br>"; echo "<pre>"; print_r($name); echo "</pre>"; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
`kiko Geschrieben 7. Oktober 2006 Teilen Geschrieben 7. Oktober 2006 Hey Wie wärs denn jeden einzelnen Wert der schleife nicht in ein Array zu speichern, sondern einfach direkt überzugeben und weiterzuverarbeiten? Poste bitte doch den Code der deklarierten Funktion. ´gruß` Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.