OVH Community, votre nouvel espace communautaire.

Problème de connexion MySql


Johnny
08/01/2008, 21h53
Merci beaucoup

Tout fonctionne à merveille !

Je continue de développer ceci... et j'vous tiens au courant et j'vous ferai un petit signe si je rencontre de nouveaux problèmes ^^

Abogil
06/01/2008, 22h04
As-tu essayé mysql_escape_string() => http://fr2.php.net/manual/fr/functio...ape-string.php

Ou bien addslashes() => http://fr2.php.net/manual/fr/function.addslashes.php

Johnny
06/01/2008, 19h53
Merci pour vos réponses...

Par contre, je ne comprends toujours pas comment traiter les champs où les personnes saisissent des apostrophes ou des trucs du genre, désolé :s

Pourtant, j'ai essayé de comprendre le lien que tu m'as filé ipernet mais pas encore de solution pour l'instant...

Je vois pas vraiment comment traiter ceci.

Merci
A bientôt.

Abogil
06/01/2008, 15h48
Citation Envoyé par Johnny
mysql_query($requete);

echo "Vos données ont été envoyées !";
Ajoute : mysql_error()

Code PHP:
mysql_query($requete);

echo 
"Vos données ont été envoyées ! - Erreur=.mysql_error(). " 
 \n"


Abogil
06/01/2008, 15h44
Citation Envoyé par Johnny
if ($connexion!=false)
{echo('Connexion établie.
');
}
else
{echo('La connexion a échoué.
');
}
Mets plutôt : $connexion === TRUE :
Code PHP:
if ($connexion === TRUE)
    {echo(
'Connexion établie.
'
);
    }
     else
     {echo(
'La connexion a échoué.
'
);
     } 

ipernet
06/01/2008, 15h31
Citation Envoyé par ipernet
1. Aucun traitement sur tes champs lors de l'insertion en base.

Jette un coup d'oeil ici et change en conséquence ta requete :

http://fr2.php.net/mysql_real_escape_string

Johnny
06/01/2008, 14h41
D'ailleurs... non, une question me reviens déjà... ! J'ai rarement été aussi lours je pense... désolé

Par exemple, dans mon adrese, j'ai rue d'Ypres... ou peu importe quel autre champ, dès que je met un ' , j'ai une erreur en retour...

Comment empecher ceci pour autoriser les ' ?

Merci

Johnny
06/01/2008, 14h10
Parfait !

Merci beaucoup pour ce tuto, il est vraiment très clair !
J'en ai jamais trouvé un aussi bien sur le net ! Celui là va me suffir je pense ! Merci beaucoup à vous 2 !



Je vous tiens au courant de mon futur avancement ^^

Merci encore

enycu
06/01/2008, 13h39
A la 3e étape tu oublies de mettre dans quel champ il faut mettre les données après "contact". Maintenant, je ne sais pas comment est créée ta base.
Je t'invite à lire cet excellent tutoriel bien illustré et de regarder la partie base de données. Tout y est décrit pour ton utilisation: http://www.siteduzero.com/tuto-3-4-0...-avec-php.html

Bon courage.

ipernet
06/01/2008, 13h37
Citation Envoyé par Johnny
edit : je viens de réussir à me connecter.. tout semble bien fonctionner. En fait... c'est parce que je faisais les tests en laissant les fichiers sur mon PC et là, je les ai tout simplement mis sur le ftp et plus aucun problème
http://justforme.ovh.org/contact.html
Citation Envoyé par ipernet
Ou alors tu peux écrire tes scripts depuis ton pc et tu les envois sur ton hébergement ovh à chaque fois pour les tester (tu utilseras alors la base de donnée ovh associée à ton hébergement)


Sinon

1. Aucun traitement sur tes champs lors de l'insertion en base.

Jette un coup d'oeil ici et change en conséquence ta requete :

http://fr2.php.net/mysql_real_escape_string

2. tu peux rajouter cela pour etre averti d'une éventuelle erreur dans l'exécution de la requete :

Code:
mysql_query($requete) or die(mysql_error());

Johnny
06/01/2008, 12h55
Désolé enycu... mais je ne comprends vraiment pas ce que je fois faire concrètement pour résoudre ce problème .. :s Je dois aller modifier quelques chose dans ma base de données ?

Sais-tu ce que je pourrais faire ipernet...?

Sinon, j'ai remarqué ça à l'instant :
Serveur: localhost - Base de données: justforme - Table: contact "InnoDB free: 0 kB"
C'est normal d'avoir 0kb en libre ? ... Enfin bon, ça n'a rien à voir j'imagine de toute façon... mais bon, je cherche par ci par là :s


edit : je viens de réussir à me connecter.. tout semble bien fonctionner. En fait... c'est parce que je faisais les tests en laissant les fichiers sur mon PC et là, je les ai tout simplement mis sur le ftp et plus aucun problème
http://justforme.ovh.org/contact.html

Seul problème maintenant.. quand je remplis mon formulaire.. j'envoi les données, tout se passe bien apparemment, mais je ne retrouve rien dans la base de données... qui me dit qu'il n'y a aucun enregistrement apparement :s

$Identifiant=$_POST['Identifiant'];
$Nom=$_POST['Nom'];
$Prenom=$_POST['Prenom'];
$Adresse=$_POST['Adresse'];
$Code_postal=$_POST['Code_postal'];
$Ville=$_POST['Ville'];
$Telephone=$_POST['Telephone'];
$Mobile=$_POST['Mobile'];
$Commentaires=$_POST['Commentaires'];

//1ère étape : On se connecte à mysql
$connexion = mysql_connect("mysql.demo1g.ovh.org","justforme"," monmotdepasse");

if ($connexion!=false)
{echo('Connexion établie.
');
}
else
{echo('La connexion a échoué.
');
}

//2ème étape : On se connecte à une base de données
$bdd = mysql_select_db('justforme', $connexion);

if ($bdd!=false)
{echo('Connexion à la base de données réussie.
');
}
else
{echo('Impossible de sélectionner la base de données !.
');
}

//3ème étape : On créer la requête SQL, pour ensuite l'envoyer
$requete = "insert into contact values('','$Identifiant','$Nom','$Prenom','$Adress e','$Code_postal','$Ville', '$Telephone', '$Mobile', '$Commentaires')";
mysql_query($requete);

echo "Vos données ont été envoyées !";

// fermeture de la connexion vers Mysql
mysql_close();

ipernet
06/01/2008, 12h43
Citation Envoyé par enycu
Je me répète, l'erreur vient que ce chemin de fichier est écrit dans ta base de données. Il faut donc remplacer cette entrée et mettre un chemin de fichier relatif.


Je comprend pas pourquoi tu dis ça, ça ne veut rien dire. L'erreur c'est une connexion au serveur SQL ovh à partir d'un script local, ce qui est normal.

enycu
06/01/2008, 12h08
Je me répète, l'erreur vient que ce chemin de fichier est écrit dans ta base de données. Il faut donc remplacer cette entrée et mettre un chemin de fichier relatif.

Johnny
06/01/2008, 10h51
Ah ok.

Ben là... je connaissais qu'easy php jusqu'à présent donc... j'avais juste installé ceci

Ceci m'aide en quoi à résoudre mon problème...? L'erreur peut venir de là ?

ipernet
05/01/2008, 22h09
Ce script :

Code:
c:\documents and settings\compaq_propriétaire\bureau\recup_info.php
est actuellement présent sur ton pc. J'en déduis que tu développes depuis ton pc en local, donc que tu as installés un easyPHP ou un WAMP ou apache/php à la main ?

Dans les deux premiers cas (easyPHP, WAMP), tu as déjà MySQL installé que tu peux utiliser via PhpMyAdmin pour créer une base locale (la même que tu as sur OVH)

Ou alors tu peux écrire tes scripts depuis ton pc et tu les envois sur ton hébergement ovh à chaque fois pour les tester (tu utilseras alors la base de donnée ovh associée à ton hébergement)

Johnny
05/01/2008, 22h00
Merci ipernet pour les infos...

Aurais-tu un exemple de base locale que je pourrais installer sur mon PC ? (je me documenterai ensuite sur cette base locale pour avancer... mais là.. je reste un peu perdu encore)

Merci.

ipernet
05/01/2008, 21h41
A mon avis (c'est quasiment sûr d'ailleurs) le serveur sql demo1g n'est pas accessible ailleurs que depuis le server mutu demo1g, tu ne peux donc pas t'y connecter depuis chez toi.

Il te faut travailler avec une base locale (installée sur ton pc)

Citation Envoyé par enycu
Le message d'erreur est très explicite. ... Il veut accéder à un fichier de ton ordinateur
Il a pas l'air si explicite

Johnny
05/01/2008, 21h34
Euhhh... je n'ai pas très bien comprit votre dernier message...

C'est à dire ? Il me faudra trouver quoi ? Corriger quoi...?

J'avoue que je ne sais pas trop à quoi toucher :s

enycu
05/01/2008, 18h50
Ou alors le chemin absolu de ci fichier est inscrit dans la base SQL. Il faudra donc la trouver et la corriger via phpMyadmin.

Johnny
05/01/2008, 16h28
Oui, tout à fait...

Mais de toute façon, ce fichier est bien présent à ce chemin là, j'ai bien vérifié

Mais par contre.. j'ai bien utilisé un chemin de fichier relatif dans mon formulaire car j'ai mis :


et ensuite... tout le forumulaire mais ça, il n'y a pas de problèmes...

Merci d'avance de votre aide

enycu
04/01/2008, 21h21
Citation Envoyé par Johnny
Warning: mysql_connect(): Can't connect to MySQL server on 'mysql.demo1g.ovh.org' (10061) in c:\documents and settings\compaq_propriétaire\bureau\recup_info.php on line 20
Le message d'erreur est très explicite. Il veut accéder à un fichier de ton ordinateur "c:\documents and settings\compaq_propriétaire\bureau\recup_info.php "
Quand tu fais du développement sur ton ordinateur, mets des chemins de fichiers relatifs.

Johnny
04/01/2008, 19h35
Bonjour à tous !

Désolé de revenir vous embêter de nouveau... mais j'ai encore un petit problème, avec ma base Mysql cette fois ci..

En effet, quand je tente d'enregistrer mes données, voilà le message que j'obtiens :

Warning: mysql_connect(): Can't connect to MySQL server on 'mysql.demo1g.ovh.org' (10061) in c:\documents and settings\compaq_propriétaire\bureau\recup_info.php on line 20
La connexion a échoué.

Et voici mon code... :
$connexion = mysql_connect("mysql.demo1g.ovh.org","justforme"," monmotdepasse");

if ($connexion!=false)
{echo('Connexion établie.
');
}
else
{echo('La connexion a échoué.
');
}

J'ai essayé de rajouter mysql close...... mais c'est excatement pareil.. Je comprends pas le problème :s