Création
d'entreprise
Posez votre question Signaler

Probleme : header(Location : index.php) PHP

DoI3y 56Messages postés 16 janvier 2009Date d'inscription 24 février 2010Dernière intervention - Dernière réponse le 4 mai 2011 à 21:35
Bonjour,
Voila g un petit problème en PHP mon script de connexion fonctionne parfaitement en local mais sur mon serveur il ne ne veut pas accéder à la page index comme indiqué dans le header(Location: index.php); mais il affiche toujours la page login.php....
Voici mon code :
La page login.php
<?php
session_start();
include('../connection/connection.php');
connexion_bdd();
switch (@$_POST['do'])
{
case "login" :
$sql = "SELECT login FROM membre WHERE login = '$_POST[fusername]'";
$result = mysql_query($sql) or die ("Requête en echec ligne 10 login.php");
$num = mysql_num_rows($result);
if ($num > 0) // login trouvée
{
$sql = "SELECT login FROM membre WHERE login = '$_POST[fusername]' AND password = '$_POST[fpassword]'";
$result2 = mysql_query($sql);
$num2 = mysql_num_rows($result2);
if($num2 > 0) // mot de passe OK
{
$_SESSION['auth']="yes";
$logname = $_POST['fusername'];
$_SESSION['logname'] = $logname;
$today = date("Y-m-d h:i:s");
$sql = "INSERT INTO login (login, logintime) VALUES ('$logname', '$today')";
$result = mysql_query($sql) or die ("Requête d'insertion en echec ligne 26 login.php");
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'location.php';
header("Location: http://$host$uri/$extra");
exit();
}
else // mot de passe incorrect
{
$message = "Le nom de Login '$_POST[fusername]' existe, mais le mot de passe ne vas pas ! réessayez.<br>";
include ("login_form.inc");
}
}
elseif ($num == 0) // nom de login introuvable
{
$message = "Le nom de login que vous avez saisi n'existe pas. Essayéz encore.<br>";
include ("login_form.inc");
}
default:
include("login_form.inc");
}
?>
PS : la page login_form.inc contient mon formulaire de connexion...
Merci d'avance
Lire la suite 

Probleme : header(Location : index.php) PHP »

6 réponses
Réponse
+0
moins plus
Merci pour ta participation...
Mais sa ne m'aide pas...
Quelqu'un a t-il une autre idée ???
GrosLolo. - 15 mai 2009 à 22:45
J'ai eu le même problème qui m'a cassé la tête pendant plusieurs jours.

Remplace le

header('Location: mapage.php');

par

die('<META HTTP-equiv="refresh" content=0;URL=mapage.php>');

GrosLolo.
sorcier21 - 4 mai 2011 à 21:35
merci super
sorcier21
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

La syntaxe un peu plus exact serait :

header('Location: http://www.host.fr/mapage.php');

--> En effet, tout doit être entre les ' '
Ajouter un commentaire
Réponse
+0
moins plus
Vous êtes dans le cas ou normalement, tout est bien configuré et vous n'avez oublié aucune des subtiles manipulations de psychopathe ?

Jetez un coup d'oeil au paramètre output_buffering (ou quelque chose du genre, me souvient plus...) dans le php.ini.

S'il est à off, pas étonnant que ça marche pas...

Moi, j'ai mis 4096, au pif...

Et... n'oubliez pas de redémarrer Apache. ^^

++
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour,

Attention à la syntaxe du header();

Syntaxe :

header(Location: 'http://www.ta_page.php');


Tout d'abord ne pas mettre d'adresse relative, toujours mettre l'adresse absolue.

Respecter le ":" coller au mot Location.
Ajouter un commentaire
Ce document intitulé « Probleme : header(Location : index.php) PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?