doorsturen

Status
Niet open voor verdere reacties.

uaejeroen

Terugkerende gebruiker
Lid geworden
7 dec 2009
Berichten
1.665
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>

<?php

   //this will NOT work, the browser received the HTML tag before the script


   header( 'Location:http://www.เจ้หมวยบิวตี้.com' ) ;

?>
</html>

<let op !> het is een Thaise website
Ik kan namelijk geen Thaise site aan mijn nieuwsbrief plakken vandaar ik een doorstuur site wil

kan iemand me helpen, waarom werkt die doorstuur site niet
 
Ik ben een leek maar heb op school wel eens wat HTML lesjes gehad. Misschien omdat je 3 x " <HTML> gebruikt en maar 1 x </HTML> ?? Kan het dan zo wezen dat er 1 HTML link niet is afgesloten waardoor hij niet werkt?
 
dank u
Ik maakte ook geen gebruik van <head> </head> kwam ik later achter
 
Wat was je oplossing precies? Want zoals in je eerste post staat mag je voor de header() geen andere tekst sturen, en omdat de browser bij het ontvangen van de header meteen naar die site gaat heeft het geen zin om uberhaupt HTML mee te sturen.
Dus: print niets, geef de header() en stop het script.
 
probeer eens volgende
PHP:
<?php
/**
* @author Lieven Roegiers
* @copyright 2007
* @CMS autosite
*/
	function redirect($url){
		if (!headers_sent()){
			//print('Location: http://'.$_SERVER['SERVER_NAME'].$url);
			header('Location: http://'.$_SERVER['SERVER_NAME'].$url);
		}else {
			die('Redirect Headers error to send <a href="http://'.$_SERVER['SERVER_NAME'].$url.'" >here the link</a>');
		}
	}
?>
 
probeer eens volgende

Nog steeds: gebruik nooit PHP_SELF.

Opzich is het handig om te weten of de headers al verstuurd zijn, maar A) dan kun je er niets meer aan doen en B) als dat zo is dan klopt de werkvolgorde van het script niet.

Je kunt twee dingen doen:
1. zorgen dat je code geen html gaat sturen als het nog niet duidelijk is of er nog headers gestuurd moeten worden (dit heeft heel erg de voorkeur)
2. zet output_buffering aan, dat scheidt html en headers en stuurt ze correct. Dit eist iets meer resources maar het ergste is dat het je niet meer opvalt als je script een hele HTML pagina opbouwt terwijl je alleen één enkeke redirect wilt doen.

Dus nogmaals:
<?php
header( 'Location:http://www.เจ้หมวยบิวตี้.com' ) ;
exit;
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan