logo Homepage
+  NewbieContest
|-+  Programmation» Langages Web» [MySQL] connexion bdd
Username:
Password:
Pages: [1] 2
  Imprimer  
Auteur Fil de discussion: [MySQL] connexion bdd  (Lu 13996 fois)
comtezero

Profil challenge

Classement : 2131/55019

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


Voir le profil WWW
« le: 04 Août 2005 à 15:21:27 »

Salut salut , est-ce qu'on pourrait m'éclaircir sur mon script , il ne fonctionne pas , on m'a aidé sur le net mais la personne ne comprenait pas le probleme non plus :

<?
include ('http://site.free.fr/commun/config.php');

$login = strip_tags ( $login );
$pass = strip_tags ( $pass );
$email = strip_tags ( $email );


if(empty($login) OR empty($pass) OR empty($email))
{
echo'<a href="http://sitet.free.fr/inscriptions.htm" target="_blank">
Inscriptions</a>';
}

else
{
$sql="INSERT INTO membres[('id','login','pass','email')] VALUES [('','.$login','.$pass','.$email')]";
$exe=mysql_db_query ($serveur,$basename,$sql);
}
?>
Journalisée

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

http://www.masstek.org
Folcan

Profil challenge

Classement : 511/55019

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


Voir le profil
« #1 le: 04 Août 2005 à 15:57:34 »

peux tu nous dire l'erreur qu'il renvoi ??
Journalisée

-=[FoLc@N]=-

Citation :
* Le futur appartient à ceux qui croient à la beauté de leurs rêves, je crois au miens, NewbieContest aura un bon futur.
* Il y'a seulement 10 categories de gens dans la vie : ceux qui comprennent le binaire, et les autres.
Folcan

Profil challenge

Classement : 511/55019

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


Voir le profil
« #2 le: 04 Août 2005 à 16:41:51 »

mhmmm deja :

Code:
{
$sql="INSERT INTO membres[('id','login','pass','email')] VALUES [('','.$login','.$pass','.$email')]";
$exe=mysql_db_query ($serveur,$basename,$sql);
}
ici, tu n'execute nullement ton sql, tu le fou juste dans une variable !
il aurait fallu ne pas mettre le '$exe=' soit :

Code:
{
$sql="INSERT INTO membres[('id','login','pass','email')] VALUES [('','.$login','.$pass','.$email')]";
mysql_db_query ($serveur,$basename,$sql);
}
De plus, pourquoi des crochets dans cette meme partie ? C'est peut etre authorisé, moi je n'en utilise jamais, ca donenrais :

Code:
{
$sql="INSERT INTO membres('id','login','pass','email') VALUES ('','.$login','.$pass','.$email')";
mysql_db_query ($serveur,$basename,$sql);
}
Journalisée

-=[FoLc@N]=-

Citation :
* Le futur appartient à ceux qui croient à la beauté de leurs rêves, je crois au miens, NewbieContest aura un bon futur.
* Il y'a seulement 10 categories de gens dans la vie : ceux qui comprennent le binaire, et les autres.
comtezero

Profil challenge

Classement : 2131/55019

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


Voir le profil WWW
« #3 le: 04 Août 2005 à 20:28:51 »

Citation
Warning: mysql_db_query(): A link to the server could not be established in /var/www/free.fr/2/b/sitet/inscriptions.php on line 18
Voila l'erreur j'ai essayé plein de possibilité , a l'origine il n'y avait pas
$exe=mysql_db_query ($serveur,$basename,$sql); vu que c'était zolie je l'ai rajouté , je vais tester ta proposition folcan et merci . C'est que j'ai eu tellement d'erreur que je sais plus ou donner de la tete sur ce script .

Edit : ca ne marche pas

Encore un Edit : ca marche mais sans le mysql_db_query .
Journalisée

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

http://www.masstek.org
Folcan

Profil challenge

Classement : 511/55019

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


Voir le profil
« #4 le: 05 Août 2005 à 13:04:08 »

Tu es sur que tes infos de connections de ton config.php sont bonnes ?? (notamement le $serveur)

Bon apparament je viens de lire que la fonction "mysql_db_query" ne dois plus etre utilisé car tres laregement depassé ! (effectivement je ne la connaissais meme pas)

Citation
Manuel officielle de php :

Cette fonction est décpréciée depuis PHP 4.0.6. N'utilisez pas cette fonction. Utilisez mysql_select_db() et mysql_query() à la place.

source : http://fr.php.net/mysql_db_query
Je te propose donc un remaniement de ton script :

Code:
<?
include ('http://site.free.fr/commun/config.php');

$login = strip_tags ( $login );
$pass = strip_tags ( $pass );
$email = strip_tags ( $email );


if(empty($login) OR empty($pass) OR empty($email))
{
echo'<a href="http://sitet.free.fr/inscriptions.htm" target="_blank">
Inscriptions</a>';
}

else
{
$db = mysql_connect($serveur,$login_sql, $pasword_sql);
mysql_select_db($basename,$db);
$sql="INSERT INTO membres[('id','login','pass','email')] VALUES [('','.$login','.$pass','.$email')]";
mysql_query($sql);
mysql_close();
}
?>
Code:
Aves ton config.php :

$serveur = 'ton serveur';
$login_sql = 'login sql';
$password_sql = 'ton password sql';
$basename = 'le nom de ta base';
Ya peut etre des erreur genre des ; ou quoi, j'ai ecris ca vite fais, tiens moi au courant
Journalisée

-=[FoLc@N]=-

