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

  FORUM HardWare.fr
  Programmation
  PHP

  COOKIE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

COOKIE

n°1523730
nardoum
The cake is a lie...
Posté le 05-03-2007 à 13:36:22  profilanswer
 

Bonjour,
 
Je fait un espace membre, voilà ma page connexion.php qui traite le formule de la page index.phpl:
 

Code :
  1. <HEAD>
  2. <TITLE>
  3. 1Kits v0.1 - Index
  4. </TITLE>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso=8859-1">
  6. </HEAD>
  7. <BODY bgcolor="grey">
  8. <link rel="stylesheet" type="text/css" href="style.css">
  9. </BODY>
  10. <DIV ALIGN="CENTER">
  11. <table width="589" cellspacing="0">
  12. <TR>
  13. <TD background="images/up.png" height="204">
  14. <H2>
  15. <div align="center">
  16. <?php include("header.php" ) ?>
  17. </div>
  18. </H2>
  19. </TD>
  20. </TR>
  21. <TR>
  22. <TD background="images/center.png" valign="top">
  23. <table width="584">
  24. <TR>
  25. <TD>
  26. <H1>
  27. Connexion au panel d'administration
  28. <br>
  29. <H3>
  30. <?php
  31. // On appelle la page de configuration
  32. include("config.php" );
  33. // Définition des valeurs
  34. $pseudo = $_POST['pseudo'];
  35. $pass = $_POST['pass'];
  36. // On verifie si les champs PSEUDO et PASSsont correctement remplis
  37. if (empty($pseudo) || empty($pass))
  38. {
  39. echo $msg1;
  40. echo "<br>";
  41. echo "Redirection dans 5 secondes<br>";
  42. echo "<meta http-equiv=\"refresh\" content=\"5;URL=index.php\">";
  43. }
  44. else
  45. {
  46. // Connexion à la base de donnée
  47. $db = @mysql_connect($nom_host,$nom_utilisateur,$mot_pass);
  48. if(!$db) { echo $msg3;exit;}
  49. //Requète pour la connexion à la base de donnée et la table membre et on vérifie si le contenu des champs pseudo et pass éxiste dans la base
  50. $req     = mysql_db_query($nom_base,"select * FROM $table1 WHERE pseudo = '".$_POST['pseudo']."' AND pass = '".md5($_POST['pass'])."'",$db) or die(mysql_error());
  51. //Si le nom d'utilisateur ou le mot de passe ne sont pas trouvés dans la base, on affiche un message d'erreur
  52. if(mysql_num_rows($req)==0)
  53. {
  54. echo $msg2;
  55. }
  56. else
  57. {
  58. //Création des cookies
  59. setcookie('pass', 'md5($_POST[\'pass\'])', (time() + 3600));
  60. setcookie('pseudo', '$_POST[\'pseudo\']', (time() + 3600));
  61. //Redirection
  62. redirection("membre.php" );
  63. }
  64. }
  65. ?>
  66. </H3>
  67. </H1>
  68. </TD>
  69. </TR>
  70. </table>
  71. </TD>
  72. </TR>
  73. <TR>
  74. <TD background="images/down.png" height="204">
  75. <H1>
  76. <div align="center">
  77. <?php include("copyright.php" ) ?>
  78. </div>


 
Voici ma page membre.php:

Code :
  1. <?php
  2. include("protection.php" )
  3. ?>
  4. Bienvenue !


 
Et voici ma page protection.php:

Code :
  1. <?php
  2. // On appelle la page config
  3. include("config.php" );
  4. // Protection des pages
  5. if(empty($_COOKIE['pseudo']))
  6. {
  7. echo $msg4; exit();
  8. }
  9. ?>


 
Vous voyez les nom des cookies?
Normalement ça doit marcher mais non ça ne marche pas lorsque je me connecte ça les ignores:
http://www.crystal-webmaster.info/1kits/index.php
PS: Ca fonctionne mieux sous firefox(surtout pour le css) que sous IE...
 
Merci de m'aider!^^
 :bounce:

mood
Publicité
Posté le 05-03-2007 à 13:36:22  profilanswer
 

n°1523732
nardoum
The cake is a lie...
Posté le 05-03-2007 à 13:39:04  profilanswer
 

:bounce:

n°1523733
nardoum
The cake is a lie...
Posté le 05-03-2007 à 13:39:22  profilanswer
 

:bounce:

n°1523752
sielfried
Posté le 05-03-2007 à 14:12:27  profilanswer
 

Les setcookie doivent être fait avant toute sortie html...
 
Mets un error_reporting(E_ALL | E_STRICT) en haut de ton script et lis la doc (http://fr.php.net/setcookie notamment).


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1523976
nardoum
The cake is a lie...
Posté le 05-03-2007 à 17:42:56  profilanswer
 

Je pige pas, comment je dois faire et c'est quoi le problème?
Tu peux pas le placer dans le code?

n°1523977
nardoum
The cake is a lie...
Posté le 05-03-2007 à 17:43:07  profilanswer
 

S'il te plaît?:D

n°1523978
nardoum
The cake is a lie...
Posté le 05-03-2007 à 17:43:19  profilanswer
 

:bounce:

n°1524009
sielfried
Posté le 05-03-2007 à 17:57:26  profilanswer
 

Faut se calmer, on n'est pas là pour ça...
 
error_reporting(E_ALL | E_STRICT) en haut de chaque .php, tu relances tout ça et ça devrait t'éclairer. :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1524022
nardoum
The cake is a lie...
Posté le 05-03-2007 à 18:07:40  profilanswer
 

Je sais mais il n'y a pas d'erreur aperçues, ça affiche juste le message derreur de si je suis pas connecté:
Vous n'avez pas l'autorisation d'accéder à cette page sans vous identifier.

n°1524023
nardoum
The cake is a lie...
Posté le 05-03-2007 à 18:07:55  profilanswer
 

Svp aidez-moi! ;)

