Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/06/2006, à 21:30

BarTo28

[PhP/Mysql] Tout semble marcher mais non...

Salut a tous.

Aprés 24 heures de recherche, j'en appel à l'aide la communauté.
Mon probleme :

Jai installé Ubuntu DApper + Apache 2 + Mysql server + Php 5.
Au début javais installé Xampp tout marché impecable. Seulement il fallait que jinstalle tout les élements séparement.

(c'est un projet pour mes etudes alors j'utilise pas un kit tout pret a l'emploi sinon jai rien a expliquer...)

Donc j'ai tout reinstallé et tout semble marcher. PhpMyAdmin fonctionne, je crée une base, des tables, sa marche. Php 5 semble lui aussi fonctionné, jai fait une page de test.php il maffiche bien le status de php5 avec meme un bloc d'infos sur Mysql.

La où sa coince, j'ai devellopé quelques pages de php trés sommaire. Les pages en question marchaient trés bien sous Xampp, elles marchent actuellement ici : http://bartsworld.free.fr/
Seulement sur mon serveur, l'affichage des requete marche (Select) mais dés lors que le code php permet de faire des modif sur la Db (alter insert) sa ne fonctionne pas.

Je n'ai pas de message derreur, la page php d'action censé agir me renvoie par exemple "le cd a bien été ajouté. (alors que en théorie elle devrait afficher "le cd 4 a bien été ajouté")

Bref je me demande d'ou peu venir cette difference. Tout marche nickel sur le compte free mais pas en local sur mon propre serveur...
Merci d'avoir pris le temps de lire mon pavé.

Hors ligne

#2 Le 10/06/2006, à 21:34

Antiseptique

Re : [PhP/Mysql] Tout semble marcher mais non...

Salut,

T'as pas de message d'erreur dans un fichier de log?

Vas voir dans /var/log/mysql.err par exemple...

Dernière modification par Antiseptique (Le 10/06/2006, à 21:40)


Comme dirait l'autre :
"Se tromper est humain ; Vraiment foutre la merde necessite le mot de
passe de root."

Hors ligne

#3 Le 10/06/2006, à 21:42

BarTo28

Re : [PhP/Mysql] Tout semble marcher mais non...

Malheuresement le fichier est vide.:/
Merci de ta réponse

Hors ligne

#4 Le 10/06/2006, à 22:10

BarTo28

Re : [PhP/Mysql] Tout semble marcher mais non...

Ah j'oubliais un détail, jai installé un forum PhpBB2 sur mon serveur pour voir si sa fonctionnait. Et surprise ouai cela fonctionne. Bizarre car les pages php du forum vont attaquer la base et sa marche parfaitement.

Hors ligne

#5 Le 10/06/2006, à 22:21

M. DECLERCQ

Re : [PhP/Mysql] Tout semble marcher mais non...

BarTo28 a écrit :

Ah j'oubliais un détail, jai installé un forum PhpBB2 sur mon serveur pour voir si sa fonctionnait. Et surprise ouai cela fonctionne. Bizarre car les pages php du forum vont attaquer la base et sa marche parfaitement.

Bonsoir ;

Juste une question conne ==> Tes scripts php ont les droits necessaires pour accéder à la base de donnée et la modifier ?


Bien cordialement ;

Monsieur Laurent DECLERCQ

Dernière modification par M. DECLERCQ (Le 10/06/2006, à 22:24)


Cordialement ;

Hors ligne

#6 Le 10/06/2006, à 22:25

BarTo28

Re : [PhP/Mysql] Tout semble marcher mais non...

Euh désole comment on leur donnes les droits ?
Parce que les requete select marche parfaitement.
Et sur le compte free tout fonctionne avec les meme pages...
Merci pour ta réponse Laurent

Hors ligne

#7 Le 10/06/2006, à 22:33

BarTo28

Re : [PhP/Mysql] Tout semble marcher mais non...

Par exemple la page saisie.php ou lon saisie un CD :

<fieldset><legend>Enregistrement des CD</legend>
<form method="post" action="action-saisie-cd.php">
  Nom de l'artiste: <input type="text" name="Artiste" /><br/>
  Nom de l'album: <input type="text" name="Album" /><br />
  <input type="submit" value="Envoyer" />
</form>
</fieldset>

Renvoie sur la page action-saisie-cd.php :

<?
require("conf.php");
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b>"; exit;}

if($Album==""){echo "Le champ \"Album\" est vide<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if($Artiste==""){echo "Le champ \"Artiste\" est vide<br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}

$requete=mysql_db_query($sql_bdd,"insert into CD (CD_ALB, CD_AUT) values (\"$Album\",\"$Artiste\")",$db_link) or die(mysql_error());

echo "L'album $Album de $Artiste a bien été ajouté à la base<br><a href=\"javascript:window.history.back()\">Retour</a>";

?>

La fonction marche chez free mais en local sur mon linux rien a faire je me retrouve avec " Le champ Album est vide". Jai d'abord cru que cela était du au 2 =  ici  :    f($Album=="") mais avec un seul, il me retourne :

"L'album de a bien été ajouté à la base"

Au lieu de "L'album (nom de lalbum saisie) de (nom de lartiste saisie) a bien été ajouté à la base"

Hors ligne

#8 Le 11/06/2006, à 00:22

M. DECLERCQ

Re : [PhP/Mysql] Tout semble marcher mais non...

BarTo28 a écrit :
<?
require("conf.php");
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b>"; exit;}

if($Album==""){echo "Le champ \"Album\" est vide<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if($Artiste==""){echo "Le champ \"Artiste\" est vide<br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}

$requete=mysql_db_query($sql_bdd,"insert into CD (CD_ALB, CD_AUT) values (\"$Album\",\"$Artiste\")",$db_link) or die(mysql_error());

echo "L'album $Album de $Artiste a bien été ajouté à la base<br><a href=\"javascript:window.history.back()\">Retour</a>";

?>

Bonsoir ;

Ton code parle de lui même.

A la première ligne ci-dessus, tu vois bien que le fichier "conf.php" est requis.

Dans ce fichier, tu dois trouver  :

le nom de ton serveur : localhost ;
* rentrer le nom de l'utilisateur mysql : root ;
* Rentrer le mot de passe de l'utilisateur root .

Ps : Ceci peut différer selon la façon dont tu as configuré ton serveur. Par défaut, c'est comme ça.

Sinon, as tu défini un mot de passe pour l'utilisateur root ?

D'ou proviennent les scripts.php ? c'est toi qui les as créé ? Car pour que cela fonctionne chez free, tu as sûrement du modifier le fichier "conf.php".

Notamment, tu as du rentrer le nom du serveur sql : sql.free.fr
Le nom de ton compte (ton pseudo free)
Ton mot de passe utilisateur (free).

Reporte la copie du fichier "conf.php" ici afin que je puisse analyser la chose.

Bien cordialement ;

Monsieur Laurent DECLERCQ

Dernière modification par M. DECLERCQ (Le 11/06/2006, à 00:35)


Cordialement ;

Hors ligne

#9 Le 11/06/2006, à 02:01

BarTo28

Re : [PhP/Mysql] Tout semble marcher mais non...

Le fichier conf est bien réglé ne t'inquiete pas :

<?
$sql_serveur="localhost";
$sql_user="root";
$sql_passwd="azerty";
$sql_bdd="librairie";
?>

Dailleur jai des pages avec des SELECT qui affiche bien le contenu des tables, donc ce n'est pas sa la source du probleme.(je précice que cela marché sur mon ancienne install xampp, et que jaccede a phpmyadmin avec ces informations)
Je pense que c'est un probleme de configuration au niveau serveur.
Car jai fait dautre test avec des requetes trés simple : genre un bouton qui exécute sa :

Edit :

Bon alors jai une grosse piste, jai crée un fichier php tout simple :

<?
require("conf.php");
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);

$requete=mysql_db_query($sql_bdd,"UPDATE `CD` SET `ABO_NUM`= '4' WHERE `CD_NUM`='1'",$db_link) or die(mysql_error());

echo "hop";
?>

Ce code fonctionne, quand je charge cette page lentré Abo_num du cd_num = 1 est bien changé en 4. Il semblerait que ce qui ne fonctionne pas c'est lechange du parametre $num_cd de la page sur la quel on clique sur le bouton vers la page qui execute l'action.
Car toutes les pages contenant une variable qui arrive d'une page on le meme probleme. Et si je remplace cette variable par un entier la requete fonctionne.

En plus c'est coherent avec les resultat du dessus ou les formulaire me renvoie "champ vide" ce qui confirme bien que parametre saisie ne sont pas transmis aux pages qui éxecutent les requetes.

D'ou cela peu t il venir ?

Dernière modification par BarTo28 (Le 11/06/2006, à 02:35)

Hors ligne

#10 Le 11/06/2006, à 13:35

BarTo28

Re : [PhP/Mysql] Tout semble marcher mais non...

Personne n'a une idée s'il vous plait ?
C'est assez urgent, je passe le bts dans 3 jour, et c'est un de mes projets à presenter...

Hors ligne

#11 Le 11/06/2006, à 17:33

M. DECLERCQ

Re : [PhP/Mysql] Tout semble marcher mais non...

Bonjour :

En ce qui me concerne, je ne vois pas comment t'aider. A mon avis, tu devrais poser ta question directement dans un forum qui traite de php/mysql.

Bien cordialement ;

Monsieur Laurent DECLERCQ


Cordialement ;

Hors ligne

#12 Le 11/06/2006, à 22:25

BarTo28

Re : [PhP/Mysql] Tout semble marcher mais non...

Ok merci.
Je suis passé sur un projet plus simple. Avec juste de la consultation de page via Php.
J'ai plus de temps a perdre je passe mon oral mercredi ^^
Merci a tous ceux qui on lu le topic.:P
+++

Hors ligne