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

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Auteur Sujet :

aide pour login en php

n°1237535
lancevo7
Posté le 03-11-2005 à 14:31:39  profilanswer
 

Reprise du message précédent :
j'ai remodifier comme vous avez dit, c'est bon
 
par contre, une fois que je conait une page du site si je vais dessus en rentrant l'adresse ca marche, on peut pas faire qu'il faut absolument le user et pass?

mood
Publicité
Posté le 03-11-2005 à 14:31:39  profilanswer
 

n°1237580
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 14:53:44  profilanswer
 

Non mais là ce qu'il te faut c'est :
APPRENDRE BORDEL!!!!!

n°1237589
lancevo7
Posté le 03-11-2005 à 14:59:19  profilanswer
 

dwogsi a écrit :

Non mais là ce qu'il te faut c'est :
APPRENDRE BORDEL!!!!!


 
 
oh merde, pourquoi tu utilise ton clavier pour ecrire ca??

n°1237597
Xav_
The only one...
Posté le 03-11-2005 à 15:08:14  profilanswer
 

une variable de session pour mémoriser que le gars est authentifié, et quand on demande une page, si le visteur n'a pas été identifié avant  
--> redirection vers la page de login ;)
 
et je crois que si tu pose encore une question du genre de celle que tu viens de faire, yen a 1 ou 2 ici qui vont craquer  :whistle:


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1237602
lancevo7
Posté le 03-11-2005 à 15:11:01  profilanswer
 

je sais bien qu'il faut une session mais bon j'y suis depuis 8h ce matin j'en ai marre moi aussi

n°1237604
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 15:12:41  profilanswer
 

Et bah alors qu'est ce que tu veux de plus?!

n°1237611
Xav_
The only one...
Posté le 03-11-2005 à 15:17:03  profilanswer
 

lancevo7 a écrit :

je sais bien qu'il faut une session mais bon j'y suis depuis 8h ce matin j'en ai marre moi aussi


ha ouais ???
 
http://www.phpdebutant.org/article69.php
ce site est cité dans je sais pas combien de topic, là tu regarde les tutoriels, yen a un qui s'apelle "sessions" (c'est le lien direct vers lui que je viens de te mettre)...
... et alors, le fin du fin... ce qu'il y a dans le tuto en question:

Citation :

Nous allons maintenant étudier un cas concret à savoir une procédure de login. En effet c'est un cas répandu d'utilisation des sessions.


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1237621
lancevo7
Posté le 03-11-2005 à 15:22:38  profilanswer
 

je suis sur ce site depuis ce matin justement, mais ca marche pas, je fais comme ils dise mais rien a faire

n°1237666
Neojarod23
Google or not Google?
Posté le 03-11-2005 à 15:41:52  profilanswer
 

Dans ton code, tu met un :
session_start(); $_SESSION['log'] = 1;
si la personne trouve le bon mot de passe (donc juste avant de le rediriger vers ta page d'accueil)
 
Et dans ta page d'accueil (que tu nommeras accueil.php et pas accueil.html) tu mettras tout en haut de ton code un :
session_start(); if ($_SESSION['log'] != 1) { echo 'fuck'; exit; }
 
Tu devras aussi creer un systeme pour se deconnecter mais ça je te laisse chercher.
 
Ps: Pour ton information, contrairement à ce que tu dis plus haut, ce que tu demandes est trouvable partout et de maniere tres clair... Voici une adresse au hasard :
http://www.phpdebutant.org/article47.php
(adresses trouvés par Google en tapant les mots clés: Php debutant identification)

n°1237715
lancevo7
Posté le 03-11-2005 à 16:00:41  profilanswer
 

J'ai bien compris le principe, mais si je suis l'exemple, pourquoi ca en marche pas???
 
 

Code :
  1. <?
  2. mysql_connect('sql.free.fr', '***', '***', '***');
  3. mysql_select_db('doudoudivx');
  4. if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) {
  5.   extract($_POST);
  6.   // on recupère le password de la table qui correspond au login du visiteur
  7.   $sql = "select pwd from utilisateurs where login='".$login."'";
  8.   $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  9.   $data = mysql_fetch_assoc($req);
  10.   if($data['pwd'] != $password) {
  11.     echo '<p>Mauvais login / password. Merci de recommencer</p>';
  12.     include('index.html'); // On inclus le formulaire d'identification
  13.     exit;
  14.   }
  15.   else {
  16.   session_start();
  17.     $_SESSION['login'] = $login;
  18.    
  19.     echo 'Vous etes bien logué';
  20.     header("Location:acceuil.php" );
  21. // ici vous pouvez afficher un lien pour renvoyer
  22.     // vers la page d'accueil de votre espace membres
  23.   } 
  24. }
  25. else {
  26.   echo '<p>Vous avez oublié de remplir un champ.</p>';
  27.    include('index.html'); // On inclut le formulaire d'identification
  28.    exit;
  29. }
  30. ?>


 
 
Erreur a la ligne 20 soit session_start();
 
 

mood
Publicité
Posté le 03-11-2005 à 16:00:41  profilanswer
 

n°1237722
omega2
Posté le 03-11-2005 à 16:08:42  profilanswer
 

Quel message d'erreur précisément?
"Erreur a la ligne 20", c'est aussi précis que "je suis perdu dans la campagne, je vois un bois au loin, viens me chercher".

n°1237727
lancevo7
Posté le 03-11-2005 à 16:10:50  profilanswer
 

Code :
  1. Warning: session_start(): open(/var/www/free.fr/3/f/doudoudivx/sessions/sess_17c8c8962a36fcc909138e9526a32525, O_RDWR) failed: No such file or directory (2) in /var/www/free.fr/3/f/doudoudivx/verif.php on line 20
  2. Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/3/f/doudoudivx/verif.php:20) in /var/www/free.fr/3/f/doudoudivx/verif.php on line 20
  3. Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/3/f/doudoudivx/verif.php:20) in /var/www/free.fr/3/f/doudoudivx/verif.php on line 20
  4. Vous etes bien logué
  5. Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/3/f/doudoudivx/verif.php:20) in /var/www/free.fr/3/f/doudoudivx/verif.php on line 24
  6. Warning: Unknown(): open(/var/www/free.fr/3/f/doudoudivx/sessions/sess_17c8c8962a36fcc909138e9526a32525, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
  7. Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/free.fr/3/f/doudoudivx/sessions) in Unknown on line 0

n°1237733
Roane
Pingouino's fan
Posté le 03-11-2005 à 16:15:06  profilanswer
 

t'as créé un répertoire sessions dans la racine de ton hébergement ?
 
tas pas oublié de modifier le session_sava_path pour qu'il pointe au bon endroit ?


---------------
http://www.alsacreations.com, http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net. A ne surtout pas prendre en exemple : http://www.worldinternet.be
n°1237735
omega2
Posté le 03-11-2005 à 16:16:43  profilanswer
 

Chouet, il te fait des alertes par ce qu'il peut pas créer de fichier dans le dossier "/var/www/free.fr/3/f/doudoudivx/sessions" qui d'aprés lui n'existe pas. (warning de la ligne 11)
Quand aux autre, il y a des "je peux pas ouvrir le fichier de session" et des "je peux rien envoyer dans le cookie du navigateur vu que du texte est déjà parti" ce qu'est normal vu que le dossier existe pas et que l'alerte corespondante est du texte envoyé au navigateur.
 
Tu vois,  une fois qu'on a les messages d'alertes (warning) et/ou d'erreur, on sait dessuite quoi faire : créer le dossier sessions.
 
PS : Si t'avais consulté le  [:rtfm] de free, t'aurais su que pour les sessions, il faut créer un dossier nomé "sessions" à la racine du site web. (la racine du ftp)


Message édité par omega2 le 03-11-2005 à 16:18:07
n°1237746
lancevo7
Posté le 03-11-2005 à 16:25:52  profilanswer
 

ok c'est fait, désoler si je suis nul, mais la j'en peu pu jy suis depuis ce matin, sans m'arreter et maintenant j'ai une page blanches si tout est ok, le echo marche meme pas

n°1237748
omega2
Posté le 03-11-2005 à 16:28:51  profilanswer
 

Au fait : JAMAIS d'envoie de texte (echo, print_r, texte en dehors du code php ...) avant un header. Un header n'est possible que si rien n'est envoyé au navigateur.
Bizare, que t'ai rien qui se soit affiché.

