Sujet : TP "espace membre", aiclairage...
Aucun commentaire enregistré pour ce sujet.
1
- Bonjour, et chapeau bas pour le concept et design de ce site :-)
pitite question (je sais, je suis une daube débutante) :
pour le TP cité en titre, y a t-il une adaptation du code à apporter en fonction le la version PHP?
en fait, le code "inscription" est parfait.
"identification" fait bien son boulot, (j'ai ajouté l'affichage du pseudo pour controler le UserName utilisé)
<code>
$_SESSION['pseudoSession'] = $pseudo_identification;
echo "Bienvenue dans votre espace membre, " . $_SESSION['pseudoSession'] . ",<br><a href='test.php'>Cliquer-ici pour aller sur la page de test</a><br><br>";
}
}
}
}
?>
</code>
mais malgré tout, la super global variable " $_SESSION['pseudoSession'] " ne passe pas, et sur ma page test...
<code>
<?php
session_start();
// echo $_SESSION['pseudoSession'];
if (isset($_SESSION['pseudoSession']) || !empty($_SESSION['pseudoSession']))
{
echo '<br><br><a href="deconnexion.php" title="Sortez ...">se déconnecter</a>';
}
else
{
// pas de login en session : proposer la connexion
echo '<a href="identification.php" title="Accès à la page de connexion">Connexion</a>';
}
?>
</code>
j'ai faux à quel moment ?
#H7
merci d'avance...
info Server:
OS: Linux hevsrvers001 2.6.9-22.ELsmp #1 SMP Sat Oct 8 21:32:36 BST 2005 x86_64
Apache version: 2.0
PHP version: 4.3.9
MySQL Version:4.1.12
- Salut elsteph,
Bienvenue et merci pour le compliment
Pour ce TP j'ai utilisé la version 4 de PHP, d'aprés tes info server ça devrait aller.
Je me suis donc penché sur le code de ta page de test et si j'ai bien compris tu ne parviens pas à y récupérer les valeurs du tableau global $_SESSION
- cela peut venir du démarrage de la session (avec session_start();)
Celui-ci doit toujours être déclaré en premier sur la page, juste en dessous de <?php
- il peut y avoir une mauvaise configuration du server sur la gestion des sessions
Tu peux accéder à ces valeurs en réalisant une page php qui contient juste <?php phpinfo(); ?>
J'ai également remarqué que ta condition n'est pas trés correcte :
[cit]if (isset($_SESSION['pseudoSession']) || !empty($_SESSION['pseudoSession']))[/cit]
Cela signifie : si la variable est initialisée ou si elle n'est pas vide
Donc si elle esyt initialisée mais vide, ça passe
Je pense que tu voulais noter : if (isset($_SESSION['pseudoSession']) && !empty($_SESSION['pseudoSession']))
Bon courage
- Ok. mais même si je commente cette condition, le code suivant devrait afficher la variable, non ?
alors qu'ici, je n'affiche que mes deux liens...
et si je tente une deconnexion, il me dit: "Impossible de détruire la session", donc je pense qu'après l'identification, il y a un truc que j'ai omis, mais je vois pas quoi...
je suis pourtant parti 100% de votre TP...
<code>
<?php
session_start();
echo $_SESSION['pseudoSession'];
echo '<br><br><a href="deconnexion.php" title="Sortez ...">se déconnecter</a>';
echo '<a href="identification.php" title="Accès à la page de connexion">Connexion</a>';
?>
</code>
- [cit=elsteph]ok. mais même si je commente cette condition, le code suivant devrait afficher la variable, non ?[/cit]
Oui oui la valeur de la variable est bien affichée #F9
Elle doit donc être vide sur cette page puisque rien ne s'affiche.
Peut-être as-tu oublié de l'initialiser avec le login aprés l'étape de connexion ?
[cit=elsteph]et si je tente une deconnexion, il me dit: "Impossible de détruire la session"[/cit]
J'ai fait quelques tests et le seul cas qui me sort cette erreur est lorsque j'enleve le <?php session_start(); ?> de la page.
Tu as peut-être oublié de le noter sur la page de déconnexion (ou tu as noté du code avant) ?
J'ai fait une page "test2.php" pour tester un code semblable au tien :
<?php
session_start();
if(isset($_SESSION['pseudoSession']))
{
echo "Pseudo : ".$_SESSION['pseudoSession']."<br />";
echo '<a href="deconnexion.php" title="Sortez ...">se déconnecter</a>';
}
else echo '<a href="identification.php" title="Accès à la page de connexion">Connexion</a>';
?>
Je n'ai rencontré aucune erreur sur ce code... #H5
Est-ce que tu développes en local avec EasyPHP ou est-ce que tu développes directement sur ton server web ?
Le mieux est de commencer par développer en local car certains servers sont configuré pour ne pas renvoyer toutes les erreurs et/ou avertissements.
Tiens-nous au courant
- Juste a titre de précision meme en local les servers renvoie pas les meme erreurs... Testé et approuvé avec Wamp / EasyPhp... Si tu peux te permettre de la flexibilité moi je prendrai 2 3 server différent pour test en local etre sur que ca fonctionnent bien :p hihi
1
Identification requise
Vous devez être identifié pour pouvoir participer à cette discussion.



