Zum Inhalt springen

PHP Array an Funktion übergeben


Empfohlene Beiträge

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 :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>";

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...