Se connecter / S'enregistrer
Votre question

Aide en php très basique

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
5 Janvier 2010 18:56:11

Bonjour,
Je souhaiterai apporter quelques modifications à une page d'authentification que j'ai réalisée.
Voici le plan :

Connexion.php
Ma_page.php

Pour commencer c'est un site entre amis,donc c'est pour cela que vous ne voyez pas inscription.php ou un truc dans le genre car c'est moi seul qui crée des comptes en allant modifier directement connexion.php,bref...

Le problème,c'est que si une personne connait le nom de ma page de redirection (Ma_page.php) ce qui n'est pas très difficile à savoir,il pourra comme bon lui semble visiter le site !
Moi ce que je vous demande,c'est que est-ce qu'il est possible en php de faire une redirection si un des membres ne s'est pas connecté ? Par exemple si une personne visite intentionnellement (ou pas :o ) Ma_page.php,celle ci est immédiatement redirigé vers Connexion.php incluant un message d'erreur tel que celui ci :

Désolé,vous devez d'abord vous connecter avant de pouvoir accédé au site.

Voila,est-ce possible ça (il ne faut pas utiliser les SESSIONS ou COOKIES un truc dans le genre ???) ? Si oui pouvez vous m'aider,je vous remercie d'avance.

Autres pages sur : aide php tres basique

5 Janvier 2010 21:06:49

Salut,

tu voudrais qu'on le fasse pour toi ?

bon ben un exemple :

  1. connexion.php
  2. <?php
  3. session_start();
  4.  
  5. if ($_POST[ctrl] == "validok") {
  6. $_SESSION['login'] = $_POST[login];
  7. $_SESSION['pass'] = $_POST[pass];
  8. if ($_SESSION['login'] == "myname" && $_SESSION['pass'] == "hackme") { header("Location: mapage.php"); }
  9. else { echo "Identifiant ou mot de passe incorrect !"; }
  10. }
  11.  
  12. ?>
  13.  
  14. <form action="connexion.php" method="post">
  15. <table align="center">
  16. <tr><td align="right">Login :</td><td><input type="text" name="login"></td></tr>
  17. <tr><td>Password :</td><td><input type="password" name="pass"></td></tr>
  18. <tr><td><input type="hidden" name="ctrl" value="validok"></td><td><input type="submit" value="valider !"></td></tr>
  19. </table>
  20. </form>


et l'autre fichier
  1. mapage.php
  2. <?php
  3. session_start();
  4.  
  5. if ($_SESSION['login'] == "myname" && $_SESSION['pass'] == "hackme") { $page = "dac"; }
  6. else { header("Location: connexion.php"); }
  7.  
  8. if ($page == "dac") { echo "Page dac o;)"; }
  9.  
  10. ?>
m
0
l
a c 145 L Programmation
5 Janvier 2010 21:30:08

Très franchement, pourquoi ne pas juste utiliser un .htaccess et un .htpasswd ? J'ai l'impression que ton site est juste fait pour de la visualisation, donc tu ne gères pas les droits d'accès, c'est un autorisé ou pas.

Sinon, faire une gestion de connexion en PHP est relativement simple, le début de code donné par Freemaster (en corrigeant les quelques erreurs dues à la rapidité d'écriture) étant une bonne piste.
m
0
l
Contenus similaires
7 Janvier 2010 22:42:31

Bonjour,
je ne comprends vraiment pas les SESSIONS donc ne me dites pas c'est simple ;) 
SVP serait-il possible d'ajouter plusieurs utilisateurs a partir de ce code :

  1. <?php
  2. // Definition des constantes et variables
  3. define('LOGIN','toto');
  4. define('PASSWORD','tata');
  5. $errorMessage = '';
  6. // Test de l'envoi du formulaire
  7. if(!empty($_POST))
  8. {
  9. // Les identifiants sont transmis ?
  10. if(!empty($_POST['login']) && !empty($_POST['password']))
  11. {
  12. // Sont-ils les mêmes que les constantes ?
  13. if($_POST['login'] !== LOGIN)
  14. {
  15. $errorMessage = 'Mauvais login !';
  16. }
  17. elseif($_POST['password'] !== PASSWORD)
  18. {
  19. $errorMessage = 'Mauvais password !';
  20. }
  21. else
  22. {
  23. // On ouvre la session
  24. session_start();
  25. // On enregistre le login en session
  26. $_SESSION['login'] = LOGIN;
  27. // On redirige vers le fichier admin.php
  28. header('Location: <a href="http://ff.free.fr/" rel="nofollow" target="_blank">http://ff.free.fr/</a>');
  29. exit();
  30. }
  31. }
  32. else
  33. {
  34. $errorMessage = 'Veuillez inscrire vos identifiants svp !';
  35. }
  36. }
  37. ?>
  38. <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "<a href="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" rel="nofollow" target="_blank">http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd</a>">
  39. <html xmlns="<a href="http://www.w3.org/1999/xhtml" rel="nofollow" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr">
  40. <head>
  41. <title>Formulaire d'authentification</title>
  42. </head>
  43. <body>
  44. <form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
  45. <fieldset>
  46. <legend>Identifiez-vous</legend>
  47. <?php
  48. // Rencontre-t-on une erreur ?
  49. if(!empty($errorMessage))
  50. {
  51. echo '<p>', htmlspecialchars($errorMessage) ,'</p>';
  52. }
  53. ?>
  54. <p>
  55. <label for="login">Login :</label>
  56. <input type="text" name="login" id="login" value="" />
  57. </p>
  58. <p>
  59. <label for="password">Password :</label>
  60. <input type="password" name="password" id="password" value="" />
  61. <input type="submit" name="submit" value="Se logguer" />
  62. </p>
  63. </fieldset>
  64. </form>
  65. </body>
  66. </html>
m
0
l
7 Janvier 2010 23:17:38

Salut,

Cela ne serai pas plus simple de créer une table avec 2 champs : "LOGIN" et "PASSWORD", et quand tu veux vérifier une connexion tu fais appel aux valeurs de la table, ce qui te permettra de mettre autant d'utilisateurs que tu veux.

Jette un coup d'œil ici
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS