[php] redirecten werkt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mooody
  • Registratie: September 2001
  • Laatst online: 16-09 22:04
Ik heb een loginscript met daarbij een redirect d.m.v.

header("Location: /index.php?mes=ERROR");

Alles werkt behalve de redirect. Mijn script maakt dus eerst
verbinding met de database en haalt daaruit het wachtwoord vervolgens
wordt die verbinding gesloten en wordt een sessie aangemaakt. Daarna
wordt met een if statement de POST data vergeleken met de DB data.
Als het password klopt dan wordt de pagina doorgestuurd d.m.v. de
header regel vam hoerboven, maar dat gebeurd dus niet. Hij komt
trouwens wel door de IF heb ik gecheckt met echo's......

Waar zou dit aan kunnen liggen? php versie? server restrictions?

Disclaimer: Alles wat ik hier zeg, moet je met een korrel zout nemen. Met name deze disclaimer.


Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:31

Gonadan

Admin Beeld & Geluid, Harde Waren
Kijk eerst even met wat echo's of hij inderdaad de code van de redirect bereikt.

En volgens mij moet er een absoluut adres staan in de header.
Dus met http:// enz

Van http://nl3.php.net/manual/en/function.header.php :)
PHP:
1
2
3
4
5
6
7
8
<?php
/* Redirect to a different page in the current directory that was requested */
$host  = $_SERVER['HTTP_HOST'];
$uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?> 

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • stappel_
  • Registratie: Augustus 2000
  • Laatst online: 20:41
je kan een header alleen gebruiken als er nog GEEN andere output is gekomen. dus als je een echo ervoor heb staan dan werkt de header nooit.

en een absoluut adres is niet nodig.

Ubero: #2, Euler: #1, GOT: #1, Des: #1, Zeta: #1, Eon: #3, OGR-24: #3, OGR-25: #7,
LM: #7, AP: #5, DF: #19, D2OL: #37, SOB: #50, TSC: #63, RC5: #96


Acties:
  • 0 Henk 'm!

  • Mooody
  • Registratie: September 2001
  • Laatst online: 16-09 22:04
Het was de output error een enter voor de tag <?php

maar het werkt nu

Thanks

Disclaimer: Alles wat ik hier zeg, moet je met een korrel zout nemen. Met name deze disclaimer.


Acties:
  • 0 Henk 'm!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:31

Gonadan

Admin Beeld & Geluid, Harde Waren
stappel_ schreef op woensdag 14 juni 2006 @ 09:21:
je kan een header alleen gebruiken als er nog GEEN andere output is gekomen. dus als je een echo ervoor heb staan dan werkt de header nooit.
Weet ik, maar dan weet je tenminste dat je controle statements goed werken :)

Dan kan je daarna je echo vervangen door de header.

[ Voor 8% gewijzigd door Gonadan op 14-06-2006 09:36 ]

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Acties:
  • 0 Henk 'm!

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 07-09 11:44

Bergen

Spellingscontroleur

Heerlijk altijd die headerproblemen. Dit is ook zo'n typisch voorbeeld. Men neme (bijvoorbeeld) een index.php en daarin wordt een ander bestand geinclude:
PHP:
1
2
3
4
<?php
    include("rofl.php");
    header("vulhiermaarwatin");
?>

En dan in rofl.php:
PHP:
1
2
3
<?php
    // allemaal php zut, maar GEEN output
?>

En toch meldt PHP dan dat er al output is geweest voor de header tag! Dan blijkt dat je in rofl.php nog een enter hebt staan na de ?> tag en die wordt bij het includen meteen afgedrukt natuurlijk. :P

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

stappel_ schreef op woensdag 14 juni 2006 @ 09:21:
en een absoluut adres is niet nodig.
http rfc (rfc2616 sec 14.30)
The field value consists of a single absolute URI.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • toost
  • Registratie: Januari 2002
  • Laatst online: 30-01 03:23
<script language=\"JavaScript\"> window.location.href=\"lalalalalal.php\"; </script>

Probeer dit eens, eventueel als je het ergens in je php code wilt zetten er even echo "" omheen zetten

This space for rent. Serious inquiries only please.


Acties:
  • 0 Henk 'm!

  • webinn
  • Registratie: Oktober 2002
  • Laatst online: 06-06 12:44
Bergen schreef op woensdag 14 juni 2006 @ 09:49:
Heerlijk altijd die headerproblemen. Dit is ook zo'n typisch voorbeeld. Men neme (bijvoorbeeld) een index.php en daarin wordt een ander bestand geinclude:
PHP:
1
2
3
4
<?php
    include("rofl.php");
    header("vulhiermaarwatin");
?>

En dan in rofl.php:
PHP:
1
2
3
<?php
    // allemaal php zut, maar GEEN output
?>

En toch meldt PHP dan dat er al output is geweest voor de header tag! Dan blijkt dat je in rofl.php nog een enter hebt staan na de ?> tag en die wordt bij het includen meteen afgedrukt natuurlijk. :P
dan werk je toch gewoon met ob_start() ??

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

toost schreef op woensdag 14 juni 2006 @ 11:57:
<script language=\"JavaScript\"> window.location.href=\"lalalalalal.php\"; </script>

Probeer dit eens, eventueel als je het ergens in je php code wilt zetten er even echo "" omheen zetten
Ja joh, een clientside redirect is veel netter als het serverside kan. 8)7

[ Voor 3% gewijzigd door NMe op 14-06-2006 12:36 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Shadowman
  • Registratie: Januari 2002
  • Niet online
webinn schreef op woensdag 14 juni 2006 @ 12:01:
[...]


dan werk je toch gewoon met ob_start() ??
Je kunt dan ook gewoon de ?> weglaten in de rofl.php, dan kan er ook nooit een enter achter komen :). En van php mag dat, is niet verplicht om aan het eind van een bestand de ?> te zetten :).

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

-NMe- schreef op woensdag 14 juni 2006 @ 12:10:
[...]

Ja joh, een clientside redirect is veel netter als het serverside kan. 8)7
Doe eens [ nohtml ], firefox vind je niet lief :P

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • toost
  • Registratie: Januari 2002
  • Laatst online: 30-01 03:23
-NMe- schreef op woensdag 14 juni 2006 @ 12:10:
[...]

Ja joh, een clientside redirect is veel netter als het serverside kan. 8)7
Ok, maar als het voor hem niet uitmaakt is hij er wel mee geholpen.

This space for rent. Serious inquiries only please.


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

CodeCaster schreef op woensdag 14 juni 2006 @ 12:15:
Doe eens [ nohtml ], firefox vind je niet lief :P
:X $#^$@#%^ standaard HTML-rechten. :r

:P
toost schreef op woensdag 14 juni 2006 @ 12:28:
Ok, maar als het voor hem niet uitmaakt is hij er wel mee geholpen.
Hij is toch allang geholpen? Mooooody in "[php] redirecten werkt niet" :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

webinn schreef op woensdag 14 juni 2006 @ 12:01:
[...]


dan werk je toch gewoon met ob_start() ??
ob_start en ob_end gebruiken is geen oplossing maar een dirty workaround.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1