[PHP] Problème de session

Résolu/Fermé
Profil bloqué - 17 sept. 2009 à 19:08
 Profil bloqué - 18 sept. 2009 à 11:56
Bonjour, je souhaiterait faire ceci:

SI le client n'a pas écrit son nom dans le champ "i_nom" (réservé aux membres)
MAIS qu'il a écrit son nom dans le champ "nom", (champ dédié aux autres)
ALORS le nom à enregistrer pour la session dédiée aux autres et qui s'appelle "nom" est ce qu'il a écrit dans le champ "nom".
DE PLUS, on retient que la session réservée aux membres et qui s'appelle "i_nom" est donc nulle -> ce qui permettra de bloquer certains contenus avec un truc du genre "if ($_SESSION['i_nom'] = NULL) {"ne pas afficher ce qui suit"}

SI le client n'a pas écrit son nom dans le champ "nom" (dédié aux autres)
MAIS qu'il a écrit son nom dans le champ "i_nom", (réservé aux membres)
ALORS vérifier que le nom à enregistrer pour la session réservée aux membres et qui s'appelle "i_nom" est compatible avec le mot de passe. Si oui: alors enregistrer le nom dans la session, si non: alors annuler et afficher un message d'erreur.

SINON, si le client n'a rien écrit nulle part ou qu'il a écrit dans tous les champs, faire comme si tous les champs sont nuls. -> et donc rediriger le client sur le formulaire ! :p

voici mon code pour les sessions:

<?php
session_start();
if
(
(@$_POST['i_nom'] != NULL AND @$_POST['i_nom'] != 'Prénom + initiale du Nom')
AND
(@$_POST['nom'] = 'Prénom + initiale du Nom' OR @$_POST['nom'] = NULL)
)
{$_SESSION['i_nom'] = $_POST['i_nom'] AND $_SESSION['nom'] = NULL;}

elseif
(
(@$_POST['nom'] != NULL AND @$_POST['nom'] != 'Prénom + initiale du Nom')
AND
(@$_POST['i_nom'] = 'Prénom + initiale du Nom' OR @$_POST['i_nom'] = NULL)
)
{$_SESSION['nom'] = $_POST['nom'] AND $_SESSION['nom'] = NULL;}

else
{$_SESSION['nom'] = NULL AND $_SESSION['i_nom'] = NULL;
?>

Et mon formulaire:

<table>
<caption>Connexion</caption>
<tr><td colspan="2" style="color: grey">Pour accéder à mon site, rempli les champs dans la bonne colonne...</td></em></tr>
<tr><th>Espace Membres</th><th>Non inscrit ?</th></tr>
<form <?php if($_SESSION['nom'] = NULL AND $_SESSION['i_nom'] = NULL){?>action="index.php"<?php;} else{?>action="ba.acceuil.php"<?php ;}?> method="post">
<tr><td><input type="text" name="i_nom" value="Prénom + initiale du Nom" onfocus="this.value = '';"/></td><td><input type="text" name="nom" value="Prénom + initiale du Nom" onfocus="this.value = '';"/></td></tr>
<tr><td><input type="text" name="password" value="Mot de passe" onfocus="this.value = ''; this.type = 'password';"/></td></tr>
<tr><td colspan="2"><input style="color: grey" type="submit" value="Clique pour Valider !"/><tr>
<script type="text/javascript">document.getElementById('password').type = 'text';</script>
</form>
</table>

Cela fait maintenant 1 semaine que je travaille dessus mais je n'y arrive toujours pas...

Merci de votre aide !

2 réponses

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
17 sept. 2009 à 19:33
Bonsoir,

Je ne comprend pas bien à quoi peut bien servir de faire identifier un anonyme sous un pseudo.

C'est pour quel type d'application ?

Le mieux est d'utiliser un simple cookie pour stocker le pseudo qu'aurait choisit un utilisateur non identifié.
0
Profil bloqué
18 sept. 2009 à 11:56
un simple cookie ne peut pas faire ce que je souhaite (c'est pour un formulaire d'identification).
Mais j'ai finalement trouvé la réponse en y pensant pendant les cours ! :p
0