hilfdirselbst.ch
Facebook Twitter gamper-media
Petra Rudolph p
Beiträge: 1554
15. Jun 2002, 20:11
Beitrag #1 von 4
Bewertung:
(1025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Übergabe von Formulardaten an eine Funktion


Nabend!

Ich bastel mal wieder an meinem Turnverein und versuche mich daran, mit Funktionen zu arbeiten.
Ziel ist es, dynamisch ein Formular zu erzeugen, (es natürlich auszufüllen) und die Daten in die DB einzutragen, am Beispiel einer Mannschaftsliste. Ich möchte also z.B. fünf Spieler für die Herren 1, Handball neu eingeben.

if (!isset($control))
{
$control="start";
}

if ($control == "start")
{
start();
// hier hab ich ein Formular mit dem ich zunächst die Anzahl der Datensätze/Forumularzeilen eingebe und die Abteilung und Mannschaft auswähle. Von da aus gelangt man zu "form"
}

if ($control == "form")
{
crea_form($anzahl);
//prima, das hat geklappt, die Variablen wurden über die URL übergeben und hier wird nun das Forumlar mit fünf Zeilen ausgegeben. Von da aus soll man dann zu "insert" kommen
}

if ($control == "insert")
{
insert();
//und jetzt fängt der Ärger an. Die Daten stehen zwar jetzt alle brav in der URL (http://localhost/php/php.exe/teams/spielerliste1.php?control=insert&anzahl=5&spielervorname%5B0%5D=Monika&spielername%5B0%5D=Mustermann&position%5B0%5D=Zuspiel&trikot%5B0%5D=2...)
werden aber nicht an die Funktion übergeben, in der Funktion selber bin ich drin, sie macht aber nix. Innerhalb der Funktion krieg ich mit echo $contol insert, echo §anzahl ergibt nix.

}


Wenn ich meine bisherige Methode verwende (alles in zig Dateien und der Reihe nach aufrufen, dann klappt es, die Funktionen sind also in Ordnung (glaubich )


Hiiiiiilffeeeeeee, Miro, Helge, hiiiiiilffeeeeee!

Top
 
X
oesi50  A  S
Beiträge: 2315
15. Jun 2002, 22:26
Beitrag #2 von 4
Beitrag ID: #5333
Bewertung:
(1025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Übergabe von Formulardaten an eine Funktion


hallo Petra,

definiere doch mal deine funktion so:
Code:

function insert($anzahl,$spielervorname,$spielername,$position, $trikot){
bla...
bla...
bla...
}


der Aufruf der Funktion sollte dann so sein:
Code:

insert($anzahl,$spielervorname,$spielername,$position, $trikot);


Stichwort: Namespace

ich hoffe das hilft.
oesi50

n.B. noch'n kleiner Link:
http://www.php.net/manual/de/functions.arguments.php#functions.variable-arg-list
_________________
A bis z groß und klein
0 bis 9 und underline
Beste Darstellung mit
IE9.3 SP5a


[ Diese Nachricht wurde geändert von: oesi50 am 2002-06-15 22:42 ]
als Antwort auf: [#5325] Top
 
Miro Dietiker
Beiträge: 699
17. Jun 2002, 22:22
Beitrag #3 von 4
Beitrag ID: #5474
Bewertung:
(1025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Übergabe von Formulardaten an eine Funktion


Hallooooo Peetra!

Kleiner ausflug in die Abgründe der Variablen:

Funktionen generieren eine eigene "Umgebung" das heisst, von da an wo sie aufgerufen werden, kennen sie keine anderen Variablen mehr. Nach der Rückkehr aus der Funktion sind sie aber alle wieder da. In der Funktion selber dürfen gleichnamige variablen generiert werden, welche NEU erstellt werden und nach dem beenden der Funktion wieder gelöscht werden.
Kompliziert? Probier einfach mal.

Wie zaubert man nun also "Zugriff auf die Daten ausserhalb der Funktion?

A) Mittels Parameterübergabe wie das der oesi erklaert hatte wird aber lästig, wenn man sehr viele Formularfelder hat!

B) Das Schlüsselwort "global" verwenden.

Code:

$feld1 = $feld2 = $feld3 = $feld4 = 100;
// Die Globalen Variablen sind jetzt alle auf 100 gesetzt.
bla($mode);

function bla($mode)
{
// echo $feld1; würde hier nichts ausgeben!!
global $feld1, $feld2, $feld3, $feld4
echo $feld1; // Gibt jetzt "Globale Variable" aus (100)
}



Jetzt nur noch die Frage, wann global und wann Parameter der Funktion. Nicht ganz einfach, aber ich empfehle folgendes:
Der Funktion per Parameter nur essentielle Grössen die zum Verständnis der Funktion nötig sind. Einfache Formularfelder gehören für mich nicht dazu.

Einfaches Beispiel: function ZeigeEintrag($isadmin);
Ich nehm mal an, es gibt 2 Ansichten ($isadmin==true) oder ($isadmin==false). Der Admin sieht auch die "unsichtbaren" felder der Person in einer Darstellung. Diese Option ist für das Grundverständnis nötig (Ich weiss jetzt: Die darstellung hängt ab davon, ob admin oder nicht). Die dargestellten Felder/Inhalte jedoch interessieren mich jetzt noch nicht, sondern erst wenn ich die Funktion "auseinandernehme".

Genug gesagt, liebe Petra?

Miro Dietiker
als Antwort auf: [#5325] Top
 
Petra Rudolph p
Beiträge: 1554
18. Jun 2002, 12:25
Beitrag #4 von 4
Beitrag ID: #5515
Bewertung:
(1025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Übergabe von Formulardaten an eine Funktion


Salut,

danke erstmal! Ich werde eure Tipps ausprobieren und euch auf dem Laufenden halten.

Aber nicht, solange es sooooo heiß ist. Ufff, 35°C. Das hält doch keiner aus.

_________________
liebe Grüße
Petra

http://www.quicktoweb.de

[ Diese Nachricht wurde geändert von: Petra Rudolph am 2002-06-18 12:27 ]
als Antwort auf: [#5325] Top
 
X