Probleme de mise en ligne d'un site - PHP - Programmation
Marsh Posté le 19-05-2008 à 17:11:05
voila mon code que j'utilise sous ifrance mais bon c'est pareil
$result = mysql_connect($dbhost,$dbuser ,$dbpasswd)or die("Erreur de connection" );
mysql_select_db($dbname) or die("erreur connection à la base" );
et tu sur que tu y met les bonnes informations, dans tes paramètres
Marsh Posté le 19-05-2008 à 17:13:38
Tu met l'adresse du serveur en entier à la place de localhost ?
Marsh Posté le 19-05-2008 à 17:18:19
euh oui, mes parametres c'est:
Adresse du serveur SQL: imysql04
Nom d'utilisateur (user): i5547640
Mot de passe: *******
Nom de la base de données: i5547640
Marsh Posté le 19-05-2008 à 17:33:30
Non il te faut l'adresse entière du serveur SQL, donc imysql04.quelquechose.truc
Marsh Posté le 19-05-2008 à 17:37:24
Oui enfin le message d'erreur il dit surtout que son php ne connait pas mysql_connect, hein
Marsh Posté le 19-05-2008 à 17:47:05
skeye a écrit : Oui enfin le message d'erreur il dit surtout que son php ne connait pas mysql_connect, hein |
Il dit plutôt que php ne connait pas la fonction phpmysql_connect() (et à mon avis il a raison....)
vinc'03 : Met un espace en php et mysql_connect() ....
Marsh Posté le 19-05-2008 à 17:54:13
entre <?php et mysql_connect() il y a deja un espace meme un retour à la ligne en fait..
Le truc que je ne comprends pas, c'est que ca marche tip top en localhost..
si vous voulez, je peux editer mon code..
Marsh Posté le 19-05-2008 à 18:05:49
il doit y avoir un soucis d'espace/retour chariot quelque part...
tu es sur de pas l'avoir viré en changeant tes paramètres?
Marsh Posté le 19-05-2008 à 18:11:35
mon code d'origine:
<?php
mysql_connect("localhost", "root", "root" );
mysql_select_db("test" );
// On ajoute une entrée avec mysql_query
mysql_query("INSERT INTO Tableentreprise VALUES('', '".$_POST[Nom]."', '".$_POST[Siret]."', '".$_POST[Siege]."', '".$_POST[CP]."', '".$_POST[Activite]."', '".$_POST[FormeJuridique]."', '".$_POST[Nationalite]."', '".$_POST[Capital]."', '".$_POST[Creation]."', '".$_POST[Gerant]."', '".$_POST[Telephone]."', '".$_POST[Mail]."')" );
mysql_close();
?>
celui qui pose probleme:
<?php
mysql_connect("imysql04.ifrance.com", "i5547640", "**********" );
mysql_select_db("i5547640" );
// On ajoute une entrée avec mysql_query
mysql_query("INSERT INTO Tableentreprise VALUES('', '".$_POST[Nom]."', '".$_POST[Siret]."', '".$_POST[Siege]."', '".$_POST[CP]."', '".$_POST[Activite]."', '".$_POST[FormeJuridique]."', '".$_POST[Nationalite]."', '".$_POST[Capital]."', '".$_POST[Creation]."', '".$_POST[Gerant]."', '".$_POST[Telephone]."', '".$_POST[Mail]."')" );
mysql_close();
?>
Marsh Posté le 19-05-2008 à 18:14:29
passe une ou deux lignes entre <?php et mysql_connect pour essayer ...
Marsh Posté le 19-05-2008 à 18:26:36
effectivement,il y avait un probleme..donc c'est bon je n'ai plus le message d'erreur Mais, (et oui un petit mais) , il n'enregistre rien dans la table...une idée?
En tout cas, merci bien du coup de main deja
Marsh Posté le 19-05-2008 à 19:16:45
Bon en fait j'ai regardé, c'est le bor*** partout où il y a des connexions avec ma base de données...
Peut etre j'ai oublié un truc?
J'ai uploadé mes fichiers
j'ai exporté ma bdd de localhost puis importé sur ma bdd en ligne ifrance
Et...ca ne marche pas..A chaque fois j'ai une erreur qui correspond à rien j'ai l'impression (genre une accolade qui n'est pas attendue...)
Donc y a t il qqch de partiiculier à installer ou quoi?
Merci
Marsh Posté le 19-05-2008 à 19:34:58
est ce que ca peut venir d'une différence de version? en localhost c 5.0.37, et sur ifrance c'est en 5.0.54?
Marsh Posté le 19-05-2008 à 21:04:02
Fous un error_reporting(E_ALL) en haut de ton script. Un INSERT insère forcément quelque chose s'il ne génère pas d'erreur.
Marsh Posté le 20-05-2008 à 07:44:33
ou alors tu ne testes jamais le retour de tes mysql_query, et donc tu ne vois pas que ça échoue à chaque fois.
Marsh Posté le 20-05-2008 à 08:16:05
Ah oui mairde, c'est les mysql_fetch qui balancent des warning quand le mysql_query s'est vautré, pas mysql_query lui-même.
Au fait rien à voir mais faudra t'occuper des grosses failles de sécurité de ta requête, aussi...
Marsh Posté le 20-05-2008 à 10:15:50
hello merci de l'analyse mais en gros, que faut-il que je fasse pour corriger tout ça? merci
Marsh Posté le 20-05-2008 à 10:20:31
Récupérer le résultat de mysql_query? Regarder quelles sont les erreurs indiquées par mysql_error? Ne pas insérer directement des données saisies par l'utilisateur? Mettre des quotes quand tu utilises des chaines de caractères?
Marsh Posté le 20-05-2008 à 10:21:41
Faudrait encore savoir d'où ca vient....
Comme l'a dit skeye : place error_reporting(E_ALL) au démarrage de ton script (juste aprés <?php) et aides-toi des erreurs pour corriger ton script....
Marsh Posté le 20-05-2008 à 10:32:52
Parse error: syntax error, unexpected T_STRING in /www/sites/1/ifrance.com/e/m/emploiinsa/site/recupinfo.php on line 11
et line 11 j'ai juste:
<p> vous etes bien eregistres</p>...
Marsh Posté le 20-05-2008 à 10:34:03
en plein milieu de code php et sans echo, je parie.
Marsh Posté le 20-05-2008 à 10:38:48
je l'ai mis sans echo et apres ma commande insert, il me sort rien..
Marsh Posté le 20-05-2008 à 10:40:58
oui mais non, montre vraiment ton code, là on s'en sortira pas sinon, je comprends même pas ce que tu racontes.
Marsh Posté le 20-05-2008 à 10:43:54
<h3>Felicitations, vous etes bien enregistres!</h3>
<h4><img src="http://tbn0.google.com/images?q=tbn:r9YXohzB8IpVPM:http://www.signaletique.biz/boutique/images_produits/vI0001_2.gif" /><span> Attention</span> : Dorenavant, votre identifiant sera votre nom, et votre mot de passe votre prenom.</h4>
<?php
mysql_connect("imysql04.ifrance.com", "i5547640", "*******" );
mysql_select_db("i5547640" );
// On ajoute une entrée avec mysql_query
mysql_query("INSERT INTO Tablechercheurs VALUES('', '".$_POST[Nom]."', '".$_POST[Prenom]."', '".$_POST[Adresse]."', '".$_POST[CP]."', '".$_POST[Datedenaissance]."', '".$_POST[AucunDiplome]."', '".$_POST[Brevetdescolleges]."', '".$_POST[BEP]."', '".$_POST[CAP]."', '".$_POST[BTS]."', '".$_POST[Baccalaureatgeneral]."', '".$_POST[Baccalaureattechnologique]."', '".$_POST[choix0]."', '".$_POST[choix1]."', '".$_POST[choix2]."', '".$_POST[Diplomedingenieur]."', '".$_POST[choix3]."', '".$_POST[choix4]."', '".$_POST[choix5]."', '".$_POST[mail]."')" );
error_reporting(E_ALL)
mysql_close()
?>
Marsh Posté le 20-05-2008 à 10:45:00
Si tu actives le reporting d'erreurs APRES la commande qui génère l'erreur tu risques pas d'avoir grand chose. Et les points-virgule à la fin des commandes c'est pas pour faire joli.
Marsh Posté le 20-05-2008 à 10:47:59
tu obtiens quoi quand tu fais ça? pas de message, rien? Et le résultat de mysql_query pourquoi tu le récupères pas? Et pourquoi tu testes pas mysql_error() quand le mysql_query() te retourne un code d'erreur?
Marsh Posté le 20-05-2008 à 10:49:04
je mets où mysql_error?jsuis un debutant du mysql en fiat..
Marsh Posté le 20-05-2008 à 10:50:22
Alors lis la doc et/ou des tutos, on va pas te tenir la main pour faire tout le script...
Marsh Posté le 20-05-2008 à 10:51:33
quand je fais ca ca m'affiche bien la page, aucun message d'erreur..mais ca insere rien
Marsh Posté le 20-05-2008 à 10:57:12
Alors essaye ce code pour voir :
Code :
|
Marsh Posté le 20-05-2008 à 11:06:29
voila donc ca me retourne:
Parse error: syntax error, unexpected T_STRING in /www/sites/1/ifrance.com/e/m/emploiinsa/site/recupinfo.php on line 7
@skeye:Désolé jsuis pas un pro, je suis pas en ecole d'informatique l'info c'est juste un module pour moi donc voila..j'ai lu des tutos sur php sur mysql mais comme tout marchait, jme suis pas attardé sur les trucs d'erreurs..
Marsh Posté le 20-05-2008 à 11:08:29
c'est un concours à celui qui fera les choses les moins logiques d'abord?
mysql_query($sql) or die(mysql_error()); c'est vraiment trop compliqué comme test pour voir ce qui se passe?
Marsh Posté le 20-05-2008 à 11:09:14
vinc'03 a écrit : voila donc ca me retourne: |
Il te manque un point virgule quelque part avant.
Marsh Posté le 20-05-2008 à 11:16:20
maintenant j'ai pein d'ereur, chque fois la meme pour chaque colonne de ma table:
Notice: Use of undefined constant Nom - assumed 'Nom' in /www/sites/1/ifrance.com/e/m/emploiinsa/site/recupinfo.php on line 7
et a la fin:
Notice: Use of undefined constant mail - assumed 'mail' in /www/sites/1/ifrance.com/e/m/emploiinsa/site/recupinfo.php on line 7
INSERT INTO Tablechercheurs VALUES('', '', '', '','', '', '', '', '', '', '', '','', 'non', 'non', 'non','', 'non', 'oui', 'inferieure a 1 an', '')
Marsh Posté le 20-05-2008 à 11:16:38
skeye a écrit : |
oups, aprés error_reporting(E_ALL);
Marsh Posté le 19-05-2008 à 16:45:02
Bonjour à tous, j'ai écrit recemment un site en php, pour mon module d'informatique.
Donc jusqu'à maintenant j'étais en localhost avec MAMP et Smultron.
Je decide enfin de le mettre en ligne sur ifrance (hebergement gratuit). Le site fonctionne, mais je n'arrive pas à lier la base de données: il me sort:
Fatal error: Call to undefined function phpmysql_connect() in /www/sites/1/ifrance.com/e/m/emploiinsa/site/infoentreprise.php on line 5
Or j'ai déja changé les parametres:
avant j'avais
mysql_connect("localhost", "root", "root" );
mysql_select_db("test" );
et j'ai remplacé par ce que l'on ma dit, soit
mysql_connect("imysql04", "user", "motdepasse" );
mysql_select_db("bdd" );
//user et mot de passe m'ont été donnés par ifrance, tout comme le nom de la base de donnée et le nom du serveur imysql04
Donc ma question est: ou est l'erreur???
Merci d'avance de vos reponses
Vinc