Arraywerte von $_GET in dynamische Variablen speichern

Alles, was PHP betrifft, kann hier besprochen werden.

Arraywerte von $_GET in dynamische Variablen speichern

Postby moneysak » 22. April 2007 19:16

Moin zusammen,

ich übergebe verschiedene Variablen durch einen URL Link welchen ich dann mit Hilfe des $_GET Arrays in PHP-Variablen speichern will.

Code: Select all
$abschnitte = $_GET['Abschnitte'];
for ($i=0; i<count($abschnitte); $i++){
  $altaue_1[i] = $_GET[$i.'_1_A'];


Im obigen Codebeispiel steht $abschnitte für die Anzahl der übergebenen Variablen. Die übergebenen Variablen haben alle die Form:
1_1_A ; 2_1_A ; 3_1_A ; 4_1_A ......

Da die Zahl der übergebenen Variablen nicht immer gleich ist versuche ich den String im $_GET mit Hilfe der Variablen $i dynamisch zu erzeugen.
Leider stürzt der Apache dabei immer ab.
Ist meine Vorgehensweise vom Prinzip her richtig oder ist das totaler Schmarn was ich da geschrieben habe?? Wenn ja dann wäre ich für jede Hilfe dankbar.
moneysak
 
Posts: 7
Joined: 19. April 2007 22:06

Postby Wiedmann » 22. April 2007 19:19

Unabhängig davon was du dir sonst in PHP ausgedacht hast:

HTML:
Ein Variable die du per GET, also wohl ein Formularfeld, übergibst, kann/darf nicht mit einer Zahl anfangen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby moneysak » 22. April 2007 19:26

nein bei mir handelt es sich nicht um ein Formular sondern um ein durch JavaScript erzeugten Link.
Das mit der Zahl am Anfang funktioniert da ich das ganze ja schon zum laufen gebracht habe. Es funktioniert aber eben nur dann wenn ich die Zahl der übergebenen Werte als konstant ansehe. Der code sieht dann so aus:

Code: Select all

$abschnitte = $_GET['Abschnitte'];

  $altaue_1[1] = $_GET['1_1_A'];
  $altaue_1[2] = $_GET['2_1_A'];
  $altaue_1[3] = $_GET['3_1_A'];


moneysak
 
Posts: 7
Joined: 19. April 2007 22:06

Postby Wiedmann » 22. April 2007 19:49

Ist trotzdem die bessere Idee, die Zahl hinten anzuhängen.

- die Variable "$i" sollte man auch als "$i" schreiben und nicht als "i".
- count() auf einen String ergibt immer 1.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby moneysak » 22. April 2007 20:09

stimmt da hattest du recht.
Hab das i jetzt durch $i ersetzt und das "$i<count($abschnitte)" durch "$i<$abschnitte". Wenn man zwischen JavaScript und PHP umdenken muss dann kann das schon mal vorkommen :D
Vielleicht ist auch deshalb der Apache abgestürzt.

Das Problem das bleibt ist aber, wie verknüpfe ich die Variable $i, innerhalb der eckigen Klammern des $_GET, mit dem String "_1_A"

Wenn ich das folgendermaßen schreibe funktioniert das leider nicht, da ein var_dump($altaue_1[0]) NULL ausgibt

for ($i=0; $i<$abschnitte; $i++){
$altaue_1[$i] = $_GET[$i.'_1_A'];

Also $_GET[$i.'_1_A'] funktioniert nicht, egal ob die Zahl vorne oder hinten angehängt wird. Woran kann das liegen??
moneysak
 
Posts: 7
Joined: 19. April 2007 22:06

Postby Wiedmann » 22. April 2007 20:15

Wie ist denn dein error_reporting Level eingestellt?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby moneysak » 22. April 2007 20:24

was ist das ?? bin wirklich kein PHP Experte :shock:
moneysak
 
Posts: 7
Joined: 19. April 2007 22:06

Postby Wiedmann » 22. April 2007 20:25

Hm, lass uns einfach im Manual nachschauen...
http://de.php.net/manual/de/ref.errorfu ... -reporting
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 17 guests