Changer l'affichage d'une page lorsqu'un utilisateur se loggue

Changer l'affichage d'une page lorsqu'un utilisateur se loggue - PHP - Programmation

Marsh Posté le 08-09-2005 à 17:18:48    

Bonjour,  
 
Je ne connais pas grand chose au langage PHP mais j'ai décidé de me lancer en créant un site (qui n'a aucune prétention) pour apprendre en m'inspirant de quelques autres sites, et en demandant des conseils à quelques personnes.
 
J'ai créé les tables pour enregistrer les utilisateurs qui peuvent désormais s'enregistrer (pour quoi faire, je ne le sais pas encore :/ ) sur une page inscription.php
Ce que je souhaite faire maintenant, c'est que lorsque les utilisateurs se logguent sur la page d'accueil du site, modifier l'aspect de la page c'est à dire mettre une possibilité de déconnexion à la place du formulaire de connexion
 
Le truc c'est que je ne connais pas la syntaxe qu'il faut utiliser et que je n'ai pas trouvé comment on faisait.
 
Vous avez des conseils ? ou mieux, un exemple de syntaxe ?
 
Merci  :)  
 
(je donne l'adresse du "site" pour que vous voyiez ce que ça donne, pas pour spammer, d'autant qu'il n'y a rien dessus ou presque :/)
http://grandchelem1.free.fr

Reply

Marsh Posté le 08-09-2005 à 17:18:48   

Reply

Marsh Posté le 08-09-2005 à 17:26:53    

ça dépend, tu fais quoi une fois le formulaire de login remplis et validé après vérif du login /mot de passe ?
 
session ? cookies ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 08-09-2005 à 21:43:58    

Désolé de n'avoir pas répondu plus tôt.  
Normalement, ça marche avec des sessions.
 
J'ai un code php comme ça sur ma page index.php

Code :
  1. <?
  2. if(isset($_GET["deconnect"]))
  3. {
  4. if($_GET["deconnect"]==1)
  5. {
  6.  session_start();
  7.  session_unset();
  8.  session_destroy();
  9. }
  10. }
  11. ?>


 
(J'ai peur de dire une connerie ou de ne pas répondre pleinement à la question :/ )

Reply

Marsh Posté le 08-09-2005 à 22:00:13    

T'as juste ça dans le fichier qui gére le résultat du formulaire dze connection? :o
T'es sur de savoir ce que tu fais, tu poses une question relative à la coenction au site et là tu nous sort la fonction de déconection. Quel rappoort entre les deux?

Reply

Marsh Posté le 08-09-2005 à 22:27:48    

omega2 a écrit :

T'as juste ça dans le fichier qui gére le résultat du formulaire dze connection? :o
T'es sur de savoir ce que tu fais, tu poses une question relative à la coenction au site et là tu nous sort la fonction de déconection. Quel rappoort entre les deux?


Oups, une erreur, je le pensais bien.
 
Non en fait c'est ça qui est sensé gérer la vérification de connexion :

Code :
  1. <form name="formutilisateur" action="verification.php" method="POST">


 
et le fichier verification.php c'est un fichier que quelqu'un m'a passé auquel je comprends pas grand chose.
Alors, effectivement, je suis pas super au point mais je voudrais savoir si quelqu'un peut y jeter un oeil.
 
S'il y a une solution plus simple ou quelque chose que je peux trouver sur le net qui peut faire à peu près la même chose je suis tout à votre écoute.
 

Code :
  1. <?
  2. $mysql_link=mysql_connect("sql.free.fr","grandchelem1","motdepasse" );
  3. mysql_select_db("grandchelem1",$mysql_link) or die("erreur" );
  4. if(isset($_POST["login"]) && isset($_POST["pass"]))
  5. {
  6. $sql="SELECT id FROM t_membre where login='".$_POST["login"]."' AND pass='".$_POST["pass"]."'";
  7. //echo $sql;
  8. $result=mysql_query($sql);
  9. if (mysql_num_rows($result)!=0)
  10. {
  11.  $data=mysql_fetch_array($result);
  12.     session_start();
  13.  $_SESSION["login"] = stripslashes($_POST["login"]);
  14.     if (!isset($_GET["retour"]))
  15.  {
  16.      $_GET["retour"] = "index.php"; //on définit une valeur de retour au cas ou
  17.  }
  18.  header("Location: ".$_GET["retour"]);
  19. }
  20. else
  21. {
  22.  if (!isset($_GET["retour"]))
  23.  {
  24.      $_GET["retour"] = "index.php"; //on définit une valeur de retour au cas ou
  25.  }
  26.     //Sinon on redirige sur la page d'enregistrement
  27.     header("Location: index.php?erreur=1&retour=".$_GET["retour"]);
  28. }
  29. }
  30. ?>


 
(c'est assez indigeste je pense :sweat: )
 
 
 

Reply

Marsh Posté le 08-09-2005 à 22:44:21    

remplace la ligne 6 par :

Code :
  1. $sql="SELECT id FROM t_membre where login='".addslashes($_POST["login"])."' AND pass='".addslashes($_POST["pass"])."'";

 
Ca empéchera les attaques par SQL injection.
 
Sinon, c'est quoi le reste de ton formulaire, t'es sur que tes éléments sont nomé "login" et "pass"?

Reply

Marsh Posté le 08-09-2005 à 22:58:54    

Merci beaucoup de te pencher sur mon problème.
Puisque tu as l'air motivé (:D) je te mets l'ensemble de mon formulaire de connexion  

Code :
  1. <form name="formutilisateur" action="verification.php" method="POST">   
  2. <tr>   
  3.  <td class="textbandeau">login : </td>   
  4.  <td><input type="text" class="texte" name="login" value=""size="8" maxlength="8"></td> 
  5.  <td>&nbsp;</td>     
  6. </tr>   
  7. <tr>   
  8.  <td class="textbandeau">password : </td>   
  9.  <td><input type="password" class="texte" name="pass" value=""size="8" maxlength="8"></td>
  10.  <td><input name="soumission" type="submit" value="Connexion" class="submit"></td>   
  11. </tr> 
  12. <tr>
  13.  <td colspan="3" align="right">
  14.   <a href="lostpassword.html" class="smalltext">Mot de passe oublié</a>
  15.  </td>   
  16. </tr>   
  17. <tr>   
  18.  <td align="left" colspan="3" class="textwhite"><br>
  19.   <a href="inscription.php" class="textbandeau">Inscription</a>
  20.  </td>   
  21. </tr>
  22. </form>

Reply

Marsh Posté le 08-09-2005 à 23:16:05    

je crois que j'ai pigé, donc là, la conection marche bien.
pour la redirection, il faut changer le  

Code :
  1. action="verification.php"

par

Code :
  1. action="verification.php?retour=monfichierduformulairededeconection.php"

enfin, .php, ou .html ou tout ce que tu veux en fait. ;)
 
Au fait, tel que c'est fait pour le moment, que le gas réussisse ou pas sa conection ou pas, il sera redirigé vers la page de déconection. Je te laisse changer ce qu'il faut. Eyt apprendre un peu de php au passagre si tu t'y conais pas. ;)


Message édité par omega2 le 08-09-2005 à 23:18:19
Reply

Marsh Posté le 08-09-2005 à 23:23:48    

Je pensais aussi que la connexion fonctionnait puisqu'un mauvais mot de passe faisait afficher une erreur de connexion.
 
En revanche, je n'ai pas compris ce que tu me conseilles de faire :  
Ce que tu appelles "monfichierduformulairededeconection.php" c'est ma page index.php ? (c'est elle qui contient le formulaire)
 
(merci encore)

Reply

Marsh Posté le 08-09-2005 à 23:25:41    

Apprendre du php, j'y pense évidemment, mais là j'aimerais bien qu'en claquant des doigts, le truc marche :D
Je sais que c'est pas souvent comme ça en info, mais je sens que je suis pas loin et qu'il reste pas grand chose à modifier :/

Reply

Marsh Posté le 08-09-2005 à 23:25:41   

Reply

Marsh Posté le 08-09-2005 à 23:34:58    

omega2 a écrit :

remplace la ligne 6 par :

Code :
  1. $sql="SELECT id FROM t_membre where login='".addslashes($_POST["login"])."' AND pass='".addslashes($_POST["pass"])."'";

 
Ca empéchera les attaques par SQL injection.


 
(C'est mieux de vérifier que magic_quotes_gpc est off avant de faire addslashes.)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 08-09-2005 à 23:35:25    

régle

Code :
  1. [0C] On ne fait pas le boulot à votre place.


evidement que c'est la page qui contient le formulaire de déconection qu'il faut y mettre.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed