[PHP] URL wordt niet geparsed

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Heehallo,

Probleempje: de meegestuurde variabelen uit een URL naar een PHP-pagina worden niet verwerkt. Ik zal dit uitleggen aan de hand van een voorbeeld:

code:
1
2
3
4
<php?
// Dit is C:\www\test.php
echo $id
?>


Als ik nu http://127.0.0.1/test.php?id=4 opvraag, heeft $id niet de waarde 4, maar is gewoon 0.

Dit werkt in geen enkel script op mijn lokale server, maar op alle andere PHP-scripts(op andere servers) werkt alles wel!

Ik denk dat er iets mis is met mijn configuratie. Jullie kunnen die als volgt checken, ik heb de volgende files beschikbaar gesteld:

http://81.59.128.194/phpinfo.php
http://81.59.128.194/php.ini is een kopie van C:\WINDOWS\php.ini
http://81.59.128.194/conf/ is een kopie van C:\Foxserv\Apache\Conf

Andere files nodig? Laat het ff weten.

Acties:
  • 0 Henk 'm!

Verwijderd

P&W FAQ - PHP

[ Voor 57% gewijzigd door Verwijderd op 26-10-2003 12:22 ]


Acties:
  • 0 Henk 'm!

  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
doe is echo $_GET["id"];

Acties:
  • 0 Henk 'm!

  • sirdupre
  • Registratie: Maart 2002
  • Laatst online: 27-04 09:36
Ik liep laatst ook tegen dit probleem aan, en ik kan je toch echt wel vertellen dat dit gewoon in de php manual is terug te vinden....

Kijk maar eens onder variables in de manual, eerste of tweede hoofdstuk....

Acties:
  • 0 Henk 'm!

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Op een andere server werkt ie wel, EXACT dezelfde script.

Probeer maar:

De eerste is
http://81.59.128.194/test.php?id=4 (mijn server, werkt niet)

De tweede:
http://www.sterrenkunde.nl/jwg/amersfoort/test.php?id=4 (andere server, werkt wel.)

Beide test.php's zijn allebei hetzelfde.

Acties:
  • 0 Henk 'm!

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Hmm, als je PHP4 hebt: dan staat in je php.ini (vind je onder C:\%windowsroot%\php.ini) standaard de regel: register_globals = off

Dit betekend dat je geen variabelen kan meesturen met de URL. Dit leverde namelijk veel beveiligingsproblemen op.
Je kan voor simpele niet populaire applicaties in PHP deze waarde dan ook wel op
on zetten (vervang off door on in php.ini).

Maar ik adviseer je wanneer je een beetje wegwijs bent in PHP te kijken naar sessions. Een goede tutorial hierover vind je op phpfreaks.com
sessions registeren all variabelen veilig op de server!

Hopelijk lost dit je probleem op. :)

mijn naam slaat nergens op, althans niet op mij :P


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Heb je de link van Cheatah gelezen?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

het staat overigens ook in je manual ja ;)

mijn naam slaat nergens op, althans niet op mij :P


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 08:24

gorgi_19

Kruimeltjes zijn weer op :9

Zoolander schreef op 26 October 2003 @ 12:25:
Maar ik adviseer je wanneer je een beetje wegwijs bent in PHP te kijken naar sessions. Een goede tutorial hierover vind je op phpfreaks.com
sessions registeren all variabelen veilig op de server!
Erhm.. Waarom zou je sessions willen gebruiken in dit geval? Een PageID doorsturen lijkt me dat dit perfect via een querystring gaat. Een UserID bewaren zou via een Sessie kunnen, maar is niet noodzakelijk.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 15-09 17:06
Die andere server zal dus ofwel gewoon zulke variabelen toelaten, zonder dat je ze aanroept als $_GET ofwel draait die nog PHP3, alhoewel die kans mij klein lijkt.

Skat! Skat! Skat!


Acties:
  • 0 Henk 'm!

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Okee, maar wat is er nou veiliger dan? De var blijft in de URL staan hoor! :P

