logo Homepage
Pages: [1] 2 3 ... 6
  Imprimer  
Auteur Fil de discussion: [PHP] Création d'un espace membre (question et aide)  (Lu 35518 fois)
popop

Profil challenge

Classement : 2824/54318

Membre Junior
**
Hors ligne Hors ligne
Messages: 90


Voir le profil
« le: 26 Juillet 2005 à 21:05:47 »

voila je suis en train de créer un site dans lequel je voudrais mettre un espace membre mais je dois avouer que je ne sais absolument pas comment faire donc si vous pouviez m'aider **orthographe !** sympas
Journalisée
Romano

Profil challenge

Classement : 1890/54318

Néophyte
*
Hors ligne Hors ligne
Messages: 48


Voir le profil WWW
« #1 le: 26 Juillet 2005 à 21:16:29 »

T'as plusieurs solutions.

Je pense que le plus simple si tu ne connais pas le php est d'utiliser un espace membre déjà codé, tu en trouveras sur des sites type http://www.comscripts.com/

PS : Vérifie tout de même que les magic_quotes_gpc sont activées sur le serveur qui hebergera ton site, sinon vérifie la présence d'addslashes() sur les variables sensibles
Journalisée
popop

Profil challenge

Classement : 2824/54318

Membre Junior
**
Hors ligne Hors ligne
Messages: 90


Voir le profil
« #2 le: 27 Juillet 2005 à 08:43:54 »

ok merci je vais voir tout de suite
Journalisée
Perfect Slayer

Profil challenge

Classement : 3029/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #3 le: 03 Août 2005 à 12:58:32 »

Il te servirait à quoi cet espace membre ?
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
comtezero

Profil challenge

Classement : 2120/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1001


Voir le profil WWW
« #4 le: 03 Août 2005 à 16:06:07 »

mouarf moi aussi je suis entrain d'en coder un mais c'est assez chaud , d'ailleurs si quelqu'un pouvait m'aider au sujet de mysql sur free car j'y comprend pas grand chose , a quoi sert les tables ont doit les citer dans les script de connexion ou pas ?  on fait notre script que l'on balance sur le serveur et hop la c'est bon ? (  pas trés clair mais ca ne l'ai pas plus pour moi )
Journalisée

·´¯`·­»Comtezero«­·´¯`·

http://www.masstek.org
Perfect Slayer

Profil challenge

Classement : 3029/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #5 le: 05 Août 2005 à 14:11:30 »

j'ai pas pigé ce que tu veux dire pour être franc...
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
comtezero

Profil challenge

Classement : 2120/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1001


Voir le profil WWW
« #6 le: 05 Août 2005 à 14:42:01 »

Citation
j'ai pas pigé ce que tu veux dire pour être franc... hmm
si tu parle de ce que j'ai dit , j'ai fini par comprendre mais a vrai dire j'avais pas vraiment compris ce j'ai dit aussi
Journalisée

·´¯`·­»Comtezero«­·´¯`·

http://www.masstek.org
Invit
Invité
« #7 le: 05 Août 2005 à 15:38:23 »

loll ^ c super clair...
Journalisée
Perfect Slayer

Profil challenge

Classement : 3029/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #8 le: 05 Août 2005 à 20:08:52 »

<Modo>
Ca se barre en sucette là... C'était quoi la question ?
Merci d'être clair et précis pour obtenir de l'aide...
</Modo>
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
comtezero

Profil challenge

Classement : 2120/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1001


Voir le profil WWW
« #9 le: 07 Août 2005 à 10:13:23 »

Citation de: Perfect Slayer
<Modo>
Ca se barre en sucette là... C'était quoi la question ?
Merci d'être clair et précis pour obtenir de l'aide...
</Modo>
Pour essayer d'etre clair :
- ca sert a quoi une table dans une bdd ? ( du au faite de la présence de phpmyadmin ) pour moi maintenat c'est résolu .( le reste de ce que j'ai dit était en rapport avec ca ).
-La premiere question demandait de l'aide pour un espace membre par popop .

Moi j'ai créé un script d'inscription mais celui de connexion du membre ne marche pas :

Code:
<?
//j'inclue les parametres de connexion a la bdd
include ('http://site.free.fr/commun/config.php');

//j'enleve les caractères html et php aux entrées
$login = strip_tags ( $login );
$pass = strip_tags ( $pass );

