Faire un site avec des membres - PHP - Programmation
Marsh Posté le 06-11-2005 à 18:11:11
Hello,
Pour débuter en php n'hesite pas a faire un tour sur des site du genre phpdebutant ou autre
(regarde les liens utiles sur ce forum)
Généralement pour tout ce qui est stockage d'informations dynamique en php on utilise MySQL.
Il te suffit d'une table contenant les champs login / password par exemple.
Tu envoies les informations de ton formulaire de login sur une page, tu testes que le couple login/pass rentré par l'utilisateur existe dans la table de ta base de données et si oui tu dis que ton utilisateurs et loggué sinon tu raffiche ton formulaire de login.
Marsh Posté le 06-11-2005 à 18:28:07
OKi, merci, apparament pas trop compliqué.
Suffit d'avoir une base mysql, et de savoir comment envoyer les données la bas...
C'est surtout sa que je ne sais pas,s inon après au niveau de la gestion mysql, je me debrouille...
Marsh Posté le 06-11-2005 à 18:40:01
//tu te connectes a la bdd avec mysql_connect(...)
//ajout d'un utilisateur
$sql = "INSERT INTO matable (login,pass) VALUES ('".$_POST['login']."','".$_POST['pass']."')";
if( mysql_query($sql) )
print("ajout reussi" );
else
print("erreur lors de l'ajout" );
//selection d'un utilisateur
$sql = "SELECT login FROM matable WHERE login='".$_POST['login']."' AND pass='".$_POST['pass']."'";
if( $res = mysql_query($sql) )
{
if(mysql_num_rows($res) > 0)
print("vous etes logue" );
else
print("mauvais login/pass" );
}
else
print("erreur lors de la selection" );
(j'ai fait ca de tete désolé si il y a des fautes de frappe)
Marsh Posté le 06-11-2005 à 18:42:23
Celon la version de php que t'utilises, par défaut <5 c'est natif, >5 faut la librairies mysql (à voir dans ton php ini) mais que ce soit l'un ou l'autre, tu as tout une panoplie de fonctions php pour gérer mysql C'est fait pour marcher en duo donc t'as vraiment tout ce qu'il te faut, suffit juste de jeter un oeil dans la donc et les fonction mysql_*
Marsh Posté le 06-11-2005 à 18:45:47
fluminis a écrit : //tu te connectes a la bdd avec mysql_connect(...) |
Très mauvaise vue du test ton truc Et vive l'injection sql
Par ailleurs tu m'expliques en quoi avoir 2 couples utilisateur/mdp justifie un log existant :???: Sauf si tu enregistres que les utilisateurs loggés...
M'enfin dans les grandes lignes pour la connexion mysql c'est bien ça
Marsh Posté le 06-11-2005 à 18:47:20
Merci beaucoup.
Mais flumisis, quand tu met:
//tu te connectes a la bdd avec mysql_connect(...)
C'est qu'il faut faire les ajouts manuellement?
Marsh Posté le 06-11-2005 à 18:50:43
T'es sur que tu maitrises l'administration de mysql et le sql???
mysql_connect= connexion au serveur
mysql_query=tu envois une requête à mysql
mysql_fetch_row=tu lis le tableau que mysql t'envois en résultat de ta requête (pour un select)
Ajout en Sql c'est quoi?????
Marsh Posté le 06-11-2005 à 18:54:28
leflos5 > pour un débutant, je n'ai pas obcurci mon code avec des tests dans tous les sens pour savoir si les données sont correctes.
Je suis tout à fait d'accord, il manque des tests sur les données afin de s'assurer quelles sont valides et ne menacent en rien notre bdd.
subshadow > je ne sais plus les parametres de la fonction mysql_connect, je te laisse chercher , il te faut precisser l'hostame, le user et le pass
ensuite il te faut selectionner la bdd avec la fonction mysql_select_db(...)
Marsh Posté le 06-11-2005 à 19:01:00
fluminis a écrit : leflos5 > pour un débutant, je n'ai pas obcurci mon code avec des tests dans tous les sens pour savoir si les données sont correctes. |
Je parle même pas de script obscure, juste que ça me parait pas logique et qu'on se satisfait pas de trouver un couple utilisateur/mdp mais de vérifier le mdp de l'utilisateur C'est de l'algo, de la gestion, ce que tu veux mais surtout pas faire ça comme ça!
Pour mysql_connect, sois tu précise la bd en paramètre soit tu utilises mysql_select_db
Et que ça soit simple n'empêche pas d'éliminer les règles de base contre l'injection Soit un seul paramètre et test derrière unique donc le résultat est sur
Marsh Posté le 06-11-2005 à 19:03:14
$sql = "SELECT login FROM matable WHERE login='".$_POST['login']."' AND pass='".$_POST['pass']."'";
je verifie bien le login et le pass ?
je comprends pas, je veux bien des explications afin de ne pas refaire des betises dans mes prochaines realisations
Marsh Posté le 06-11-2005 à 19:44:48
leflos5 a écrit : T'es sur que tu maitrises l'administration de mysql et le sql??? |
Je me debrouille, avec la base de donnée!
Mais je n'ai jamais vraiment toucher au code mysql....
En tout cas merci à vous, je crois que j'ai du boulot la!
Marsh Posté le 06-11-2005 à 20:59:34
fluminis a écrit : $sql = "SELECT login FROM matable WHERE login='".$_POST['login']."' AND pass='".$_POST['pass']."'"; |
Utilise la fonction mysql_real_escape_string() sur les variables $_POST["xx"]. Cf. doc php.net
Et ne stock pas en clair les mots de passe.
Marsh Posté le 07-11-2005 à 00:51:53
dwogsi a écrit : Utilise la fonction mysql_real_escape_string() sur les variables $_POST["xx"]. Cf. doc php.net |
Et on suppose jamais que 2 paramètres sont entiers, véritables quand ils sont saisis par un utilisateur dans une clause where de sql... C'est ça qui me gêne, après on est pas là pour tout lui faire mais l'envoyer dans le mur
C'est de l'algo de base pour du sql, suis désolé mais je cautionne pas les erreurs lourdes de conséquences même pour un truc simple
Marsh Posté le 06-11-2005 à 17:44:35
Bonjour,
Je debute en php, j'ai fais un peux de c++...
Je voudrais pouvoir stocker des membres sur mon site.
La page d'inscription est prête, mais je me demande comment faire, et si c'est realisable, pour stocker des membres avec leurs mots de passe, et toutes ces infos.
Merci à ceux qui repondront.
---------------
Mon Topic à Upper