mood
Publicité
Posté le 05-03-2007 à 18:07:55  profilanswer
 

n°1524032
nardoum
The cake is a lie...
Posté le 05-03-2007 à 18:14:02  profilanswer
 

:bounce:

n°1524036
nardoum
The cake is a lie...
Posté le 05-03-2007 à 18:29:37  profilanswer
 

:bounce:

n°1524043
nardoum
The cake is a lie...
Posté le 05-03-2007 à 18:39:38  profilanswer
 

Finalement,
J'ai reussi avec les SESSIONS plutôt que les cookies mais un pb juste comment faire enlever le message:

Code :
  1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\FTP\Nardoum\1Kits\connexion.php:19) in D:\FTP\Nardoum\1Kits\connexion.php on line 59
  2. Warning: Cannot modify header information - headers already sent by (output started at D:\FTP\Nardoum\1Kits\connexion.php:19) in D:\FTP\Nardoum\1Kits\connexion.php on line 62


 
Ca marche pour protégé les pages etc mais je veux juste que ça affiche pas ça et que ça laisse déroulé les autres fonctions que je veut comme le header location etc:

Code :
  1. <?php
  2. error_reporting(E_ALL | E_STRICT);
  3. ?>
  4. <HEAD>
  5. <TITLE>
  6. 1Kits v0.1 - Index
  7. </TITLE>
  8. <meta http-equiv="Content-Type" content="text/html; charset=iso=8859-1">
  9. </HEAD>
  10. <BODY bgcolor="grey">
  11. <link rel="stylesheet" type="text/css" href="style.css">
  12. </BODY>
  13. <DIV ALIGN="CENTER">
  14. <table width="589" cellspacing="0">
  15. <TR>
  16. <TD background="images/up.png" height="204">
  17. <H2>
  18. <div align="center">
  19. <?php include("header.php" ) ?>
  20. </div>
  21. </H2>
  22. </TD>
  23. </TR>
  24. <TR>
  25. <TD background="images/center.png" valign="top">
  26. <table width="584">
  27. <TR>
  28. <TD>
  29. <H1>
  30. Connexion au panel d'administration
  31. <br>
  32. <H3>
  33. <?php
  34. // On appelle la page de configuration
  35. include("config.php" );
  36. // On verifie si les champs PSEUDO et PASSsont correctement remplis
  37. if (empty($_POST['pseudo']) || empty($_POST['pass']))
  38. {
  39. echo $msg1;
  40. echo "<br>";
  41. echo "Redirection dans 5 secondes<br>";
  42. echo "<meta http-equiv=\"refresh\" content=\"5;URL=index.php\">";
  43. }
  44. else
  45. {
  46. // Connexion à la base de donnée
  47. $db = @mysql_connect($nom_host,$nom_utilisateur,$mot_pass);
  48. if(!$db) { echo $msg3;exit;}
  49. //Requète pour la connexion à la base de donnée et la table membre et on vérifie si le contenu des champs pseudo et pass éxiste dans la base
  50. $req     = mysql_db_query($nom_base,"select * FROM $table1 WHERE pseudo = '".$_POST['pseudo']."' AND pass = '".md5($_POST['pass'])."'",$db) or die(mysql_error());
  51. //Si le nom d'utilisateur ou le mot de passe ne sont pas trouvés dans la base, on affiche un message d'erreur
  52. if(mysql_num_rows($req)==0)
  53. {
  54. echo $msg2;
  55. }
  56. else
  57. {
  58. //Création de sessions
  59. session_start();
  60. $_SESSION['pseudo'] = $_POST['pseudo'];
  61. // Redirection
  62. header('Location: membre.php');
  63. exit();
  64. }
  65. }
  66. ?>
  67. </H3>
  68. </H1>
  69. </TD>
  70. </TR>
  71. </table>
  72. </TD>
  73. </TR>
  74. <TR>
  75. <TD background="images/down.png" height="204">
  76. <H1>
  77. <div align="center">
  78. <?php include("copyright.php" ) ?>
  79. </div>

n°1524052
FlorentG
Posté le 05-03-2007 à 19:11:53  profilanswer
 

Oh nan pas encore cette erreur :'(
 
C'est logique que tu ne puisses pas toucher aux headers, vu que t'as déjà envoyé du contenu... Y'a un problème de conception de la page : tout est mélangé, le code HTML, l'accès aux données, et tout. Et y'a une belle faille de sécurité si magic_quotes_gpc est à off.
 
Le mieux est de d'abord faire le traitement (contrôle de $_POST, vérification, etc.), et suivant le cas faire un include de la page à afficher.
 
Attention aussi, on ne fait jamais (ou alors rarement) de redirection via une meta refresh, on utilisera plutôt un vrai header Http


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

  COOKIE

 

Sujets relatifs
javascript: ecrire ou lire un cookie en mémoireCookie qui ne fonctione pas ???
Perte de cookieIIS+Cannot send session cookie
Lien entre session et cookieComportement Bizare de mon COOKIE [RESOLU]
Un Cookie qui ne se supprime pasCookie
sécuritée du html sur site distant et vol de cookieCookie + Firefox
Plus de sujets relatifs à : COOKIE


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)