[PHP] Problème de session
Résolu
Profil bloqué
-
Profil bloqué -
Profil bloqué -
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 !
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 !
A voir également:
- [PHP] Problème de session
- Easy php - Télécharger - Divers Web & Internet
- Teamviewer code de session expiré ✓ - Forum logiciel systeme
- Expert php pinterest - Télécharger - Langages
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- Session invalide ou obsolète ✓ - Forum finances