[php] querystring vars niet beschikbaar

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een php pagina gemaakt waarbij variablelen waardes via de query string worden verstuurd. Deze variablen zijn dan op de volgende pagina beschikbaar. Nu heb ik de pagina naar een andere server overgezet, maar op die server werkt het niet meer. de variablen zijn niet meer beschikbaar (worden i.i.g niet meer als variabelen beschikbaar gemaakt). Is het mogelijk dat er iets in PHP.ini staat ingesteld waardoor deze waarden niet meer als variabelen beschikbaar zijn? En hoe kun je die waardes dan wel benaderen?

[ Voor 10% gewijzigd door Verwijderd op 08-02-2003 20:07 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Met nieuw versies van php zijn get vars niet mee zomaar beschikbaar omdat register_globals op off staat en dat de default instelling is. Je moet dan $_GET['var'] gebruiken of $HTTP_GET_VARS['var']

edit: volgens mij is wat jij bedoelt ook geen query string maar gewoon de url. Een query string stuur je naar je db om datasets op te halen oid.

[ Voor 51% gewijzigd door Michali op 08-02-2003 20:08 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Is dat niet alleen voor bedoeld voor form submission? Ik heb het over vaste hyperlinks... Maar ik zal het proberen.

En ik bedoel wel querystring. Er is namelijk ook een globale PHP variable die $QUERY_STRING heet.

[ Voor 40% gewijzigd door Verwijderd op 08-02-2003 20:10 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Nee, als jij ergens een link neer zet bv. <a href="blaat.php?var=value">link</a> dan kun je in blaat.php de waarde van var (als register_globals off staat) bereiken door (in de nieuwste php versie) $_GET['var'] te gebruiken. Dit vind ik zelf erg goed dat ze dit zo doordrukken want het komt de duidelijkheid van je code en latere bijwerking erg ten goede.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
een query string wordt toch alleen gebruikt om te kijken via welke pagina op de huidige is gekomen?

Ik heb ff voor je gekeken. Je kunt de QUERY_STRING nu bereiken via $_SERVER['QUERY_STRING'].

[ Voor 33% gewijzigd door Michali op 08-02-2003 20:16 ]

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

php:
querystring = sql query waarmee je database aanspreekt
gegevens uit de url halen doe je dmv de GET array:
code:
1
print_r($_GET)


asp:
de querystring is de url, ook dmv een array beschikbaar:
code:
1
2
id = Request.Querystring("id")
Response.Write id


Of ts is in de war met asp, of hij moet gewoon met $_GET / $HTTP_GET_VARS werken.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het werkt thxs!!!!!
querystring = sql query waarmee je database aanspreekt
gegevens uit de url halen doe je dmv de GET array:
Ja dat ook, maar $QUERY_STRING is ook een globale PHP variable. Zoiets als var=waarde&id=bert

[ Voor 138% gewijzigd door Verwijderd op 08-02-2003 20:39 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Maar wat doe je precies met die query_string dan? Hoe stop je daar een var in? En hoe haal je die eruit? Als je persee geen vars in je url wilt en niet wilt posten dan kun je toch gewoon sessies gebruiken?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Michali schreef op 08 February 2003 @ 20:27:
Maar wat doe je precies met die query_string dan? Hoe stop je daar een var in? En hoe haal je die eruit? Als je persee geen vars in je url wilt en niet wilt posten dan kun je toch gewoon sessies gebruiken?
Nee, dat bedoel ik ook niet. Hij heet alleen zo, ik gebruikte altijd gewoon de variablen die beschikbaar waren. Maar nu ga ik _GET gebruiken :)

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 08 February 2003 @ 20:19:
Het werkt thxs!!!!!
[...]
Ja dat ook, maar $QUERY_STRING is ook een globale PHP variable. Zoiets als var=waarde&id=bert
Nog noooit van gehoord :)
Maar het werkt, en daar gaat het om.

Acties:
  • 0 Henk 'm!

Verwijderd

$QUERY_STRING is dus GEEN globale variabele meer. Die zit, zoals al aangegeven, in het $_SERVER array... (en volgens mij ook in $_REQUEST) ... Maar het beste is gewoon om iedere var los uit het $_GET array te halen, omdat je anders moet gaan exploden op & en daarna onderling weer op = en dan een heeeele lelijke variabele-variabele-move moet doen om de variabelen beschikbaar te krijgen...

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Oh oh oh, wat is php_info(); toch handig ;)

VariableValue
_GET["Blaaaaaaaaaaaaaaaat"]Blaaaaaaaaaablabla
_GET["Blablabla"]blaaaaaaaaat
_SERVER["REDIRECT_STATUS"]200
_SERVER["HTTP_ACCEPT"]image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
_SERVER["HTTP_ACCEPT_LANGUAGE"]nl
_SERVER["HTTP_ACCEPT_ENCODING"]gzip, deflate
_SERVER["HTTP_USER_AGENT"]Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
_SERVER["HTTP_HOST"]213.51.93.67
_SERVER["HTTP_CONNECTION"]Keep-Alive
_SERVER["PATH"]C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\PROGRA~1\Borland\Delphi6\Bin;C:\PROGRA~1\Borland\Delphi6\Projects\Bpl;C:\3D Studio Max 5\backburner2\;C:\Program Files\Common Files\Autodesk Shared\
_SERVER["SystemRoot"]C:\WINNT
_SERVER["COMSPEC"]C:\WINNT\system32\cmd.exe
_SERVER["PATHEXT"].COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
_SERVER["WINDIR"]C:\WINNT
_SERVER["SERVER_SIGNATURE"]no value
_SERVER["SERVER_SOFTWARE"]Apache
_SERVER["SERVER_NAME"]213.51.93.67
_SERVER["SERVER_ADDR"]213.51.93.67
_SERVER["SERVER_PORT"]80
_SERVER["REMOTE_ADDR"]213.51.93.67
_SERVER["DOCUMENT_ROOT"]C:/httproot
_SERVER["SERVER_ADMIN"]osiris@osiris.nb.nu
_SERVER["SCRIPT_FILENAME"]C:\httproot\info.php
_SERVER["REMOTE_PORT"]3901
_SERVER["REDIRECT_QUERY_STRING"]Blaaaaaaaaaaaaaaaat=Blaaaaaaaaaablabla&Blablabla=blaaaaaaaaat
_SERVER["REDIRECT_URL"]/info.php
_SERVER["GATEWAY_INTERFACE"]CGI/1.1
_SERVER["SERVER_PROTOCOL"]HTTP/1.1
_SERVER["REQUEST_METHOD"]GET
_SERVER["QUERY_STRING"]Blaaaaaaaaaaaaaaaat=Blaaaaaaaaaablabla&Blablabla=blaaaaaaaaat
_SERVER["REQUEST_URI"]/info?Blaaaaaaaaaaaaaaaat=Blaaaaaaaaaablabla&Blablabla=blaaaaaaaaat
_SERVER["SCRIPT_NAME"]/info.php
_SERVER["PATH_TRANSLATED"]C:\httproot\info.php
_SERVER["PHP_SELF"]/info.php


Okay, het antwoord was er al wel ($_GET enzo), maar dan heb je hier iig een 'samenvatting' met wat er allemaal nog meer te gebruiken is :)
Pagina: 1