PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP]Parameter werden nicht übergeben !


WildOne
2004-03-17, 16:39:46
Hallo,

habe gestern meinen Apache (v.1.3.20), PHP (4.3.4) und MySQL neu installiert und eingerichtet (offline).
Nun tritt beim programmieren aber der Fehler auf, dass weder mit method=post noch mit method=get Daten und Parameter an Folgeseiten weitergegeben werden ! Auch per direktem Link (z.B.: http://localhost/intranet/news.php?id=1) wird auf der Seite der Parameter '1' nicht verarbeitet !
Woran kann das liegen ? Ist mir bei der Konfiguration der php.ini ein Fehler unterlaufen ? Wenn ja wo ?

Gruss & Dank
WildOne

grakaman
2004-03-17, 16:49:33
Original geschrieben von WildOne
Hallo,

habe gestern meinen Apache (v.1.3.20), PHP (4.3.4) und MySQL neu installiert und eingerichtet (offline).
Nun tritt beim programmieren aber der Fehler auf, dass weder mit method=post noch mit method=get Daten und Parameter an Folgeseiten weitergegeben werden ! Auch per direktem Link (z.B.: http://localhost/intranet/news.php?id=1) wird auf der Seite der Parameter '1' nicht verarbeitet !
Woran kann das liegen ? Ist mir bei der Konfiguration der php.ini ein Fehler unterlaufen ? Wenn ja wo ?

Gruss & Dank
WildOne

Auch wenn ich mit PHP schon lange nicht mehr gearbeitet habe, aber das klingt mir sehr verdächtig nach globalen Variablen. Aus Sicherheitsgründen hat man ab irgend einer PHP 4er Version globale Variablen ausgestellt. D.h. du musst mit einem speziellen Befehl (keiner Ahnung wie der jetzt heisst) die Daten explizit anfordern oder damit dein bestehender Code weiterfunktioniert, in der php.ini globale Variablen erlauben (on).

MfG

BofD
2004-03-19, 14:03:27
grakaman hat recht:
Die Variable die du in der php.ini ändern musst ist folgende ("Steht unter Data Handling"):

; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals=On

So sieht´s zumindest bei mir aus und es funzt.

ethrandil
2004-03-19, 14:27:17
Das ist nicht umsonst abgeschafft...

benutz doch statt $id einfach $_REQUEST['id'], bzw $_POST['id'] / $_GET['id']

- Eth

El Fantastico
2004-03-20, 13:01:41
Original geschrieben von ethrandil
Das ist nicht umsonst abgeschafft...

Kann ich nur zustimmen... Zur Erläuterung vielleicht noch:

http://de2.php.net/register_globals