header('Location: url') werkt niet maar headers nog niet verzonden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pepijn de vos

pepijn de vos

16/10/2008 21:34:00
Quote Anchor link
ik heb deze code op een site staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
header('Location: ' . $ideal->getBankUrl());
$content .= '<a href="' . $ideal->getBankUrl() . '">ga naar bank</a>';
?>


de header doet niks, ik zie gewoon die link, en dan gebeurd er niks.(link later toegevoeg als debug)
ik heb error reporting aan staan, en dit is echt niet de klassieke 'warning: headers could not be sent: output started at /bla/bla.php on line 123'(uit mijn hoofd)

de header werkt gewoon niet, en als ik de link aan klik kom ik alsnog uit waar ik heen moest.
getest in safari en firefox, geen browser dingetje dus...

kan iemand hier iets me?
moet ik nog meer code plaatsten?
dit geheel zit in een wordpress plugin en maakt gebruik van de mollie api.
 
PHP hulp

PHP hulp

14/03/2025 15:39:40
 
Kristoff

kristoff

16/10/2008 21:36:00
Quote Anchor link
als je de fout output started krijgt dan is het een teken dat je reeds iets hebt afgedrukt voor je header.
Je kan header alleen gebruiken en als je nog niets geecho't hebt als je html in php gebruikt hebt of je nog geen html voor je php hebt staan.


edit woeps verkeerd gelezen. sorry voor de reactie. ik dacht dat je de fout wel kreeg.
Gewijzigd op 01/01/1970 01:00:00 door kristoff
 
Wouter De Schuyter

Wouter De Schuyter

16/10/2008 22:09:00
Quote Anchor link
plaats helemaal bovenaan in je script dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ob_start(); ?>
is en onderaan dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ob_end_flush(); ?>
eens, probeer dan nog is.
 

16/10/2008 22:12:00
Quote Anchor link
Paradox&#8482; schreef op 16.10.2008 22:09:
plaats helemaal bovenaan in je script dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ob_start(); ?>
is en onderaan dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ob_end_flush(); ?>
eens, probeer dan nog is.

Ieuw, ieuw, ieuw.
Dit:
Afbeelding
is ob. Ob_* hoef je eigenlijk nergens op een website te gebruiken (uitzonderingen daargelaten).

Zet eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>

helemaal bovenaan.
 
Wouter De Schuyter

Wouter De Schuyter

16/10/2008 22:16:00
Quote Anchor link
Karl schreef op 16.10.2008 22:12:
Paradox&#8482; schreef op 16.10.2008 22:09:
plaats helemaal bovenaan in je script dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ob_start(); ?>
is en onderaan dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ob_end_flush(); ?>
eens, probeer dan nog is.

Ieuw, ieuw, ieuw.
Dit:
Afbeelding
is ob. Ob_* hoef je eigenlijk nergens op een website te gebruiken (uitzonderingen daargelaten).

Zet eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>

helemaal bovenaan.



:/ bij mij werkt het dan toch tenminste?
Wat is er zo mis met "ob" ?
 

16/10/2008 22:24:00
Quote Anchor link
Paradox&#8482; schreef op 16.10.2008 22:16:
Karl schreef op 16.10.2008 22:12:
Paradox&#8482; schreef op 16.10.2008 22:09:
plaats helemaal bovenaan in je script dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ob_start(); ?>
is en onderaan dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ob_end_flush(); ?>
eens, probeer dan nog is.

Ieuw, ieuw, ieuw.
Dit:
Afbeelding
is ob. Ob_* hoef je eigenlijk nergens op een website te gebruiken (uitzonderingen daargelaten).

Zet eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>

helemaal bovenaan.



:/ bij mij werkt het dan toch tenminste?
Wat is er zo mis met "ob" ?

Omdat je het probleem omzeilt, als je een headers allready sent foutmelding krijgt, dan moet je zorgen dat er geen content boven de headers staat.
 
Pepijn de vos

pepijn de vos

17/10/2008 16:36:00
Quote Anchor link
jongens, ik zeg toch dat ik die error wel krijg als ik er een echo voor zet, maar zo niet.

ik krijg dus GEEN ERROR en ik heb GEEN OUPUT voor die header toch WERKT het NIET.

de periode dat ik dat soort fouten niet snapte ben ik nou toch wel voorbij...

ob_start gebruik ik voor functies die niet van mij zijn waarvan ik de output niet in de browser wil hebben maar in een var of database.
Gewijzigd op 01/01/1970 01:00:00 door pepijn de vos
 
- SanThe -

- SanThe -

17/10/2008 16:55:00
Quote Anchor link
Zit de juiste waarde wel in $ideal->getBankUrl()?

En wat gebeurt er als je die waarde even letterlijk neerzet?
header('Location: hierdusdewaardetypen'); .
 
Pepijn de vos

pepijn de vos

17/10/2008 17:14:00
Quote Anchor link
ik zeg ook al dat als ik daarna diezelfde waarde in een <a> zet dat hij wel werkt, dus met de link is niks mis, maar ik zal het eens proberen als je daar blij van word.
 
PHP Newbie

PHP Newbie

17/10/2008 17:27:00
Quote Anchor link
pepijn de vos schreef op 17.10.2008 17:14:
ik zeg ook al dat als ik daarna diezelfde waarde in een <a> zet dat hij wel werkt, dus met de link is niks mis, maar ik zal het eens proberen als je daar blij van word.


Volgens mij zit jij met een probleem, proberen wij je te helpen. Je hoeft ons dus niet blij te maken hoor.

Ik denk dat je toch wat meer code prijs zult moeten geven. Echo anders die link even.
 
Pepijn de vos

pepijn de vos

18/10/2008 13:00:00
Quote Anchor link
tuurlijk php newbie, ik bedoelde dat ik niet helemaal geloofde dat dat het zou zijn.

ik heb gekeken wat er in die link staat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="https://ideal.abnamro.nl/nl/ideal/identification.do?randomizedstring=12345678901trxid=12345678901234">ga naar bank</a>

maar dan een ander getal... dat is elke keer anders!

ik heb ook geprobeerd om gewoon http://www.google.nl in de redirect te typen, werkte niet.

en ik heb geprobeerd om urlencode op die functie te doen, maar toen deed de link het ook niet meer... met htmlentities deed de link het nog wel, maar de header nog steeds niet.

ik wil best wat code geven, maar ik heb geen idee waar het zit, en dus ook niet wat relevant is, en ik kan moeilijk heel wordpress hier gaan posten.
wat ik wel nog even kan doen is mijn plugin op een andere (versie van) wordpress zetten, misschien zit er ergens een bugje dat hij de header sloopt ofzo?

oja, dit stond er nog op de php site:
Quote:
The second special case is the "Location:" header. Not only does it send this header back to the browser, but it also returns a REDIRECT (302) status code to the browser unless some 3xx status code has already been set.
 
Leroy Boerefijn

Leroy Boerefijn

18/10/2008 15:53:00
Quote Anchor link
pepijn de vos schreef op 18.10.2008 13:00:
oja, dit stond er nog op de php site:
Quote:
The second special case is the "Location:" header. Not only does it send this header back to the browser, but it also returns a REDIRECT (302) status code to the browser unless some 3xx status code has already been set.


misschien wordt er ergens anders al geredirect oid...
 
Pepijn de vos

pepijn de vos

18/10/2008 17:25:00
Quote Anchor link
als er ergens anders al geredirect word zou ik die link toch niet zien?
maar in mijn plugin doe ik verder niks met de header, dus moet het iets met wordpress zijn, ik ga eens testen of het met een andere installatie wel werkt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.