Comment ouvrir le 'LOGIN' d'abord.
Résolu
Poukris
Messages postés
17
Statut
Membre
-
Poukris Messages postés 17 Statut Membre -
Poukris Messages postés 17 Statut Membre -
Bonjour, je veux faire un formulaire 'LOGIN' et un autre formulaire pour le 'SIGNUP' mais je veux que n'importe quel URL de page contenant un formulaire que je lance dans le serveur il m'ouvre d'abord le formulaire de 'LOGIN'. SVP dites moi comment faire.... Merci
3 réponses
-
Avec un cookie ou une session ?
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, veux-tu faire deux formulaires ou veux-tu que quelqu'un te fasse des formulaires?
peux-tu partager ce que tu as déjà réalisé? cela nous aidera à te guider. -
D'accord le voici... C'est par page... il ne veut pas afficher la variable de session c'est a dire le pseudo lorsqu'on est connecte. Et le "header" dans l'entete ne marche pas du tout il rend la page inaccessible.
1) Page de "entete.inc.php"<!DOCTYPE html> <html> <head> <title> Gestion Ecole...</title> </head> <body> <div id="tete"> <h1 class="titre">App School</h1> <div class="info"> Bonjour [ <?php if(isset($_SESSION['pseudo'])){ echo $_SESSION['pseudo']; }else{ header("location:login.php"); }?> ] | <a href="../config/deconnexion.php">Deconnecter</a> </div> </div>
2) Page de "pied.inc.php"<address> No 72, rue 4 avenue Christophe. <br />©Copyright 2018-<?php echo date('Y'); ?> tous droits reserves </address> </body> </form> </html>
3)Page de "signup.php"<?php include'connexio.php'; if (isset($_POST['sign'])){ $Nom=$_POST['nom']; $Prenom=$_POST['prenom']; $Pseudo=$_POST['pseudo']; $Password=$_POST['passe']; $Role=$_POST['role']; $sql="insert into user (Nom,Prenom,Pseudo,Password,Role) values ('$Nom','$Prenom','$Pseudo','$Password','$Role')"; mysqli_query($con,$sql) or die("Probleme de requette".mysqli_error($con)); } include'entete.inc.php'; ?> <div class="ma"> <form action="" method="post" class="ma"> <input type="text" id="mac" placeholder="Entrer votre nom" name="nom"/></br></br> <input type="text" id="mac" placeholder="Entrer votre prenom" name="prenom"/></br></br> <input type="text" id="mac" placeholder="Entrer votre pseudo" name="pseudo"/></br></br> <input type="password" id="mac" placeholder="Entrer votre mot de passe" name="passe"/></br></br> <input type="text" id="mac" placeholder="Entrer votre role" name="role"/></br></br> <input type="submit" id="mac" placeholder="Entrer votre prenom" name="sign" value="Singup"/> </form> </div> <?php include'pied.inc.php'?>
4)Page de "login.php"<?php include'connexio.php'; if (isset($_POST['sign'])){ $Pseudo=$_POST['pseudo']; $Password=$_POST['passe']; $sql="select *from user where Pseudo='$Pseudo' and Password='$Password'"; $exe=mysqli_query($con,$sql) or die("Probleme de requette".mysqli_error($con)); $data=mysqli_fetch_array($exe); if($data['Pseudo']==$Pseudo && $data['Password']==$Password){ $_SESSION['Id']=$data['Id']; $_SESSION['Pseudo']=$data['Pseudo']; header("location:signup.php"); } else{ echo"Votre Pseudo ou votre mot de passe est incorrect,verifiez-les..."; } } include'entete.inc.php'; ?> <div class="ma"> <form action="" method="post" class="ma"> <input type="text" id="mac" placeholder="Entrer votre pseudo" name="pseudo"/></br></br> <input type="password" id="mac" placeholder="Entrer votre mot de passe" name="passe"/></br></br> <input type="submit" id="mac" placeholder="Entrer votre prenom" name="sign" value="Login"/> </form> </div> <?php include'pied.inc.php'?>
5) Page de "connexio.php"<?php session_start(); $con=mysqli_connect("localhost","root",""); mysqli_select_db($con,"polo"); ?>
6) La base de donnees...-
-
-
J'ai essayer ca avec le header en commentaire il a affiche normalement le pseudo de la personne connectee mais quand j'enleve les deux slash devant le header le serveur qu'il ne peut pas acceder a la page...
if(isset($_SESSION['Pseudo'])){
echo $_SESSION['Pseudo'];
}else{
//header("location:login.php");
} -
J'ai essayer ca avec le header en commentaire il a affiche normalement le pseudo de la personne connectee mais quand j'enleve les deux slash devant le header le serveur qu'il ne peut pas acceder a la page
if(isset($_SESSION['Pseudo'])){
echo $_SESSION['Pseudo'];
}else{
//header("location:login.php");
} -
Que dit le serveur exactement ?
Je pense qu'il te donne un message d'erreur comme quoi le header est déjà envoyé.......
Cela est dû à l'endroit où tu as collé ce bout de code....
Il faut absolument qu'il soit au début de ton fichier ... avant tout affichage ( via des echo php ou des balises html ).<?php session_start(); $S_Pseudo = !empty($_SESSION['Pseudo']) ? $_SESSION['Pseudo'] : NULL; if(!$S_Pseudo){ header('location:login.php'); exit(); } // et après.. le reste de ton code
-