Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1186 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] frames / elements dans un cadre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] frames / elements dans un cadre

n°1728659
Jere06
Posté le 05-05-2008 à 16:09:03  profilanswer
 

Bonjour !  
 
je suis débutant dans le php et j'essaye de faire un site perso dans lequel j'ai créé un formulaire avec une base de donée Mysql.
ensuite j'ai créé un endroit de "login" avec des sessions. Jusque la tout va bien sauf que j'arrive pas a l'inserer comme je voudrais .  
enfait j'aimerais faire une petite fenetre avec un les champs de saisies "pseudo" et "mot de passe", et lorsque quelqu'un se connecte ce champ soit remplacé par " Bienvenue 'pseudo', ... etc."
 
donc dans ma page index j'ai inséré une balise Div   :
 

Code :
  1. <div id="login"align="center">
  2.       <?php
  3.  
  4. include("login/login.php" );
  5. ?>
  6.     </div>


 et ma page de login ressemble a ca :  

Code :
  1. <?php
  2. if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pwd']))
  3. {
  4.  
  5. extract($_POST);
  6.  
  7. $connect = mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur ".$host);
  8. mysql_select_db($bdd) or die("erreur de connexion a la base de donnees" );
  9. $sql = "select pass from membres where pseudo='".$login."'";
  10. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  11. $data = mysql_fetch_assoc($req);
  12.   if($data['pass'] != $pwd)
  13.    {
  14.     echo '<p>Mauvais login / password. Merci de recommencer</p>';
  15.     exit;
  16.    }
  17.   else
  18.   {
  19. session_start();
  20. $_SESSION['pseudo'] = $login;
  21. echo 'Bienvenue ',$_SESSION['pseudo'];
  22. ?>
  23. <a href="login/logout.php">Deconnexion</a>
  24. <?php
  25. exit;
  26.    } 
  27. }
  28. ?>
  29. <form action="index.php?page=login/login.php" method='post'>
  30. <p>Pseudo<br>
  31. <input name="login" type="text" size="20"maxlength="20">
  32. <br>
  33. Mot de passe<br>
  34. <input name="pwd" type="password"   size="20" maxlength="20">
  35. <br>
  36. <input type="submit" name="Connexion" >
  37. </p>
  38. <a href="index.php?page=inscription">Inscription</a>
  39. </form>


 
le souci c'est que quand quelqu'un se connecte, ma page affiche seulement le texte "bienvenue 'pseudo'...  et  ma bannière, le contenu, le pied de page  etc.. n'y sont plus.
Voila si quelqu'un peut m'apporter des précision sur les endroits que je dois modifier..
Merci d'avance.

Message cité 1 fois
Message édité par Jere06 le 09-05-2008 à 13:22:48
mood
Publicité
Posté le 05-05-2008 à 16:09:03  profilanswer
 

n°1728661
Paulp
~, sweet ~
Posté le 05-05-2008 à 16:14:37  profilanswer
 

Jere06 a écrit :

Bonjour !  
 
je suis débutant dans le php et j'essaye de faire un site perso dans lequel j'ai créé un formulaire avec une base de donée Mysql.
ensuite j'ai créé un endroit de "login" avec des sessions. Jusque la tout va bien sauf que j'arrive pas a l'inserer comme je voudrais .  
enfait j'aimerais faire une petite fenetre avec un les champs de saisies "pseudo" et "mot de passe", et lorsque quelqu'un se connecte ce champ soit remplacé par " Bienvenue 'pseudo', ... etc."
 
donc dans ma page index j'ai inséré une balise Div   :
...
le souci c'est que quand quelqu'un se connecte, ma page affiche seulement le texte "bienvenue 'pseudo'...  et  ma bannière, le contenu, le pied de page  etc.. n'y sont plus.
Voila si quelqu'un peut m'apporter des précision sur les endroits que je dois modifier..
Merci d'avance.


Déjà, met le session_start() avant tout echo, tu ne peux pas modifier les headers une fois que tu as commencé à afficher du texte

n°1728662
Jere06
Posté le 05-05-2008 à 16:17:25  profilanswer
 

Paulp a écrit :


Déjà, met le session_start() avant tout echo, tu ne peux pas modifier les headers une fois que tu as commencé à afficher du texte


 
Oui merci, je l'avais mis dans mon "index.php" mais c'est vrai que c'est mieux de l'appeler directement dans "login.php". :jap:

n°1728685
Jere06
Posté le 05-05-2008 à 16:55:03  profilanswer
 

Si ça peut aider voila mon site : http://jere.marion.free.fr
avec comme pseudo : test et mot de passe : test

n°1728690
Paulp
~, sweet ~
Posté le 05-05-2008 à 16:59:16  profilanswer
 

Jere06 a écrit :

Si ça peut aider voila mon site : http://jere.marion.free.fr
avec comme pseudo : test et mot de passe : test


exit ligne 29 ?

n°1728693
Jere06
Posté le 05-05-2008 à 17:07:13  profilanswer
 

Paulp a écrit :


exit ligne 29 ?


 
si j'enlève le exit; ligne 29 ca affiche " bienvenue ..." et en dessous ca me remet le formulaire. et quand je clique sur "accueil" ou " commentaires" par exemples ca me remet seulement le formulaire..  :??:  
il faudrait peut être que je revoie la structure de "login.php" ...
si quelqu'un sait comment je peux m'y prendre  ;)

n°1728705
Paulp
~, sweet ~
Posté le 05-05-2008 à 17:17:50  profilanswer
 

Jere06 a écrit :


 
si j'enlève le exit; ligne 29 ca affiche " bienvenue ..." et en dessous ca me remet le formulaire. et quand je clique sur "accueil" ou " commentaires" par exemples ca me remet seulement le formulaire..  :??:  
il faudrait peut être que je revoie la structure de "login.php" ...
si quelqu'un sait comment je peux m'y prendre  ;)


Le exit arrete completement le rendu de la page.
 
Je crois que return en dehors d'une fonction arrete le rendu du fichier courrant, donc ca pourrait être une solution (assez crade :D )
 
Sinon :
 

Code :
  1. <?php
  2. if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pwd']))
  3. {
  4.  
  5. extract($_POST);
  6.  
  7. $connect = mysql_connect($host,$user,$passwd) or die("erreur de connexion au serveur ".$host);
  8. mysql_select_db($bdd) or die("erreur de connexion a la base de donnees" );
  9. $sql = "select pass from membres where pseudo='".$login."'";
  10. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  11. $data = mysql_fetch_assoc($req);
  12.   if($data['pass'] != $pwd)
  13.    {
  14.     echo '<p>Mauvais login / password. Merci de recommencer</p>';
  15.     exit;
  16.    }
  17.   else
  18.   {
  19. session_start();
  20. $_SESSION['pseudo'] = $login;
  21. echo 'Bienvenue ',$_SESSION['pseudo'];
  22. ?>
  23. <a href="login/logout.php">Deconnexion</a>
  24. <?php
  25.    } 
  26. }
  27. if(empty($_SESSION['pseudo'])){
  28. ?>
  29. <form action="index.php?page=login/login.php" method='post'>
  30. <p>Pseudo<br>
  31. <input name="login" type="text" size="20"maxlength="20">
  32. <br>
  33. Mot de passe<br>
  34. <input name="pwd" type="password"   size="20" maxlength="20">
  35. <br>
  36. <input type="submit" name="Connexion" >
  37. </p>
  38. <a href="index.php?page=inscription">Inscription</a>
  39. </form>
  40. <?php }  else
  41. // Mettre ici le lien de deconnexion
  42. ?>


n°1728731
Jere06
Posté le 05-05-2008 à 18:00:59  profilanswer
 

Merci Paulp.  
je vais utiliser ce que tu m'as donné .mais y a encore un souci .. le session_start() ligne 23, il faudrait le mettre ailleurs car apparemment il y a quelque chose d'écrit avant. mais je ne vois pas trop ou le mettre ..
.
et aussi pour mon lien de déconnexion, il faut que je l'écrive comment ? car enfait j'ai une page deconnexion.php comme ça :  

Code :
  1. <?php
  2. session_start();
  3. $_SESSION = array();
  4. session_destroy();
  5. header('Location: ../index.php');
  6. ?>


 
 il faut que je l'écrive comme ça a la fin de mon code :  :??:  

Code :
  1. <?php }
  2. else{
  3. ?>
  4. <a href="login/deconnexion.php">deconnexion</a>
  5. <?php
  6. }
  7. ?>


 
désolé je suis vraiment débutant en php  :D

n°1728752
Paulp
~, sweet ~
Posté le 05-05-2008 à 19:00:14  profilanswer
 

Jere06 a écrit :

Merci Paulp.  
je vais utiliser ce que tu m'as donné .mais y a encore un souci .. le session_start() ligne 23, il faudrait le mettre ailleurs car apparemment il y a quelque chose d'écrit avant. mais je ne vois pas trop ou le mettre ...


Perso je le mets toujours en haut de chaque page (pas de chaque fichier php, hein), en haut de index.php dans ton cas si j'ai suivi

Jere06 a écrit :


et aussi pour mon lien de déconnexion, il faut que je l'écrive comment ? car enfait j'ai une page deconnexion.php comme ça :  
...
 il faut que je l'écrive comme ça a la fin de mon code :  :??:  

Code :
  1. <?php }
  2. else{
  3. ?>
  4. <a href="login/deconnexion.php">deconnexion</a>
  5. <?php
  6. }
  7. ?>


 
désolé je suis vraiment débutant en php  :D  


Oui quelque chose comme ca ...
 
En gros la structure de base du truc ca serait
Si quelqu'un essaie de se connecter, le connecter
Si l'utilisateur est connecté, mettre un message d'accueil, un lien de deconnexion
Sinon mettre le formulaire de connexion

Code :
  1. if(!empty($_POST['login']) && !empty($_POST['password'])){ // Si quelqu'un essaie de se connecter
  2.   //Verification du password, et initialisation de session['login'] le cas échéant
  3. }
  4. if(!empty($_SESSION['login'])){ // Si l'utilisateur est connecté
  5.   //Lien deconnexion
  6. } else { // Si l'utilisateur n'est pas connecté
  7.   // Formulaire de connexion
  8. }

n°1729805
Jere06
Posté le 08-05-2008 à 00:22:12  profilanswer
 

merci paulp !! j'essaye de mettre tout ça en place.. pas facile facile ( enfin pour moi :D)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] frames / elements dans un cadre

 

Sujets relatifs
Optimisation Flash pour affichage HTML [Résolu][Résolu]]Recuperer plusieurs varibles dans un foreach
RESOLU un temps ~ 30 second avant d'afficher un lien possible?Double barre de soulignement [resolu]
[Résolu]remplir un tableau 2D[Résolu] problème de déclaration de tableau
[Resolu] Création de rapport rdlc à partir d'une base de donnée MySqlMais où est passée ma variable? [Resolu]
[Résolu] gestion mémoire en java[Résolu][VB-Excel-Macro]Boucle qui ne boucle pas.
Plus de sujets relatifs à : [résolu] frames / elements dans un cadre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR