PHP:probleme avec mes déclarations de SESSION
c_wolf
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
H3LP Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
H3LP Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et à tous,
Voilà je vous explique mon soucis, je suis entrain de créer la section d'inscription et de connexion de mon site, et jusque là tout va bien: l'inscription se passe nickel chrome, je valide bien l'inscription, et je peux même me connecter sans soucis!
Enfin... sans soucis... pas vraiment car lorsque je suis connecté, ça agit comme si j'avais mis une fonction die(): le fond ne se charge plus du tout, et plus rien ne fonctionne (que ce soit sous firefox ou IE même donne!) je suis obligé d'effacer toutes mes traces et de fermer et rouvrir le navigateur! Alors j'ai regardé et encore regardé, et j'ai fait un test en mettant en commentaire mes lignes de déclarations de session $_SESSION(blabla) = $blabla[pseudo] par exemple. Et là ca fonctionne!
Hors, justement tout tourne autour du fait de mettre en SESSION les variables pseudo, avatar et niveau de connexion!
Donc, si vous avez la moindre idée! Je vous file mon bout de code, espérant que cela pourra aider qui que ce soit!
<?php
// Tout d'abord on va vérifier que l'utilisateur existe bel et bien dans la base
$liendb = mysql_connect ($serveur_sql, $pseudo_sql, $password_sql);
mysql_select_db ($select_bdd_sql);
$verif_cono_sql = "SELECT * FROM degentes_membres WHERE pseudo = '" . $_REQUEST['name'] . "'";
$result_verif_cono = mysql_query ($verif_cono_sql);
if ( ($cono=mysql_fetch_array($result_verif_cono)) == true)
{
if ($cono['password'] == $_REQUEST['mdp'])
{
$_SESSION['profil']['membre'] = $cono['pseudo'];
$_SESSION['profil']['icones'] = $cono['avatar'];
$_SESSION['profil']['niveau'] = $cono['level'];
$birthday = substr($cono['birthday'], -5);
if ($birthday == date ("d/m"))
{
echo 'Hey!! Il semble que ce soit votre anniversaire ! Alors bon anniversaire!!!!! Et c\'est tout bon pour la connexion amusez-vous bien ! Vous pouvez retournez où vous étiez juste avant...';
}
else
{
echo 'C\'est tout bon pour la connexion amusez-vous bien ! Vous pouvez retournez où vous étiez juste avant...';
}
}
else
{
echo 'Une erreure à été comise, merci de ressaisir vos identifiants de connexion sur la gauche.';
}
}
else
{
echo 'Une erreure à été comise, merci de ressaisir vos identifiants de connexion sur la gauche.';
}
mysql_close ($liendb);
?>
Voilà je vous explique mon soucis, je suis entrain de créer la section d'inscription et de connexion de mon site, et jusque là tout va bien: l'inscription se passe nickel chrome, je valide bien l'inscription, et je peux même me connecter sans soucis!
Enfin... sans soucis... pas vraiment car lorsque je suis connecté, ça agit comme si j'avais mis une fonction die(): le fond ne se charge plus du tout, et plus rien ne fonctionne (que ce soit sous firefox ou IE même donne!) je suis obligé d'effacer toutes mes traces et de fermer et rouvrir le navigateur! Alors j'ai regardé et encore regardé, et j'ai fait un test en mettant en commentaire mes lignes de déclarations de session $_SESSION(blabla) = $blabla[pseudo] par exemple. Et là ca fonctionne!
Hors, justement tout tourne autour du fait de mettre en SESSION les variables pseudo, avatar et niveau de connexion!
Donc, si vous avez la moindre idée! Je vous file mon bout de code, espérant que cela pourra aider qui que ce soit!
<?php
// Tout d'abord on va vérifier que l'utilisateur existe bel et bien dans la base
$liendb = mysql_connect ($serveur_sql, $pseudo_sql, $password_sql);
mysql_select_db ($select_bdd_sql);
$verif_cono_sql = "SELECT * FROM degentes_membres WHERE pseudo = '" . $_REQUEST['name'] . "'";
$result_verif_cono = mysql_query ($verif_cono_sql);
if ( ($cono=mysql_fetch_array($result_verif_cono)) == true)
{
if ($cono['password'] == $_REQUEST['mdp'])
{
$_SESSION['profil']['membre'] = $cono['pseudo'];
$_SESSION['profil']['icones'] = $cono['avatar'];
$_SESSION['profil']['niveau'] = $cono['level'];
$birthday = substr($cono['birthday'], -5);
if ($birthday == date ("d/m"))
{
echo 'Hey!! Il semble que ce soit votre anniversaire ! Alors bon anniversaire!!!!! Et c\'est tout bon pour la connexion amusez-vous bien ! Vous pouvez retournez où vous étiez juste avant...';
}
else
{
echo 'C\'est tout bon pour la connexion amusez-vous bien ! Vous pouvez retournez où vous étiez juste avant...';
}
}
else
{
echo 'Une erreure à été comise, merci de ressaisir vos identifiants de connexion sur la gauche.';
}
}
else
{
echo 'Une erreure à été comise, merci de ressaisir vos identifiants de connexion sur la gauche.';
}
mysql_close ($liendb);
?>
A voir également:
- PHP:probleme avec mes déclarations de SESSION
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
10 réponses
Oui... arf oublié de le précisé mais il est bien tout en haut de la page à sa place pas de soucis.
Tout fonctionne bien pour toutes mes autres déclarations $_SESSION mais celles là ... non ça veut vraiment pas!!
Tout fonctionne bien pour toutes mes autres déclarations $_SESSION mais celles là ... non ça veut vraiment pas!!
as-tu regardé dans les logs d'apache (je suppose que tu es sous apache)?
aurais-tu désactivé l'affichage des erreurs PHP par un : error_reporting(); ou ini_set('display_errors', 'off');
aurais-tu désactivé l'affichage des erreurs PHP par un : error_reporting(); ou ini_set('display_errors', 'off');
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors je vais tacher de répondre dans l'ordre:
1) pour H3LP : je suis sur un serveur free.fr donc pas moyen de changer leur fichier apache ni de regarder dedans...
2) pour mouf13 : oui le print_r me renvoit bien ce que je veux....
1) pour H3LP : je suis sur un serveur free.fr donc pas moyen de changer leur fichier apache ni de regarder dedans...
2) pour mouf13 : oui le print_r me renvoit bien ce que je veux....
Bonsoir
Je pense que le problème n'est pas dans le morceau que tu montres. Dans cette partie, les variables de session sont seulement affectées, mais pas exploitées, elles ne peuvent pas avoir d'influence sur ke déroulement du script.
Peux-tu montrer le script complet de la page qui a ce problème ?
Je pense que le problème n'est pas dans le morceau que tu montres. Dans cette partie, les variables de session sont seulement affectées, mais pas exploitées, elles ne peuvent pas avoir d'influence sur ke déroulement du script.
Peux-tu montrer le script complet de la page qui a ce problème ?
Merci pour ta réponse, et voilà le seul endroit où je fais référence aux variables SESSION concernant le membre :
<?php
if ($_SESSION['profil']['icone'] != "")
{
print ('<a href="modif_membre.php"><img src="images/avatar/'. $_SESSION['profil']['icone'] .'" style="max-width:'. $avatar_max_width.'; max-height:'. $avatar_max_width.';" /></a>');
}
print ('<a href="modif_membre.php">'. $_SESSION['profil']['membre'] .'</a>');
print ('<br />');
print ('<a href="modif_membre.php">'. $_SESSION['profil']['niveau'] .'</a>');
print ('<br />');
print ('<a href="deco.php">Se déconnecter</a>');
?>
mais j'ai beau relire et relire .... je ne vois pas le soucis... J'espère qu tu le ou les verras...
encore merci
<?php
if ($_SESSION['profil']['icone'] != "")
{
print ('<a href="modif_membre.php"><img src="images/avatar/'. $_SESSION['profil']['icone'] .'" style="max-width:'. $avatar_max_width.'; max-height:'. $avatar_max_width.';" /></a>');
}
print ('<a href="modif_membre.php">'. $_SESSION['profil']['membre'] .'</a>');
print ('<br />');
print ('<a href="modif_membre.php">'. $_SESSION['profil']['niveau'] .'</a>');
print ('<br />');
print ('<a href="deco.php">Se déconnecter</a>');
?>
mais j'ai beau relire et relire .... je ne vois pas le soucis... J'espère qu tu le ou les verras...
encore merci
Tu dis que c'est lors de l'affectation des variables $_SESSION['profil']['membre'] (...) que ça se produit. Es-tu sûr que la variable $_SESSION['profil'] existe ? je ne vois pas de contrôle dessus. En fait je pense que tu essai d'accéder à une case d'un tableau qui n'existe pas.
un : echo $_SESSION['profil'] ne te renverrais pas un undefined par hasard ?
un : echo $_SESSION['profil'] ne te renverrais pas un undefined par hasard ?