n°1237757
lancevo7
Posté le 03-11-2005 à 16:34:35  profilanswer
 

avant le session start j'avais un echo, maintenant ca amrche ke l'ai mit tout en haut

n°1237758
lancevo7
Posté le 03-11-2005 à 16:34:46  profilanswer
 

Grand merci a tout le monde

n°1237935
2xyo
2*yo = yoyo
Posté le 03-11-2005 à 18:01:58  profilanswer
 

Spoiler :

Aprends les sessions alors et reviens nous voir dans quelques jours lorsque tu auras réelement potassé le sujet.
Mais pour ne pas te balancer juste le sujet comme ça, voici en gros la méthode :

  • dans la page d'identification, tu démmares une séssion au tout début
  • Si l'identification à réussit, alors tu mets une variable dans la session genre : ident = true
  • Dans les autres pages du site tu ouvre une session au début et tu vérifie si dans cette session ident = true, si c'est pas le ca un exit(), sinon tu balance toute la page.


Après pour rentrer en détail, il y a notre ami google qui est là pour ça...


 :fou: Merde j'avais oublié d'actualiser le topic avant de répondre, 4 heures de retard... :o


Message édité par 2xyo le 03-11-2005 à 18:03:43

---------------
2 * yo = yoyo
n°1238724
lancevo7
Posté le 04-11-2005 à 15:01:18  profilanswer
 

recoucou, j'ai bien avancé mais la je comprend pas, j'ai 2 ligne avec chacune un bouton rechercher et les 2 sont melanger, si je clike en haut ca prend la requete du bas etc..
 
voila le code
ou est l'erreur?
Merci
 
 

Code :
  1. <table align="center" width="500">
  2. <tr>
  3. <form id="forml" name="forml" method="post">
  4. <td width="80">La taille est</td>
  5. <td width="100"><select name="Dvd" onchange="MM_jumpMenu('parent',this,0)">
  6. <option value="inferieur.php">Inférieur</option>
  7. <option value="egal.php">Egal</option>
  8. <option value="superieur.php">Supérieur</option>
  9. </select></td>
  10. <td width="20">&agrave;</td>
  11. <td width="200"><input type="text" name="taille" />
  12. Mo</td>
  13. <td width="40" align="right"><input name="divxtaille" type="submit" value="Rechercher" /></td>
  14. </form>
  15. </tr>
  16. </table>
  17. <table align="center" width="500">
  18. <tr>
  19. <form id="forml" name="forml" method="post" action="recherchetitre.php">
  20. <td width="200">Le titre contient</td>
  21. <td width="260"><input type="text" name="retitre" /></td>
  22. <td width="40" align="right"><input type="submit" name="recherchetitre" value="Rechercher" /> </td>
  23. </form>
  24. </tr>
  25. </table>

n°1238727
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 15:03:04  profilanswer
 

Attend tu essais de faire quoi là?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1238732
lancevo7
Posté le 04-11-2005 à 15:06:57  profilanswer
 

J'ai 2 ligne de tableau
 
1ere ligne = selection de superieur ou egal ou inferieur puis bouton envoyer
2eme ligne = champ a remplir pui envoyer
 
 
le champ de la ligne 2 s'apel "retitre"
dans ma page php ou j'ai ma requete il faut que je remplise pour la premiere ligne pour que la requete de la 2 s'execute, comme si les bouton rechercher et les champ corespondait pas

n°1238736
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 15:08:37  profilanswer
 

<form id="forml" name="forml" method="post">
Tu met pas de action=""?
Soit c'est pas correcte, soit j'ai loupé quelque chose en js ou dans les spec.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1238742
lancevo7
Posté le 04-11-2005 à 15:10:57  profilanswer
 

si manque action, exact, mais si je met action il va m'envoyer sur ce que je rentre dans ce champ.
 
mais je voudrais qu'il m'envoie sur une page diferente si on selectione inferieur ou egal etc..

n°1238748
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 15:12:44  profilanswer
 

Hummm... Elle est bizard ta solution, mais tu sais tu peu envoyer ton visiteur vers un script qui tiendra compte de la valeur de ton select envoyé par POST et qui fera en fonction de ca ce qu'aurait fait les trois pages qui sont dans ton select.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1238752
lancevo7
Posté le 04-11-2005 à 15:14:35  profilanswer
 

oué c'est ce que je voulais faire au debut, mais la je vais me perdre sur comment mettre
 
if ==>> comment ecrire que c'est en fonction de la variable ?

n°1238761
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 15:18:12  profilanswer
 

Code :
  1. if ( $_POST["Dvd"] == "Egale" ) {
  2.    // ce que tu fais quand le gars choisi egale
  3. }elseif ( $_POST["Dvd"] == "Inferieure" ) {
  4.   // Ce que tu fais quand le gars choisi inferieure
  5. }else{
  6.   // Ce que tu fais quand le gars choisi superieure
  7. }
  8. // ici ce que tu fais dans tout les cas


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1238843
lancevo7
Posté le 04-11-2005 à 16:05:12  profilanswer
 

Merci beaucoup,
 
juste une petite question, dans ma base, si je remplit les champs de ma table par des lettre, ma requete marche
 
mais si je met des phrase (enfin des mot+espace) je n'est pas de resultat
 
pourquoi? faut il rajouter quelque chose?

n°1238849
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 16:08:50  profilanswer
 

lancevo7 a écrit :

je n'est pas de resultat


Verbe avoir et pas être. Pardon mais ca me saute aux yeux.
 
Sinon concernant ton problème, fais voir ta requête d'insertion.
Et quel type de champs est-ce?


Message édité par dwogsi le 04-11-2005 à 16:09:33

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1238857
lancevo7
Posté le 04-11-2005 à 16:16:01  profilanswer
 

bon j'ai refait ma page, la voici :
 
page formulaire :

Code :
  1. <?
  2. session_start();
  3. if(!isset($_SESSION['login'])) {
  4.   echo 'Vous n\'êtes pas autoriser à acceder à cette zone';
  5.   include('index.html');
  6.   exit;
  7. }
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10. <html xmlns="http://www.w3.org/1999/xhtml">
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  13. <title>Rechercher des Divx</title>
  14. <style type="text/css">
  15. <!--
  16. .Style1 {font-size: 24px}
  17. .Style2 {font-size: 18px}
  18. -->
  19. </style>
  20. </head>
  21. <body>
  22. <div align="center">
  23. <p class="Style1">Rechercher des Divx</p>
  24. </div>
  25. <table align="center" width="500">
  26. <tr>
  27. <form id="forml" name="forml" method="post" action="recherchetitre.php">
  28. <td width="200">Le titre contient</td>
  29. <td width="260"><input type="text" name="retitre" /></td>
  30. <td width="40" align="right"><input type="submit" value="Rechercher" /> </td>
  31. </form>
  32. </tr>
  33. </table>
  34. </body>
  35. </html>


 
 
page recherchetitre.php
 

Code :
  1. <?
  2. session_start();
  3. if(!isset($_SESSION['login'])) {
  4.   echo 'Vous n\'êtes pas autoriser à acceder à cette zone';
  5.   include('index.html');
  6.   exit;
  7. }
  8. $retitre=$_POST["retitre"];
  9. $db = mysql_connect('sql.free.fr', '***', '****')  or die('Erreur de connexion '.mysql_error());
  10. mysql_select_db('****',$db)  or die('Erreur de selection '.mysql_error());
  11. $sql = "SELECT * FROM divx WHERE titre LIKE '%$retitre%'";
  12. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  13. include ('listedivx.php');
  14. echo 'Résultat de la recherche : ';
  15. if (!mysql_fetch_row($req)) {
  16. echo "Il n'y a aucun divx";
  17. }
  18. else {
  19. while($data = mysql_fetch_array($req))
  20. {
  21. echo '<table width="400" border="4" align="center"';
  22. echo '<tr>';
  23. echo '<td width="100">';
  24. echo '<b>'.$data['titre'].'</b>';
  25. echo '<td>';
  26. echo '<td width="100">';
  27. echo '<b>'.$data['taille'].'</b>';
  28. echo '<td>';
  29. echo '<td width="100">';
  30. echo '<b>'.$data['type'].'</b>';
  31. echo '<td>';
  32. echo '<td width="100">';
  33. echo '<b>'.$data['son'].'</b>';
  34. echo '<td>';
  35. echo '</tr>';
  36. echo '</table>';
  37. }}
  38. mysql_close();
  39. ?>
  40. j'ai rempli ma base avec pour chaque champ la lettre "a" pour faire simple
  41. si je met b dans mon formulaire, il me marque bien aucun resultat, si je met a, page blanche
  42. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  
  43. Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  44. <html xmlns="http://www.w3.org/1999/xhtml">
  45. <head>
  46. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  47. <title>Document sans titre</title>
  48. </head>
  49. <body>
  50. </body>
  51. </html>

