Probleme : header(Location : index.php) PHP

Fermé
DoI3y Messages postés 56 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 24 février 2010 - 24 avril 2009 à 14:11
 Findusssss - 28 oct. 2012 à 10:04
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

4 réponses

DoI3y Messages postés 56 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 24 février 2010 24
25 avril 2009 à 12:28
Merci pour ta participation...
Mais sa ne m'aide pas...
Quelqu'un a t-il une autre idée ???
0
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.
0
merci super
sorcier21
0
Bonjour,

La syntaxe un peu plus exact serait :

header('Location: http://host.fr/

--> En effet, tout doit être entre les ' '
0
Persévérance
6 juil. 2010 à 15:57
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. ^^

++
0
MErci !! j'avais exactement le même problème et tu viens de me sauver des heures de recherche !!!
0
login08 Messages postés 32 Date d'inscription vendredi 24 avril 2009 Statut Membre Dernière intervention 5 juin 2009 3
24 avril 2009 à 14:44
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.
-1