login  Naam:   Wachtwoord: 
Registreer je!
 Forum

header location: PHP_SELF werkt niet

Offline Nrzonline - 21/07/2006 19:08 (laatste wijziging 21/07/2006 19:21)
Avatar van NrzonlinePHP ver gevorderde Hey SiMa Leute,

Ik heb een inlog script gemaakt, die prima werkt. Alleen wil ik dat
als je verkeerde gegevens hebt ingevuld dat hij de pagina reload,
zodat de error die in de sessie is gezet kan worden weergegeven,
dus daarom een header("Location: locatie"); maar, mijn $_SERVER['PHP_SELF'] werkt niet..

Momenteel heb ik het zo:
  1. <?PHP
  2. if (!voorwaarde)
  3. {
  4. $_SESSION['error_ses'] = $_LANG['ERROR']['NAAM'];
  5. header("Location: " . $_SERVER['PHP_SELF']);
  6. }
  7. ?>


Dit werkt niet, want hij locate hem dus gewoon weer naar index.php
Iemand een ideetje waarom hij het niet doet op deze manier?
Nrzonline

11 antwoorden

Gesponsorde links
Offline Dark_Paul - 21/07/2006 19:13
Avatar van Dark_Paul PHP ver gevorderde misschien met meta-tag? <meta http-equiv="refresh" content="0;url=url">
Offline Nrzonline - 21/07/2006 19:17 (laatste wijziging 21/07/2006 19:18)
Avatar van Nrzonline PHP ver gevorderde Nee, omdat je dan het gezanik krijgt dat als je een pagina terug
wilt klikken dat het dus niet gaat omdat hij zich blijft refreshen
door de waarde 0. En nee, een delay is al helemaal niks, dus een
delay opgeven is geen optie.

Ten tweede gebruik ik template power, en heb dus mijn HTML
en PHP volledig gesplit, en dat wil ik zo houden.

Ten derde, meta hoort toch in je <head></head>?
Offline Micron - 21/07/2006 19:41
Avatar van Micron HTML beginner Nee niet voor een doorverwijzig zoals de META Refresh.

Je kan het ook met javascript gebruiken, misschien dat dit werkt;

  1. <?PHP
  2. if (!voorwaarde)
  3. {
  4. $_SESSION['error_ses'] = $_LANG['ERROR']['NAAM'];
  5. print "<script language=\"javascript\"> location=\" ".$_SERVER['PHP_SELF']."\"; </script>";
  6. }
  7. ?>
Offline Ultimatum - 21/07/2006 19:51
Avatar van Ultimatum PHP expert werkt het niet gewoon zo:

header("Location: $_SERVER['PHP_SELF']");

niet getest oid 
Offline Nrzonline - 21/07/2006 20:39 (laatste wijziging 21/07/2006 20:46)
Avatar van Nrzonline PHP ver gevorderde @Micron: gaat gewoon weer naar index.php en het is sloom
en onnodig om het met javascript te doen, want het moet gewoon
met header("loction: " . commando); kunnen werken, aangezien
het zo heel vaak wordt gedaan.

@Ultimatum: test ook maar niet ;)
Offline Anoniem - 21/07/2006 20:41
Avatar van Anoniem PHP gevorderde Misschien met:
  1. $_SERVER['REQUEST_URI']

?
Offline MaZZie - 21/07/2006 20:42
Avatar van MaZZie PHP interesse moet het niet $PHP_SELF zijn?

header("Location: " . $PHP_SELF . "");

Offline Anoniem - 21/07/2006 20:43
Avatar van Anoniem PHP gevorderde @MaZZie
Je moet voortaan werken met de super globale variabele $_SERVER[]...
Offline Nrzonline - 21/07/2006 20:46 (laatste wijziging 21/07/2006 20:48)
Avatar van Nrzonline PHP ver gevorderde
Citaat:
MaZZie
moet het niet $PHP_SELF zijn?


Is verouderd, en werkt in oudere versies van PHP niet. Dus
tegenwoordig altijd $_SERVER['PHP_SELF'] gebruiken ;)

Gevonden:

Ik wil naar $_SERVER['PHP_SELF']. Maar omdat ik in login.php
de gegevens verwerk, en daar ook de PHP_SELF staat, wil hij
weer door gaan naar login.php. Maar dan gaat hij aan het begin
van de reload kijken of er wel is gedrukt op de login knop,
en nee.. Dan gaat hij naar index.php

Dus de $_SERVER['PHP_SELF'] werkt wel, maar zoals ik het wil
gaat zo niet lukken Dus ik moet hier even een andere
oplossing voor vinden. (Ik denk dat ik dit met een session
moet gaan oplossen)
Offline Rens - 21/07/2006 20:47
Avatar van Rens Gouden medaille

Crew algemeen
Is verouderd ==> werkt in oudere versies niet.
Je spreekt jezelf tegen Nrzonline 
Dat het verouderd is, dat klopt.
Dat het in oudere versies niet werkt, klopt niet.
Het werkt juist eerder in oudere versies dan in nieuwere versies.
Offline Nrzonline - 21/07/2006 20:51 (laatste wijziging 21/07/2006 20:52)
Avatar van Nrzonline PHP ver gevorderde Uww owja..
Ik had het 2 uur geleden nog ergens gelezen, maar vergeten hoe
het precies zat..

Kheb weer gevonden hoe het precies zat:

Citaat:
PHP Help:
$PHP_SELF should not be used because it will not work without register_globals being enabled. Rather, you should use $_SERVER['PHP_SELF'] for it.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s