Citation :
* Le futur appartient à ceux qui croient à la beauté de leurs rêves, je crois au miens, NewbieContest aura un bon futur.
* Il y'a seulement 10 categories de gens dans la vie : ceux qui comprennent le binaire, et les autres.
comtezero

Profil challenge

Classement : 2131/55019

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


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

comme je suis arrivé a faire marcher mon script je planchais sur celui de connexion mais j'ai quand meme essayé ce que tu as proposé mais ca n'a pas marché , est-ce nécessaire de mettre un query dans une requete mysql ? ou ca sert a rien ?
Journalisée

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

http://www.masstek.org
comtezero

Profil challenge

Classement : 2131/55019

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


Voir le profil WWW
« #6 le: 05 Août 2005 à 15:37:29 »

j'ai essayé ca aussi pour le script d'identification :

<?
//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 );

//je cherche dans la bdd les données correspondant
$sql = "SELECT * FROM `membres` WHERE login='.$login' AND pass='md5(.$pass)'";
$req = mysql_query($db, $basename ,$sql );
$data=mysql_fletch_array($req);

if ($data['pass'] != $pass)
{
echo 'Votre login ou mot de passe n&acute;est pas bon';
echo '<a href="http://site.free.fr/index.htm" >Re-éssayer</a>';
}
else
{
echo '$login $pass;
}
?>
mais ca ne marche pas si cette fois je ne met pas de mysql_query il accepte tout , si je le met y a un probleme au niveau du query tout comme pour mon script précédent ou je l'ai donc enlevé .
Journalisée

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

http://www.masstek.org
Perfect Slayer

Profil challenge

Classement : 3031/55019

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


Voir le profil WWW
« #7 le: 05 Août 2005 à 20:12:20 »

y a que 2 argument pour Mysql_Query()

le 1er : la requete
le 2nd : la ressource (autrement dit, la variable de connexion à la BDD SQL (qui n'est pas réellement une variable mais une ressource.. comme pour le traitement de fichier.. enfin bon..))
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 : 2131/55019

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


Voir le profil WWW
« #8 le: 06 Août 2005 à 16:49:47 »

j'ai pas tout compris Perfect Slayer .

Sinon Folcan je me suis inspiré de ce que tu as mis et apporté des modifications mais ca ne marche pas il me dit :

Code:
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /var/www/free.fr/2/b/zone2test/inscriptions.php on line 29

Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr/2/b/zone2test/inscriptions.php on line 32

Warning: mysql_close(): no MySQL-Link resource supplied in /var/www/free.fr/2/b/zone2test/inscriptions.php on line 33
Edit: je sais que je polue le forum avec mes codes mais j'ai peut-etre trouvé grace a vous et un peu de recherche je met le code

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

$login = strip_tags ( $login );
$pass = strip_tags ( $pass );
$email = strip_tags ( $email );

//test pour voir s'il n'y a pas un champ de vide
if(empty($login) OR empty($pass) OR empty($email))
{
echo 'Vous avez laissez un champ vide ';
echo'<a href="http://site.free.fr/inscriptions.htm" target="_blank">
Inscriptions</a>';
}

//test entre les 2 mots de passe pour qu'ils soient identiques
elseif ($pass!=$pass2)
{
echo 'vous avez fait une erreur en tapant votre mot de passe';
echo'<a href="http://site.free.fr/inscriptions.htm" >
Inscriptions</a>';
}

//insertion des données dans mysql
else
{
$db = mysql_connect ( $serveur, $user, $password);
@mysql_select_db($basename, $db);
$sql="INSERT INTO membres('id','login','pass','email')
VALUES ('','.$login',CRYPT_MD5=('.$pass'),'.$email')";
$result = @mysql_query ($sql);
@mysql_close();

echo'Félicitations vous etes maintenant inscris en tant que ';
echo'<a href="http://site.fr/index.htm" >
Membre</a>';
}
?>
Journalisée

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

http://www.masstek.org
comtezero

Profil challenge

Classement : 2131/55019

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


Voir le profil WWW
« #9 le: 06 Août 2005 à 21:10:25 »

un probleme lors de l'identification il reconnait pas le pass !
Journalisée

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

http://www.masstek.org
Perfect Slayer

Profil challenge

Classement : 3031/55019

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


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

essaye plutot avec ca :
Code:
$sql="INSERT INTO membres('id','login','pass','email')
VALUES ('','".$login."','".md5($pass)."','".$email."')";
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 : 2131/55019

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


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

merci de ton aide , pour l'instant je pense que je vais me concentrer a ma tache sans le md5 , comme ca si il y a une erreur ca vient pas de lui .
Journalisée

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

http://www.masstek.org
Perfect Slayer

Profil challenge

Classement : 3031/55019

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


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

J'te conceille de le faire maintenant parce que le jour ou tu devras modifier tous les pass de ta BDD pour les crypter en MD5.. Ca va être beau (surtout si tu débutes). et surtout, tu risques de devoir couper ton site le temps de la manip...
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 : 2131/55019

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


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

bon béh ok je fais faire le md5 si c'est plus facile pour aprés

Citation
et surtout, tu risques de devoir couper ton site le temps de la manip...
Il est toujours couper c'est pour m'apprendre
Journalisée

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

http://www.masstek.org
Perfect Slayer

Profil challenge

Classement : 3031/55019

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


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

Ah ok.. Bah ouais alors dans ce cas là, essayer sans. regarde si ca marche et passe avec !

P.S. dans ta bdd, il faut que tu puisses enregistré les 32 caractère du hash !!! Si jamais y a pas assez de place, l'enregistrement est tronqué et du coup, lors des comparaison, tous les pass seront refusés...
Journalisée

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