header('Location: url') werkt niet maar headers nog niet verzonden
Code (php)
1
2
3
4
2
3
4
<?php
header('Location: ' . $ideal->getBankUrl());
$content .= '<a href="' . $ideal->getBankUrl() . '">ga naar bank</a>';
?>
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.
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
is en onderaan dit eens, probeer dan nog is.
plaats helemaal bovenaan in je script dit Paradox™ schreef op 16.10.2008 22:09:
plaats helemaal bovenaan in je script dit is en onderaan dit eens, probeer dan nog is.
Ieuw, ieuw, ieuw.
Dit:
is ob. Ob_* hoef je eigenlijk nergens op een website te gebruiken (uitzonderingen daargelaten).
Zet eens
helemaal bovenaan.
Karl schreef op 16.10.2008 22:12:
:/ bij mij werkt het dan toch tenminste?
Wat is er zo mis met "ob" ?
Paradox™ schreef op 16.10.2008 22:16:
:/ bij mij werkt het dan toch tenminste?
Wat is er zo mis met "ob" ?
Karl schreef op 16.10.2008 22:12:
:/ 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.
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
En wat gebeurt er als je die waarde even letterlijk neerzet?
header('Location: hierdusdewaardetypen'); .
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.
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.
ik heb gekeken wat er in die link staat:
Code (php)
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.
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...
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.