[PHP] Problème de session

Résolu
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 !
Configuration: Windows Vista
Firefox 3.5.3

2 réponses

  1. 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é.
    1. 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