n°1238872
Xav_
The only one...
Posté le 04-11-2005 à 16:28:53  profilanswer
 

esai plutot avec un truc du genre:

Code :
  1. if (mysql_num_rows($req) == 0) {
  2. echo "Il n'y a aucun divx";
  3. }
  4. else {
  5. ...etc...
  6. }


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1238878
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 16:30:35  profilanswer
 

Je crois que dans ton while tu t'es un peu égaré au niveau des td...
Regarde bien tu les ouvre mais tu les ferme pas, en tout cas je vois pas de </td>, ca peu peut être venir de là si ca fait trop foirer l'affichage.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1238887
lancevo7
Posté le 04-11-2005 à 16:36:29  profilanswer
 

j'ai fait tout betement un echo bonjour, et bah pas d'affichage non plus
 

Code :
  1. if (!mysql_fetch_row($req)) {
  2. echo "Il n'y a aucun divx";
  3. }
  4. else {
  5. while($data = mysql_fetch_array($req))
  6. {
  7. echo 'bonjour';
  8. }}

n°1238891
Xav_
The only one...
Posté le 04-11-2005 à 16:37:53  profilanswer
 

normal fait ce que j'ai dis...
là tu fait un "mysql_fetch_row" (1er parcours de la requete)
puis un "mysql_fetch_array" (2eme parcours)
 
tu parcours 2 fois la meme requete, ça va pas...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1238897
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 16:39:30  profilanswer
 

Ya pas eut confusion en mysql_fetch_row() et mysql_num_rows()?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1238898
lancevo7
Posté le 04-11-2005 à 16:40:40  profilanswer
 

c'est la dessus que je cherche aussi, mais :(

n°1238899
Xav_
The only one...
Posté le 04-11-2005 à 16:40:55  profilanswer
 

dwogsi a écrit :

Ya pas eut confusion en mysql_fetch_row() et mysql_num_rows()?


je pense que si, et je lui ai djà demandé de mettre un "mysql_num_rows($res) == 0" si tu regarde un peu plus haut ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1238904
lancevo7
Posté le 04-11-2005 à 16:43:15  profilanswer
 

c'est bon c'est bien num rows, merci bcp encor

n°1238910
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 16:45:58  profilanswer
 

Xav_ a écrit :

je pense que si, et je lui ai djà demandé de mettre un "mysql_num_rows($res) == 0" si tu regarde un peu plus haut ;)


Effectivement.
D'ailleurs j'aime pas sa technique avec une négation ! , enfin chacun fait comme il veut..


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1238917
lancevo7
Posté le 04-11-2005 à 16:50:14  profilanswer
 

chacun fait comme il veut...
 
 
roh bon d'accord je change :)

n°1238924
dwogsi
Défaillance cérébrale...
Posté le 04-11-2005 à 16:52:44  profilanswer
 

Bah je constate que le commun des programmeur est d'utiliser la négation avec une fonction qui retourne TRUE (1) ou FALSE (0). Pour une fonction qui peut retourner plusieurs valeur numérique il est plus commun d'utiliser des opérateurs de comparaison.
 
Mais les deux sont toutefois justes.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3

Aller à :
Ajouter une réponse
 

Sujets relatifs
[debutant] [swing] bulle d'aide à la eclipseBesoin d'aide pour un petit prog!
[Debutant]besoin d'aide pour dessiner dans un JPanelHTML Validator : Aide pour résoudre certains problèmes ?
besoin d'aide!!!aide à la réalisation d'un projet (niv débutant)
Menu dynamique besoin d'aide !aide sous dev-C++
aide avec highlight_stringBesoin d'aide
Plus de sujets relatifs à : aide pour login en php


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