Nee, niet als je POST, dan is het beter, maar voor zo'n link? Ik snap het niet.

Acties:
  • 0 Henk 'm!

Verwijderd

Zoolander schreef op 26 oktober 2003 @ 12:25:
Hmm, als je PHP4 hebt: dan staat in je php.ini (vind je onder C:\%windowsroot%\php.ini) standaard de regel: register_globals = off

Dit betekend dat je geen variabelen kan meesturen met de URL. Dit leverde namelijk veel beveiligingsproblemen op.
Nee, het betekent dat er niet zomaar variabelen worden geinitialiseerd, maar dat alle variabelen die via de url worden meegegeven zijn terug te vinden in de $_GET array.
Je kan voor simpele niet populaire applicaties in PHP deze waarde dan ook wel op
on zetten (vervang off door on in php.ini).
Beter is het om je script aan te passen.
Maar ik adviseer je wanneer je een beetje wegwijs bent in PHP te kijken naar sessions. Een goede tutorial hierover vind je op phpfreaks.com
sessions registeren all variabelen veilig op de server!
Sessions hebben hier niets mee te maken.

Acties:
  • 0 Henk 'm!

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

gorgi_19 schreef op 26 October 2003 @ 12:27:
[...]

Erhm.. Waarom zou je sessions willen gebruiken in dit geval? Een PageID doorsturen lijkt me dat dit perfect via een querystring gaat. Een UserID bewaren zou via een Sessie kunnen, maar is niet noodzakelijk.
Ja dat is waar. Met de $_POST of $_GET zal het ook wel lukken.
Maar we zijn het wel eens toch dat register_globals uit staat en dat ie idd gewoon $_POST of $_GET moet gebruiken dan wel met of zonder sessies! :)

mijn naam slaat nergens op, althans niet op mij :P


Acties:
  • 0 Henk 'm!

  • pelleke
  • Registratie: Maart 2003
  • Laatst online: 08-11-2024

pelleke

Aut viam inveniam aut faciam

Topicstarter
Sessions hebben hier niets mee te maken.
Inderdaad, die hebben alleen zin als je de variabelen instelt vanuit PHP-script, niet vanuit de URL.

Ik kan dus beter aanleren om $_GET te gebruiken.

edit:
Ff toe the point: Deze vraag is dmv \heel veel\ replies in 11 minuten beantwoord.
Tweakers.net rulez!

Zo, dat moest er ff uit.

[ Voor 26% gewijzigd door pelleke op 26-10-2003 12:37 ]


Acties:
  • 0 Henk 'm!

Verwijderd

pelleke schreef op 26 October 2003 @ 12:31:
Ik kan dus beter aanleren om $_GET te gebruiken.
Dat hangt er helemaal van af welke variabelen je wil uitlezen..

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Verwijderd schreef op 26 oktober 2003 @ 15:16:
[...]


Dat hangt er helemaal van af welke variabelen je wil uitlezen..
Ben ik het niet mee eens. Aangezien de makers van PHP hebben besloten dat het veiliger is om register_globals uit te hebben staan (is het logischerwijs ook), kun je je inderdaad beter aanwennen dat te gebruiken.

Net zoiets als session_register(), wat nog steeds door velen hier gebruikt wordt. Dit is zo deprecated als maar kan, gebruik het dan ook niet meer. Ik snap niet dat zoveel programmeurs hier zich niet bezighouden met wat de ins en outs van hun favo programmeertaal zijn..

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

pelleke schreef op 26 October 2003 @ 12:31:
[...]
edit:
Ff toe the point: Deze vraag is dmv \heel veel\ replies in 11 minuten beantwoord.
Tweakers.net rulez!

Zo, dat moest er ff uit.
offtopic:
Had je in de FAQ gelezen was je er binnen de minuut zelf achter gekomen.
Zelf nadenken rulez!
:P

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate

Pagina: 1