Bonsoir à tous,
Je m'arrache les cheveux depuis des heures sur un problème de header location.
Mon problème est que je passe mon temps à passer de WAMP à MAMP et que sur certains points MAMP est nettement plus capricieux, ce qui remet tout en question à chaque fois...
Je m'explique:
J'ai -entre autres- une page de Connexion pour les membres et une fois les identifiant/mot de passe entrés le membre doit être redirigé vers la page de Profil.
Sur WAMP ça fonctionne sans poser de questions. Sur MAMP le header n'est absolument pas pris en compte et je reste sur la page de Connexion (sans message d'erreur).
Voici le code en question :
J'ai bien sûr fait attention à ce qu'aucun code HTML ou echo/print n'apparaissent avant le header (comme vous pouvez le constater).
J'ai essayé de mettre un exit() après le header mais ça m'emmène sur une page blanche.
Je ne sais pas si c'est mon code ou un problème de configuration de MAMP (réglé par défaut, j'ai seulement désactivé les magic_quotes sur php.ini).
Si vous avez une idée... ou des pistes...
Modifié par wbnet (01 Apr 2011 - 23:54)
Je m'arrache les cheveux depuis des heures sur un problème de header location.
Mon problème est que je passe mon temps à passer de WAMP à MAMP et que sur certains points MAMP est nettement plus capricieux, ce qui remet tout en question à chaque fois...
Je m'explique:
J'ai -entre autres- une page de Connexion pour les membres et une fois les identifiant/mot de passe entrés le membre doit être redirigé vers la page de Profil.
Sur WAMP ça fonctionne sans poser de questions. Sur MAMP le header n'est absolument pas pris en compte et je reste sur la page de Connexion (sans message d'erreur).
Voici le code en question :
require_once('functions/functions.php');
// RECUPERATION DU FORMULAIRE
if(isset($_POST['connection']))
{
$nickname = trim($_POST['nickname']);
$psswd = $_POST['psswd'];
$nickname = htmlentities($nickname, ENT_QUOTES);
$psswd = htmlentities($psswd, ENT_QUOTES);
$rememberme = ($_POST['rememberme']);
// Si la case "Se souvenir de moi" a été cochée
if($rememberme)
{
$lap = 365*24*3600;
setCookie("member_nickname",$nickname,time()+$lap);
}
$data = check_member($nickname);
$num = mysql_num_rows($data);
// Vérification de l'existence du pseudo et de la correspondance du mot de passe
if($num != 0)
{
$member = mysql_fetch_assoc($data);
if($psswd == $member['mdp'])
{
$_SESSION['member']['id'] = $member['id_membres'];
$_SESSION['member']['nickname'] = $member['pseudo'];
$_SESSION['member']['lastname'] = $member['nom'];
$_SESSION['member']['firstname'] = $member['prenom'];
$_SESSION['member']['email'] = $member['email'];
$_SESSION['member']['gender'] = $member['sexe'];
$_SESSION['member']['city'] = $member['ville'];
$_SESSION['member']['zipcode'] = $member['cp'];
$_SESSION['member']['address'] = $member['adresse'];
$_SESSION['member']['status'] = $member['statut'];
header("Location:profile.php");
}
else
{
echo "Mot de passe incorrect";
}
}
else
{
echo "Pseudo incorrect";
}
}
// AFFICHAGE HEADER + MENU
include('includes/menu.php'); echo "\n";
...
J'ai bien sûr fait attention à ce qu'aucun code HTML ou echo/print n'apparaissent avant le header (comme vous pouvez le constater).
J'ai essayé de mettre un exit() après le header mais ça m'emmène sur une page blanche.
Je ne sais pas si c'est mon code ou un problème de configuration de MAMP (réglé par défaut, j'ai seulement désactivé les magic_quotes sur php.ini).
Si vous avez une idée... ou des pistes...
Modifié par wbnet (01 Apr 2011 - 23:54)