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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] créer une possibilté d'identification SQL/PHP

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] créer une possibilté d'identification SQL/PHP

n°1490343
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 15:44:13  profilanswer
 

Salut a tous !
 
J'ai ce code :
 

Code :
  1. <?php
  2. /*on récupère les données ddu formulaire et on les stcoke dans les variables PHP_AUTH_USER et PHP_AUTH_PW*/
  3. $PHP_AUTH_USER= $_POST["USER"];
  4. $PHP_AUTH_PW= $_POST["PW"];
  5. /*Là c'est ton code qui teste la valeur des variables auquel je n'ai pas touché*/
  6. if (($PHP_AUTH_USER=="abcde" ) && ($PHP_AUTH_PW=="abc" )) {
  7.       echo "<HTML><BODY>";
  8.       echo "Vous etes maintenant identifié.\n";
  9.       echo "<a href="identification.php">ICI</a>";
  10.       echo "</BODY></HTML>";
  11.     } else {
  12. echo "Login et/ou mot de passe inconnu.";   
  13.     }
  14. ?>


 
je voudrait insérer un lien vers une page identification.php auquelle on arrive en cliquant sur le mot ICI
mais j'ai une erreur de type :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /mnt/136/sdc/8/a/dvdenstock/admin/pageauthentification.php on line 11
 
 
:??:


Message édité par loic_02800 le 13-12-2006 à 14:12:36
mood
Publicité
Posté le 12-12-2006 à 15:44:13  profilanswer
 

n°1490349
skeye
Posté le 12-12-2006 à 15:46:27  profilanswer
 

la coloration syntaxique du forum montre très bien le problème.:o


---------------
Can't buy what I want because it's free -
n°1490351
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 15:48:08  profilanswer
 

Je m'explique ;)
 
sans la ligne 11 , tout va bien, dès que je la mets, ca ne va plus  
pourquoi ca ? c'est le PHP qui ne veux pas du html ?

n°1490354
skeye
Posté le 12-12-2006 à 15:48:53  profilanswer
 

tu as mal compris ma réponse. Regarde ta ligne 11 comme le forum l'affiche, le problème est tout bête.:o


---------------
Can't buy what I want because it's free -
n°1490357
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 15:50:16  profilanswer
 

merci de ton aide, mais justement l'erreur je ne la vois pas, et ca fais une heure que je suis dessus :d

n°1490359
skeye
Posté le 12-12-2006 à 15:51:27  profilanswer
 

m'enfin tu vois pas que identification.php est en noir, là? Donc pas dans une chaine de caractères, qui sont colorées en rouge par le forum? ça ne te donne pas un indice?[:petrus75]


---------------
Can't buy what I want because it's free -
n°1490363
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 15:52:11  profilanswer
 

si justement ca me donne la puce a l'oreil comme on dit, mais que faire, hahah ?  :d

n°1490371
skeye
Posté le 12-12-2006 à 15:58:10  profilanswer
 

Faire en sorte de ne pas fermer la chaine de caractères php...[:dawa]
Donc soit échapper les guillemets qui font partie de la chaine, soit utiliser le simple ' comme délimiteur de chaine php.:o


---------------
Can't buy what I want because it's free -
n°1490374
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 16:00:59  profilanswer
 

putain je suis naze du slip :d
 
c'était tout con, mais je ne le savais pas, graCe a toi je vais pouvoir avancer tres vite sur cette page :jap:
 
un grand merci ;)

Message cité 1 fois
Message édité par loic_02800 le 12-12-2006 à 16:10:05
n°1490408
FlorentG
Unité de Masse
Posté le 12-12-2006 à 16:20:25  profilanswer
 

loic_02800 a écrit :

putain je suis naze du slip :d


Sur ce coup-là, tu nous doit tous une bière [:dawa]


---------------
last.fmflickr
mood
Publicité
Posté le 12-12-2006 à 16:20:25  profilanswer
 

n°1490411
skeye
Posté le 12-12-2006 à 16:21:07  profilanswer
 

hého pourquoi tous? Ya que moi qui l'ai aidé.:o


---------------
Can't buy what I want because it's free -
n°1490556
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 18:11:52  profilanswer
 

FlorentG m'a deja pas mal aidé dans le passé  
et il n'y a pas si longtemps aussi :d
 
et c'est combien une bière virtuelle :d

n°1490560
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 18:16:03  profilanswer
 

bon z'allez dire que je suis lourd mais bon :d
 
j'arrive a insérer des clients via un formulaire, la base enregistre bien les client dans la table correspondante, par contre je n'arrive a loguer ces fameux clients a partir de la base :
 

Code :
  1. <? include("_connexion.php" ); ?>
  2. <?php
  3.    // fonction de protection des donnees reçues
  4.    require('secure.php');
  5.    if ( ($nom = getvar(VARMODE_POST, 'nom', VARTYPE_STR, false) )
  6.        && ( $pass = getvar(VARMODE_POST, 'pass', VARTYPE_STR, false) ) ) {
  7.        if ($requete = mysql_query('SELECT * FROM client WHERE nom like "'.$nom
  8.                                             .'" AND password="'.$pass.'"') ) {
  9.           if ($user = mysql_fetch_array($requete) ) {
  10.               // ouvrir la session
  11.               session_start();
  12.               // initialiser la session
  13.               session_unset();
  14.               // enregistrer les informations sur l'utilisateur, sauf son mot de passe
  15.               unset($user['password']);
  16.               $_SESSION = $user;
  17.           }
  18.        }
  19.     }
  20.  
  21.     // rediriger vers la page appelante
  22.    header('location: '.$_SERVER['HTTP_REFERER']);
  23. ?>


 
c'est ou que ca va pas ?
edit, c'est ma tournée :d


Message édité par loic_02800 le 12-12-2006 à 18:16:40
n°1490567
flo850
moi je
Posté le 12-12-2006 à 18:35:08  profilanswer
 

c'est pas $_SESSION = $user;
 
mais $_SESSION['user'] = $user;
 
$_SESSION est un tableau associatif
 
et je te conseille de faire  SELECT user FROM ... plutot que SELECT *

n°1490575
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 18:47:07  profilanswer
 

merci flo
 
je test ;)

n°1490578
loic_02800
Dehors les boulets :o
Posté le 12-12-2006 à 18:49:50  profilanswer
 

Code :
  1. <? include("_connexion.php" ); ?>
  2. <?php
  3.    // fonction de protection des donnees reçues
  4.    require('secure.php');
  5.    if ( ($nom = getvar(VARMODE_POST, 'nom', VARTYPE_STR, false) )
  6.        && ( $pass = getvar(VARMODE_POST, 'pass', VARTYPE_STR, false) ) ) {
  7.        if ($requete = mysql_query('SELECT user FROM client WHERE nom like "'.$nom
  8.                                             .'" AND password="'.$pass.'"') ) {
  9.           if ($user = mysql_fetch_array($requete) ) {
  10.               // ouvrir la session
  11.               session_start();
  12.               // initialiser la session
  13.               session_unset();
  14.               // enregistrer les informations sur l'utilisateur, sauf son mot de passe
  15.               unset($user['password']);
  16.               $_SESSION['user'] = $user;
  17.           }
  18.        }
  19.     }
  20.  
  21.     // rediriger vers la page appelante
  22.    header('location: '.$_SERVER['HTTP_REFERER']);
  23. ?>


 
tout se passe bien sauf la ligne 25 apparement, je pense que c'est la qu'on insere le lien vers la page des clients qui ont réussi a se loguer , car le $_SERVER['HTTP_REFERER']); me semble louche comme truc :??:

n°1490585
dnlilas
Posté le 12-12-2006 à 19:18:11  profilanswer
 

Attention : $_SERVER['HTTP_REFERER'] est très souvent vide, donc inexploitable.

Message cité 1 fois
Message édité par dnlilas le 12-12-2006 à 19:18:36
n°1490588
flo850
moi je
Posté le 12-12-2006 à 19:28:32  profilanswer
 

de toute maniere, tu affiche un espace et un saut de ligne ( entre le  
<? include("_connexion.php" ); ?> et  
<?php  
 
donc tu ne peux plus envoyer de header

n°1490815
chani_t
From Dune
Posté le 13-12-2006 à 12:45:32  profilanswer
 

ra.. mais arrétez avec vos ouvertures et fermetures de balises... ouvrez la une fois pour toute et fermez la à la fin... pourquoi se rajouter des erreurs potentielles en faisant comme ça...

n°1490837
loic_02800
Dehors les boulets :o
Posté le 13-12-2006 à 14:00:50  profilanswer
 

dnlilas a écrit :

Attention : $_SERVER['HTTP_REFERER'] est très souvent vide, donc inexploitable.


 
 
;)
 
donc avec cette ligne, je ne peux pas faire de renvoi vers une autre page ?
 
:jap:

n°1490838
loic_02800
Dehors les boulets :o
Posté le 13-12-2006 à 14:01:27  profilanswer
 

flo850 a écrit :

de toute maniere, tu affiche un espace et un saut de ligne ( entre le  
<? include("_connexion.php" ); ?> et  
<?php  
 
donc tu ne peux plus envoyer de header


 
;)
 
merci

n°1490882
loic_02800
Dehors les boulets :o
Posté le 13-12-2006 à 15:22:14  profilanswer
 

Code :
  1. <?include("_connexion.php" );?>
  2. <?php
  3.    // fonction de protection des donnees reçues
  4.    require('secure.php');
  5.    if ( ($nom = getvar(VARMODE_POST, 'nom', VARTYPE_STR, false) )
  6.        && ( $password = getvar(VARMODE_POST, 'password', VARTYPE_STR, false) ) ) {
  7.        if ($requete = mysql_query('SELECT user FROM client WHERE nom like "'.$nom
  8.                                             .'" AND password="'.$password.'"') ) {
  9.           if ($user = mysql_fetch_array($requete) ) {
  10.               // ouvrir la session
  11.               session_start();
  12.               // initialiser la session
  13.               session_unset();
  14.               // enregistrer les informations sur l'utilisateur, sauf son mot de passe
  15.               unset($user['password']);
  16.               $_SESSION['user'] = $user;
  17.           }
  18.        }
  19.     }
  20.  
  21.     // rediriger vers la page appelante
  22. header('Location:http://dvdenstock.free.fr/admin.php');
  23. ?>


 
bon j'en ai marre je laisse tomber tant pis pour la ramasse :o


Message édité par loic_02800 le 13-12-2006 à 15:24:07
n°1490885
skeye
Posté le 13-12-2006 à 15:23:04  profilanswer
 

quel intérêt de mettre ton require tout seul dans son coin?:o


---------------
Can't buy what I want because it's free -
n°1490887
loic_02800
Dehors les boulets :o
Posté le 13-12-2006 à 15:24:39  profilanswer
 

i don"t know :cry:
 
faut le virer ?

n°1490889
skeye
Posté le 13-12-2006 à 15:25:19  profilanswer
 

bah mets-le avec le reste, ça t'évitera l'espace qui fout en l'air ton header!:o


---------------
Can't buy what I want because it's free -
n°1490891
skeye
Posté le 13-12-2006 à 15:25:47  profilanswer
 

je parle de l'include, en fait, pas du require...:D


---------------
Can't buy what I want because it's free -
n°1490892
loic_02800
Dehors les boulets :o
Posté le 13-12-2006 à 15:26:35  profilanswer
 

bas il me plait bien la ou il est :d
 
toutes mes pages l'appel comme ca :d

n°1490897
chani_t
From Dune
Posté le 13-12-2006 à 15:31:23  profilanswer
 

..... :heink: ... ba ça me plais bien de mettre des $ partout alors je le fais....  :sarcastic:  
 
