problème de redirection en PHP

WRInaute passionné
Bonjour,
J'ai un problème de redirection, voici le code de ma page :
Code:
<?php 
// on prend les informations pour pouvoir se connecter à MySQL
require("config.inc.php"); 

// on nomme la page et on prend les informations de la feuille de style 
echo '<title>'.$title.'</title><link href="style.css" rel="stylesheet" type="text/css">';

// on se connecte à MySQL et on se connecte à la base de donnée
$connexion = mysql_connect("$host", "$login", "$pass"); 
mysql_select_db("$database",$connexion); 

if($cat) { // si la variable cat existe :
// on crée la requete SQL et on l'envoie
$sql = "SELECT title,url,description FROM annuaire WHERE cat = \"$cat\" ORDER BY title DESC"; 
$req = mysql_query($sql) or die('Erreur SQL !'.mysql_error()); 

// on fait une boucle qui va afficher pour chaque enregistrements 
while($data = mysql_fetch_array($req)) { 
echo '<b><a href="'.$data['url'].'" class="link" target="_blank">'.$data['title'].'</a></b>';
echo '<br>'.$data['description'].'';
echo '<br><i>'.$data['url'].'</i>';
} 
// si la variable cat n'existe pas :
}else Header("Location: index.php");

// on se déconnecte de MySQL
mysql_close(); 
?>

Le problème est dans la redirection si $cat n'existe pas, car si je remplace la redirection par un echo ça fonctionne à merveille... :(

Voici le message d'erreur :
Code:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/6/e/XXXXXXXXXXXX/view.php:6) in /var/www/free.fr/6/e/XXXXXXXXXXXX/view.php on line 24

:arrow: Merci de votre aide ! (c'est pour créer un annuaire)

a+
 
WRInaute impliqué
Tu ne peux pas renvoyer le header après avoir écrit dans ta page.
Erreur classique en php.
Fais la redirection avant la balise <html>

<ajout>Damned, j'ai dégainé trop tard. Tu m'as doublé John</ajout>
 
WRInaute passionné
George Abitbol a dit:
De toute façon ça ne sert à rien d'afficher quelque chose pour rediriger ensuite ;)

nan mais j'affiche rien avant la redirection....c'est juste pour rediriger les gens qui vont sur view.php ! car si y'a pas ..?cat= ben ya rien a voir lol !
c'est pour ça que je veux rediriger... :wink:
 
WRInaute passionné
Ah c'est bon j'ai rêglé le problème j'ai mis ça :
Code:
echo '<title>'.$title.'</title><link href="style.css" rel="stylesheet" type="text/css">';

après le if, et ça marche à merveille !

merci pour votre aide !
 
Discussions similaires
Haut