Makkelijkere manier om url te achterhalen
Ik vroeg me af of er een makkelijkere manier is om de huidige
url op je website te achterhalen voor bijvoorbeeld formulieren
enzo. Ik heb zelf dit gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function thisUrl() {
$var1 = $_SERVER['PHP_SELF'];
if(isset($_GET['p'])) {
$p = '?p=' . $_GET['p'];
if(!empty($_GET['nid'])) {
$nid = '&nid=' . $_GET['nid'];
}
if(!empty($_GET['uid'])) {
$uid = '&uid=' . $_GET['uid'];
}
if(!empty($_GET['eid'])) {
$eid = '&eid=' . $_GET['eid'];
}
}
$link = $var1 . $p . $nid . $uid . $eid;
return $link;
}
?>
function thisUrl() {
$var1 = $_SERVER['PHP_SELF'];
if(isset($_GET['p'])) {
$p = '?p=' . $_GET['p'];
if(!empty($_GET['nid'])) {
$nid = '&nid=' . $_GET['nid'];
}
if(!empty($_GET['uid'])) {
$uid = '&uid=' . $_GET['uid'];
}
if(!empty($_GET['eid'])) {
$eid = '&eid=' . $_GET['eid'];
}
}
$link = $var1 . $p . $nid . $uid . $eid;
return $link;
}
?>
Maar nu moet ik telkens als ik een nieuwe get statement aanmaak hem toevoegen in het script.. Dus ik vroeg me af of er een makkelijkere manier was?
Bij voorbaat dank!
Mik
Gewijzigd op 08/02/2011 04:46:58 door Mik PHP
$_SERVER['PHP_SELF'] is ook niet aan te raden om te gerbuiken en kan in principe gelijk zijn aan een action="".
en als $_GET niet gezet is krijg jij een waardelose link terug
Zorg er voor dat als je aan het coderen bent en je code test dat error_reporting / display_errors aan staat, dan zie je tenminste waar het allemaal fout loopt.
En jouw probleem is dat je zomaar in het wilde weg codeerd, schrijf eerst eens op wat je wilt, dan kan je het redelijkerwijs in 1 keer coderen.
en verder, probeer eens $_SERVER['REQUEST_URL']
Code (php)
1
2
3
4
5
2
3
4
5
<?php
function thisUrl() {
return $_SERVER['HTTP_HOST'].$_SERVER['HTTP_X_REWRITE_URL'];
}
?>
function thisUrl() {
return $_SERVER['HTTP_HOST'].$_SERVER['HTTP_X_REWRITE_URL'];
}
?>
Noppes Homeland op 08/02/2011 06:15:54:
empty is in ieder geval geen functie die je moet gebruiken om controles mee uit te voeren.
(...)
(...)
Onzin.
Zie ook http_build_url en parse_url en parse_str.
if (isset($_SERVER['HTTP_X_REWRITE_URL']))
Waarom overigens deze exotische server variabele waar meestal deze $_SERVER['REQUEST_URL'] wel bruikbaar is??
Bij mij werd (volgens mij) niet alles in de request url meegenomen...