quand on te dis de faire des modif, fait les, c'est pas pour t'em$$$$der, c'est pour t'aider....
 
c'est marrant cette façon de faire... créer un fichier html et inclure du php dedans... alors que finalement c'est un fichier php qui fait du code html... j'avoue ne pas comprendre l'intérêt, si ce n'est embrouiller le monde...

n°1490900
loic_02800
Dehors les boulets :o
Posté le 13-12-2006 à 15:33:03  profilanswer
 

désolé si vous n'arrivez pas a suivre, c'est normal, je suis une bille , un vrai n00b :d
 
bien sur que vous voulez m'aider et c'est tres sympa, par contre si je ne fais pas les modifs c'est parce que je ne vois pas ou les faire en fait :(
 
;)

n°1490901
FlorentG
Unité de Masse
Posté le 13-12-2006 à 15:34:43  profilanswer
 

loic_02800 a écrit :

bas il me plait bien la ou il est :d
 
toutes mes pages l'appel comme ca :d


On te dit juste, au lieu de faire :

Code :
  1. <? include("_connexion.php" );?>
  2. <?php
  3.   // fonction de protection des donnees reçues
  4.   require('secure.php');
  5. ...


Faire :

Code :
  1. <?php
  2.   require '_connexion.php';
  3.   // fonction de protection des donnees reçues
  4.   require 'secure.php';
  5. ...


Ca t'évitera des erreurs. Et essaye d'avoir un code consistant, tu mélanges tout : short open tags (<? un coup, <?php un autre), include et require (mieux vaut foutre require tout le temps), etc.


---------------
last.fmflickr
n°1490902
loic_02800
Dehors les boulets :o
Posté le 13-12-2006 à 15:36:17  profilanswer
 

FlorentG a écrit :

On te dit juste, au lieu de faire :

Code :
  1. <? include("_connexion.php" );?>
  2. <?php
  3.   // fonction de protection des donnees reçues
  4.   require('secure.php');
  5. ...


Faire :

Code :
  1. <?php
  2.   require '_connexion.php';
  3.   // fonction de protection des donnees reçues
  4.   require 'secure.php';
  5. ...


Ca t'évitera des erreurs. Et essaye d'avoir un code consistant, tu mélanges tout : short open tags (<? un coup, <?php un autre), include et require (mieux vaut foutre require tout le temps), etc.


 
 
un vrai gentleman ;)
 
merci , je ne vous embete plus avec mes code a deux balles
d'ailleurs je commence a me rendre compte que y' rien de clair, c'est que ca rentre
 
merci a tous  
:jap:

n°1490905
skeye
Posté le 13-12-2006 à 15:39:53  profilanswer
 

bah ça sert à rien à part foutre en l'air ton header()...[:dawa]


---------------
Can't buy what I want because it's free -
n°1490907
loic_02800
Dehors les boulets :o
Posté le 13-12-2006 à 15:41:48  profilanswer
 

et bas voila, j'arrivais pas a trouver pkoi ca me semblais bizar ce header, voila qui est reglé ;)

n°1491115
nORKy
Grmmph...
Posté le 14-12-2006 à 08:26:35  profilanswer
 

Pour être plus précis, si je ne me trompe pas, entre le ?> et le <?php il y a un saut de ligne. Qui sera donc envoyé... on connait la suite..

mood
Publicité
Posté le   profilanswer
 


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

  [PHP] créer une possibilté d'identification SQL/PHP

 

Sujets relatifs
[PL/SQL] Aide sur un like[PHP/MySQL] Questions de sécurité
[PHP][résolu] date, le mois n'apparait pas toujours![PHP/MySQL] compter nombre requetes SQL ?
[SQL] Petit coup de main dans une requête svp![résolu] film le plus loué SQL
[PHP/MySQL][résolu] Images dans un BLOB -> <img src="...">creer des tables et tester des requetes?
code source fonctions PHP 
Plus de sujets relatifs à : [PHP] créer une possibilté d'identification SQL/PHP


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