//verification présence login /pass
if ( $login && $pass )
{
//je cherche dans la bdd les données correspondant
$db = mysql_connect ( $serveur, $user, $password);
@mysql_select_db($basename, $db);
$sql = "SELECT * FROM `membres`
WHERE login='.$login' AND pass='.$pass'";
$req = @mysql_query ( $sql );
$data = @mysql_fetch_array ( $req );

if ( $data['login']== $login && $data['pass']==$pass )
{
echo '<a href="http://site.free.fr/membres.htm" >Membres</a>';
}
?>
J'ai créé 2 script de connexion aucun ne marche , un chtit coup de main please ( pas une claque )
Journalisée

·´¯`·­»Comtezero«­·´¯`·

http://www.masstek.org
Perfect Slayer

Profil challenge

Classement : 3029/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #10 le: 07 Août 2005 à 17:09:30 »

Bah une base SQL sans table de données... C'est comme une feuille vierge. La base SQL marche grace au serveur et apres, il y a plusieurs tables dessus ou tu peux enregistrer tes données (les tables contiennent les données pouvant être enregistrées et leur format)

fait le strip_tags apres la déclaration de la variable.. sinon tu risques d'avoir une erreur s'il essaye de faire strip_tags sur une fonction qui existe pas (ou sinon utilise l'arobase)

Retire les arobases pour les fonctions SQL et fait une détection d'erreur avec la fonction or die()

t'es sur que la concaténation de tes 2 vars se fait bien ? (ca m'a l'air fait à l'arrache... Des points n'importe ou.. etc..)

Et puis le meilleurs pour la fin, il te manque une accolade à la fin de ton script (celui de ton premier if).

refais déjà tout ca et on vera ce que ca donne apres oki ? Bonne chance si tu débutes !
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
comtezero

Profil challenge

Classement : 2120/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1001


Voir le profil WWW
« #11 le: 07 Août 2005 à 19:11:10 »

merci de tes conseil Perfect Slayer , je  vais les suivre , et les imprimés pour reflechir a tout ca cette nuit

Citation
t'es sur que la concaténation de tes 2 vars se fait bien ? (ca m'a l'air fait à l'arrache... Des points n'importe ou.. etc..)
Oué un peu quand meme .  Pourtant sur les bases d'un livre .Pour ce qui est de la concaténation , on m'a dit que ca ameliorer la sécurité , est-ce vrai ?

Citation
refais déjà tout ca et on vera ce que ca donne apres oki ? Bonne chance si tu débutes !
Merci , et effectivement je débute , j'ai un livre ( comme dit un poil plus haut ) qui est vraiment mauvais , le gars n'explique pas vraiment ces script et n'explique rien a coté de ca . C'est du boulot d'essayer de faire ca , et je pense que je vais vidr la cartouche de mon imprimante

Petite précision a quoi sert les arobases a executer la requete sans forcement lui attribuer de variable ?
Journalisée

·´¯`·­»Comtezero«­·´¯`·

http://www.masstek.org
Perfect Slayer

Profil challenge

Classement : 3029/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #12 le: 08 Août 2005 à 10:34:55 »

Bah la concaténation (dans ton cas), c'est le fait de passer des variables dans une string (chaine de caractères). Maintenant pour la sécurité, la concaténation en elle même n'a aucun rapport. C'est plus comment tu la fais que le fait de le faire (si tu vois ce que je veux dire... par exemple, il est préférable de faire :
Code:
$var = "bibi";
...
$rq = "SELECT pass FROM membres WHERE pseudo = '".$var."'";

à ca :

$var  = "bibi";
...
$rq = "SELECT pass FROM membres WHERE pseudo = $var";
Pourquoi ? Tout simplement pour prévenir des injection de code (dans ce cas-ci, injections SQL).

Maintenant les arobases, pour faire simple, ca indique à PHP de ne pas afficher une erreur s'il en arrive une.

Exemple :

@echo $var;

Si $var est définie, pas d'erreur. Si elle n'existe pas, normalement tu as le droit à une erreur  comme quoi il est pas possible pour PHP d'appeler cette variable. Or l'arobase fait que le script n'affiche pas d'erreur et continu (apres selon ton niveau, tu peux reconfigurer le serveur pour qu'il arrete un script ou non en fonction du niveau des erreurs rencontrées)

Et pourquoi mysql_select_db n'est pas mit dans une variable ? Parce que dans ce cas ci tu n'en as pas besoin. Il doit certainement renvoyer true si tout ce passe bien et false si ca se passe mal. Ca sert à faire des détection d'erreurs. Donc dans ton cas inutil. Et bien sur, tu peux utiliser des fonctions sans les passer dans des variables obligatoirements (comme echo ou print).

Voilà, j'espère que je t'ai éclaircit un peu...
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
comtezero

Profil challenge

Classement : 2120/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1001


Voir le profil WWW
« #13 le: 08 Août 2005 à 10:39:52 »

Citation
Voilà, j'espère que je t'ai éclaircit un peu... hmm
Un peu !!! en une réponse tu m'a éclaircis et appris des trucs alors que dans un bouquin de + de 370 pages j'ai rien compris et rien appris .

DONC MERCI

Edit :
encore 2-3 chtites question :
Pour la connexion du membre , je peux utiliser mes variables du formulaires et non les GET et POST , d'ailleurs ceci ne pourrait pas avoir des problemes pour la sécurisation ( buffer overflow ...) ? Donc vaut mieux que j'utilise quoi ?

En faite j'avais un probleme au niveau de mon include pour les valeurs du serveur user pass sur la bdd !!! je les mets dans le script php et voila que ca marche , pourtant en incluant les parametres dans le script de connexion a partir d'un autre script cela ne devrait pas marcher ?
Journalisée

·´¯`·­»Comtezero«­·´¯`·

http://www.masstek.org
comtezero

Profil challenge

Classement : 2120/54318

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1001


Voir le profil WWW
« #14 le: 08 Août 2005 à 16:33:27 »

Code:
//j'enleve les caractères html et php aux entrées
if ($pseudo_c != NULL AND $pass_c != NULL) //S'ils sont pas vident
{
$login = strip_tags ( $login_c );
$pass = strip_tags ( $pass_c );

//je cherche dans la bdd les données correspondant

$db = mysql_connect ( $serveur, $user, $password)OR die ('Connexion impossible');
mysql_select_db($basename, $db)OR die ('base inexistance ou non joignable');
$req = mysql_query( "SELECT * FROM `membres`WHERE login='.$login' && pass='.pass'");
while ( $rec= mysql_fetch_array ($req))
{
$login= $rec['.$login'];
$pass= $rec['.$pass'];
echo "login $pass";
}
}
?>
Quand j'execute ce code , il me donne une page blanche , c'est normal ?
Vaut mieux faire une boucle en if a la place du while ou pas ?  La base de donnée est intelligente pour prendre le ogin qui va avec le pass ou pas ? Le tableau sert a quelque chose ?
Journalisée

·´¯`·­»Comtezero«­·´¯`·

http://www.masstek.org
Pages: [1] 2 3 ... 6
  Imprimer  
 
Aller à: