Redirection header (hébergeur Lycos)

WRInaute discret
Bonjour,

J'ai fais un site en php. Je l'ai programmé en php et html + css, le tout à l'aide de easyphp 2.0.

MON PROBLEME : j'ai mis le site en ligne chez Lycos. Je me rends compte que mes redirections ne marchent plus. Je me sert de header("Location:");
J'ai effectué une recherche dans les autres pot mais aucune explication de résout mon problème.


Voici les deux pages dans lesquelles le problème apparaît. Il y a une page qui affiche un éditeur html et quand je clique sur Submit , ça m'envoi vers une page qui insère les infos dans la base de données. A la fin de cette page , il y a ma redirection. Je vous joins les deux pages :

admin_ateliers.php :

Code:
<?php

include_once 'fonctions.php';


if (!isset($_SESSION['username'])){
echo "Cet espace est sécurisé. <p>Pour y avoir accès, ouvrez une session et introduisez votre nom d'utilisateur et votre mot de passe.</p> Merci.";

include "connexion.php";
exit();
}
else{
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link rel="stylesheet" type="text/css" href="secure.css" />
</head>

<body>

Modification de la page "Ateliers":<br/><br/>
		  <?php
include("fckeditor/fckeditor.php") ;
connexion_DB('hxjonathan_db');

	$reqlog = mysql_query("SELECT * FROM contenu_pages WHERE nom_page='ateliers'")or die(mysql_error());
	$log=mysql_num_rows($reqlog);//on compte le nombre de ligne et ON met ce nombre dans la VARIABLE $log
	$info_user=mysql_fetch_array($reqlog);
	$essai=$info_user['contenu_page'];
?>

<form action="home.php?page=2226" method="post">
<?php


$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath = 'fckeditor/';
$oFCKeditor->Value = $essai;
$oFCKeditor->Width  = '100%' ;
$oFCKeditor->Height = '310' ;
$oFCKeditor->Create() ;
?>
<br>
<input type="submit" value="Submit">
</form>




<?php
}
?>
</body>
</html>

savedata_ateliers.php :
Code:
<?php
include_once 'fonctions.php';

connexion_DB('hxjonathan_db');

$sValue = stripslashes( $_POST['FCKeditor1'] ) ;

$sql = "UPDATE contenu_pages SET contenu_page = '".$sValue."' WHERE nom_page = 'ateliers'"; 

mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
 
header("Location:http://membres.lycos.fr/hxjonathan/home.php?page=1116");



?>

Merci d'avance.
 
WRInaute discret
home.php?page=2226 correspond justement à la page savedata_ateliers.php. Mes pages sont enregistrées dans un array. Je les appelle en passant un paramètre à l'url.

Tu as une idée pour mon problème ?

John
 
WRInaute discret
Oui mais tu me dis que home.php?page=2226 correspond à savedata_atelier.php.
Ca se passe comment dans ta page home?
Est ce que savedata_atelier est un include qui est fait quand le paramètre page=2226 est passé?
Si oui, qu'est ce qu'il y a avant cet include?

C'est pas beau, mais pour tester tu peux faire une redirection en JS à la place du header
 
WRInaute discret
C'est vrai que tu manques d'infos pour m'aider. Je vais essayer de te donner plus de détails.

J'ai une page home.php dans laquelle j'ai mes différents bloc structurés à l'aide de CSS. Je fais apparaître mes différentes pages au centre en fonction de l'url qui est envoyé grâce à des liens hypetext ou à des redirections "header en php". Lorsque je clique sur un lien, il check dans ma page corps.php (qui répertorie toutes mes pages dans un array) et affche la page qui correspond par exemple à 2226. Voici ma page corps.php :

Code:
<?php

  $pageOK = array(

 //cette page corps reprend ce qui apparait au centre de la page
  
'00' => 'default.php',
'01' => 'home.php',
'02' => 'papscolaire.php',
'03' => 'loisirs.php',
'04' => 'beauxarts.php',
'05' => 'papcadeaux.php',
'06' => 'ateliers.php',
'07' => 'promotions.php',
'08' => 'contacts.php',
'09' => 'admin.php',

'1111' => 'admin_home.php',
'5555' => 'verif.php',

'1112'=> 'admin_papscolaire.php',
'1113'=> 'admin_loisirs.php',
'1114'=> 'admin_beauxarts.php',
'1115'=> 'admin_papcadeaux.php',
'1116'=> 'admin_ateliers.php',
'1117'=> 'admin_promotions.php',
'1118'=> 'admin_contacts.php',

'2222'=> 'savedata_papscolaire.php',
'2223'=> 'savedata_loisirs.php',
'2224'=> 'savedata_beauxarts.php',
'2225'=> 'savedata_papcadeaux.php',
'2226'=> 'savedata_ateliers.php',
'2227'=> 'savedata_promotions.php',
'2228'=> 'savedata_contacts.php',
'2229'=> 'savedata_home.php',



);

				  
  // On teste que le paramètre d'url existe et qu'il est bien autorisé
  // -----------------------------------------------------------------
  
  if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) //si l'url existe dans le tableau
  {
    include($pageOK[$_GET['page']]);   // Nous appelons cette url
  } 
  else //sinon
  {
    include('default.php');   // Page par défaut quant elle n'existe pas dans le tableau
  }


?>


-----------------------------------------------------

Mon problème c'est que j'ai une page (admin_ateliers.php) dans laquelle j'ai un formaulaire html qui fait :

Code:
<form action="home.php?page=2226" method="post">
<?php


$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath = 'fckeditor/';
$oFCKeditor->Value = $essai;
$oFCKeditor->Width  = '100%' ;
$oFCKeditor->Height = '310' ;
$oFCKeditor->Create() ;
?>
<br>
<input type="submit" value="Submit">
</form>

Donc il me renvoi vers savedata_ateliers. Apparement il va bien vers cette page n'effectue page bien la redirection qui est à la fin.
Code:
header("Location:http://membres.lycos.fr/hxjonathan/home.php?page=1116");
 
WRInaute discret
Essaye
@header
("Location:http://membres.lycos.fr/hxjonathan/home.php?page=1116");

Je pense que c'est dû a Lycos
 
WRInaute discret
C'est quoi le but de la @ avant ??

C'est pas fait pour ne pas avoir de message d'erreur à la base ?

Bon j'essaye, je te dis quoi.

Merci
 
WRInaute discret
Oui le @ n'affiche pas les messages d'erreurs, c'etait juste au cas ou, il faut l'enlever maintenant (tu peux le laisser que si tu teste la valeur de retour de la fonction sur laquelle tu l'appliques)
Bref la redirection marche chez moi , c'est pour ça que je te dis que ça doit être un problème chez lycos.

Peut être ont ils interdit la fonction header....

En attendant d'en savoir plus, tu peux faire une redirection JS, c'est pas beau mais ça dépanne.
echo "<script language='Javascript'>document.location='http://membres.lycos.fr/hxjonathan/home.php?page=1116'</script>";
 
Discussions similaires
Haut