Connexion et passage de variable

wesdown
Invité n'ayant pas de compte PHPfrance

03 févr. 2013, 00:24

Bonjour,

Je débute dans le php, je suis même un très gros débutant... Je test un code mais malheureusement ça ne se passe pas exactement comme je le voudrai et donc je viens vous solliciter pour comprendre ou je me foire (:

Alors je vous explique, en gros j'ai commencer par un formulaire de connexion (login et password) que j'ai mis dans une div et quand une personne se connecte, la div disparait pour laisser la place à une autre div... Dur dur d’expliquer, je vous montre le code :

index.php

Code : Tout sélectionner

<body> <?php if(isset($_SESSION['connexionOk'])) { $connexionOk = $_SESSION['connexionOk']; if($connexionOK == true) { include("include/loginOk.php"); } else { include("include/loginHaut.php"); } } else { include("include/loginHaut.php"); } ?> </body>
loginHaut.php

Code : Tout sélectionner

<div class="loginHaut"> <form action="index.php" method="post"> <table> <tr> <td>Identifiant :</td> <td><input class="txtLogin" name="login" type="text" size ="8"></td> <td>Mot de passe :</td> <td><input class="txtLogin" name="pwd" type="password" size ="8"></td> <td><input class="btnCnx" name="btnCnx" type = "submit" value ="Se connecter"></td> </tr> </table> </form> </div>
seLogin.php

Code : Tout sélectionner

<?php $loginValide = "test"; $pwdValide = "test"; if (isset($_POST['login']) && isset($_POST['pwd'])) { if ($loginValide == $_POST['login'] && $pwdValide == $_POST['pwd']) { session_start (); $_SESSION['login'] = $_POST['login']; $_SESSION['pwd'] = $_POST['pwd']; $_SESSION['connexionOk'] = true; header ('location: index.php'); } else { echo '<body onLoad="alert(\'Membre non reconnu...\')">'; echo '<meta http-equiv="refresh" content="0;URL=index.php">'; } } else { echo 'Les variables du formulaire ne sont pas déclarées.'; } ?>
Voila, je pense que je n’oublie rien, merci d'avance!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 févr. 2013, 00:37

salut,

tu n'inclus jamais seLogin.php dans ton code, c'est fait autre part ? (avant le bout de l'index fournit ?).

Pour info la balise meta doit être dans le head ;)

Pourquoi rediriger vers la page où tu te trouve ?

@+
Il en faut peu pour être heureux ......

wesdown
Invité n'ayant pas de compte PHPfrance

03 févr. 2013, 01:11

Mince j'ai envoyé un code qui n'est plus celui la, en fait je n'ai mis que la partie body de la page index.php et normalement le formulaire renvoie vers "seLogin.php". Je vais corriger ça!

Sinon je redirige dans cette page afin que le include "loginOk.php" qui contient le nouveau code php puisse être affiché et que le include "loginHaut.php" ne s'affiche plus... Pas très clair...

En gros j'aimerai que ça :
Image

Laisse sa place à ça une fois connecté :
Image

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 févr. 2013, 04:20

ajoute un var_dump($_SESSION); avant le if pour afficher le bandeau.

tu as bien un session_start(); sur index.php ?


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 2 Messages

03 févr. 2013, 14:44

Merci :)

Tout fonctionne bien maintenant!

Est-ce une bonne façon de coder ce genre de chose ou existe-t-il une meilleure solution ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 févr. 2013, 15:57

perso je n'aurais pas fait deux fichier pour cela.

tu peux très mettre un if pour soit afficher l'un soit l'autre.

Du même style je n'aurais pas utilisé une table pour la mise en page (en fait c'est le mal cette façon de faire ;:) ).
Dans ton cas tu peux très bien tout mettre à la la suite ce sont tous des éléments en ligne.
au pire, pour le label, utilise les propriétés css display:inline-block; + une largeur

si tu veux des infos sur css je te conseil http://www.alsacreations.com

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 2 Messages

03 févr. 2013, 16:20

Ok, merci je vais regarder ça!