[PHP] $PHP_SELF? [alle variabelen] hoe??

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • cenix
  • Registratie: September 2001
  • Laatst online: 16-09 20:24
Ooit heb ik eens gelezen (na veel zoeken nog steeds niet gevonden) dat je automatisch alle variabelen kunt doorgeven aan de volgende pagina.

dus als je url was:
$PHP_SELF?q=test&id=3

<a href="$PHP_SELF?hieriets]">click</a> dan kreeg de volgende pagina automatisch de rest mee, dus werd de url:
$PHP_SELF?q=test&id=3

Ik hoop dat het een beetje duidelijk is.
Als iemand het weet
(ps. heb $QUERY_STRING geprobeerd, maar die werkte niet)

Acties:
  • 0 Henk 'm!

  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 17-09 19:09

LauPro

Prof Mierenneuke®

Je zult toch wel degelijk '$QUERY_STRING' moeten gebruiken hor.

Waar heb je het overigens voor nodig? Misschen heb je het wel helemaal niet nodig ;)

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


Acties:
  • 0 Henk 'm!

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

gorgi_19

Kruimeltjes zijn weer op :9

[gokmodus]
Let op vanaf php versie 4.2 UP
http://www.php.net/manual/en/reserved.variables.php

uit de zend php nieuwsbrief
CODING PHP WITH REGISTER_GLOBALS OFF
Jason E. Sweat helps PHP programmers understand how to code with the register_globals PHP configuration parameter set to Off, the new default value since PHP 4.2.0.
http://www.zend.com/zend/art/art-sweat4.php
[/gokmodus]

[ Voor 100% gewijzigd door gorgi_19 op 04-01-2003 11:21 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • cenix
  • Registratie: September 2001
  • Laatst online: 16-09 20:24
Ik heb een index bestand, waar ik in wil zetten
code:
1
2
3
4
5
6
switch ($_GET['mode']) {
  case "login":
    Header("Location: login.php?$QUERY_STRING");
    exit;
  -- etc --
}


Heb diverse dingen geprobeerd,
Header("Location: login.php".$QUERY_STRING);
Header("Location: login.php"."$QUERY_STRING"); - en met single quotes
Header("Location: login.php".<?php $QUERY_STRING ?>);

krijg regelmatig melding
Undefined variable: QUERY_STRING

Acties:
  • 0 Henk 'm!

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

gorgi_19

Kruimeltjes zijn weer op :9

Wat is je PHP versie?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Vigory
  • Registratie: November 2000
  • Laatst online: 17-09 11:08
Zit je toevallig in een functie, dan moet je QUERY_STRING natuurlijk wel uit je global's halen. Hier een voorbeeldje wat ik ergens gebruik:

PHP:
1
2
3
4
5
6
7
8
function doorSturen() {
   global $SCRIPT_NAME, $QUERY_STRING;

   //huidige pagina onthouden
   $page = URLEncode("$SCRIPT_NAME?$QUERY_STRING");
   header("Location: /gebruikers/login.php?page=" . $page);
   exit;
}

[ Voor 7% gewijzigd door Vigory op 04-01-2003 11:23 ]


Acties:
  • 0 Henk 'm!

  • cenix
  • Registratie: September 2001
  • Laatst online: 16-09 20:24
volledige code

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php

    session_start();
    
               //heeft geen zin
    if (!IsSet($_SERVER['QUERY_STRING'])) { $QUERY_STRING = ""; }
    
    if (!IsSet($_GET['mode']))
        $_GET['mode'] = "viewtopic";
        
    switch ($_GET['mode']) {
        case "login":
                Header("Location: login.php?".$_SERVER['QUERY_STRING']);
                exit;
        case "logout":
                Header("Location: logout.php?".$_SERVER['QUERY_STRING']);
                exit;
        case "config":
                Header("Location: config.php?".$_SERVER['QUERY_STRING']);
                exit;
        case "admin":
                Header("Location: admin.php?".$_SERVER['QUERY_STRING']);
                exit;
        case "viewuser":
                Header("Location: viewuser.php?".$_SERVER['QUERY_STRING']);
                exit;
        case "viewthread":
                Header("Location: viewthread.php?".$_SERVER['QUERY_STRING']);
                exit;
        case "viewtopic":
                Header("Location: viewtopic.php?".$_SERVER['QUERY_STRING']);
                exit;
        case "viewcat":
                Header("Location: viewvat.php?".$_SERVER['QUERY_STRING']);
                exit;
        case "addmessage":
                Header("Location: addmessage.php?".$_SERVER['QUERY_STRING']);
                exit;
        default:
                // Default must be viewcat.php - set to other for testing purposes only
                Header("Location: viewtopic.php?".$_SERVER['QUERY_STRING']);
                exit;
    }
//  Header("Location: addmessage.php?".session_name()."=".session_id());

?>


$HTTP_SERVER_VARS['QUERY_STRING'] werkte ook niet.
error: undefined index, of weet ik wat
sorry voor vern*ken layout

edit
code:
1
2
3
        case "viewtopic":
                Header("Location: viewtopic.php?".$_SERVER['QUERY_STRING']);
                exit;


alleen deze regel loopt fout 8)7, de rest lijkt het wel goed te doen.

[ Voor 21% gewijzigd door cenix op 04-01-2003 11:32 ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Is niet echt netjes om met global te werken, maar dit zal idd wel werken.

Acties:
  • 0 Henk 'm!

  • cenix
  • Registratie: September 2001
  • Laatst online: 16-09 20:24
Probleem is opgelost.. :-)
Heb bij starten script, volgende aangepast - zie oudere post

code:
1
2
3
4
if (!IsSet($_GET['mode'])) {
    $_GET['mode'] = "viewtopic";
    $_SERVER['QUERY_STRING'] = "";
}


Hij had nog een lege Query String.
Pagina: 1