script qui ne marche pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : script qui ne marche pas

par polo » 13 août 2006, 19:17

Voila j'ai corrigé ton code et je l'ai testé sous easyphp
C'était bien ta requête qui avait un problème:
Dans on While tu avais un mysql_fetch_rows, alors qu'il fait un mysql_fetch_array!

Je vais donc te conseiller de faire un tour sur les tuto de phpfrance
Clique ici
Ainsi que les tuto du site du zero
Clique ici

Car je suis allez faire un tour sur le liens que tu nous à donné, et je trouve sa assez confus comme truc :D

Donc voici ton code corrigé:
<HTML>
<HEAD>
<META NAME="GENERATOR"Content="Microsoft Visual Studio 6.0">
<TITLE>EXERCICE 13_p1_odbc:Passage de paramètres pour un recordset</TITLE>
</HEAD>
<H1>Afficher toutes les commandes pour le client sélectionné</H1>
<BODY>
<?php

//crée une connexion au lien ODBC"commandes"
$serveur = "localhost";
$utilisateur = "root";
$motDePasse = "";
$base = "base_test";
// code ci-dessous corrigé
mysql_connect("$serveur","$utilisateur","$motDePasse")
or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db($base)
or die("Base de données non trouvée.");

//paramétrage de la requete //pour les requêtes sql il est mieux de mettre les ordres en majuscules
$req_client="SELECT code_client,nom FROM clients ORDER BY nom";
//envoie le résultat de la requete dans le recordset

$result=mysql_query($req_client);
?>

<FORM method="post">
  <P>Liste des clients<BR>
    <BR>
    <SELECT NAME ="1st_clients">
      <?php

//pour chaque ligne du recordset, on crée une option dans la liste
while($donnees = mysql_fetch_array($result))
{
$code_client = $donnees['code_client'];
$nom = $donnees['nom'];
//pour chaque ligne, crée une option à la liste (en HTML) et renseigne la valeur à stocker
//(propriété value) ainsi que la valeur à afficher (en PHP)

?>
      <OPTION VALUE="<?php echo "$code_client"; ?>"><?php echo"$nom";?></OPTION>
      <?php
}
mysql_close();
?>
    </SELECT>

<INPUT TYPE="submit" name="bt_submit" value="soumettre">
</P>
</FORM>
</BODY>
</HTML>
Voila en espérant t'avoir aidé :D

par basdom » 13 août 2006, 17:00

bonjour

j'ai corrigé le code et vérifié ma base de données

cette fois je n ai plus le bouton soumettre
de plus ma liste déroulante affiche le code_client le meme le premier une bonne dizaine de fois

je n y comprend plus rien

je remet le lien du tuto duquel j 'essaie de m inspirer

http://www.enitab.fr/ressource_pedago/s ... efault.asp

rubrique php exercice avec accès a une base de données page 11(en pdf)

merci de m aider

basdom

par polo » 13 août 2006, 15:37

Oui sa je savais (pour le BBcode), mais je croyais qu'il avait fait [url]http://www.enitab.fr/ressource_pedago/s ... /php/Enonc[ /url ]és_exo_php_Bases_de_données.pdf

D'ailleurs c'est plus pratique de faire ses lien sous cette forme: [url=http://lurl_voulu]Cliquer ici[ /url] a mon avis :D

Par contre je ne savais pas que le BBcode de phpbb était allergique au accents!

par zeus » 13 août 2006, 13:19

Il n'a rien fait pour afficher le lien, c'est le BBcode qui s'en est occupé.

Mais comme il y a un accent dans l'url .. :roll:

Il faut savoir que c'est une très mauvaise idée de mettre des accents dans tout ce qui est url, nom de fichier, ...

par polo » 13 août 2006, 12:58

Bonjour,
ton lien, ne s'affiche pas en entier, tu t'est loupé quand tu a fait le lien, sinon qu'est qui ne marche pas le bouton submit ne s'affiche pas, tu a un message d'erreur! soit un peut plus clair, ce n'est pas en disant ça ne marche pas que ça nous aidera, pour te faire avancer :D

par basdom » 13 août 2006, 11:46

bonjour

ca ne marche toujours pas

quelqu un pourrait il me donner un tuto ou un code

le but est d'apres une liste déroulante choisir un client pour afficher dans la meme page la liste de ses commandes

ex: http://www.enitab.fr/ressource_pedago/s ... onnées.pdf

page 11

le code qui est expliqué dans ce tutoriel ne marchant pas

merci

basdom

par polo » 12 août 2006, 10:41

Bonjour après relecture,j'ai repéré ecore une erreur sur le bouton submit:
</SELECT>

<INPUT TYPE="submit"name=bt_submitvalue="soumettre">
</P>
</FORM>
</BODY>
</HTML>
Corrigé:
</SELECT>

<INPUT TYPE="submit" name="bt_submit" value="soumettre">
</P>
</FORM>
</BODY>
</HTML>
Voila je pense que ton bouton s'affichera maintenant :D
je continue a chercher pour la requêtes sql, si tu pourrais faire un screenshot pour nous montrer ce que ce la fait, ça pourrais nous aider!

par basdom » 11 août 2006, 21:46

bonsoir

merci de ta réponse polo

j ai corrigé le code et vérifié ma base de données

cette fois je n ai plus le bouton soumettre
de plus ma liste déroulante affiche le code_client le meme le premier une bonne dizaine de fois

je n y comprend plus rien

merci de m aider

basdom

par polo » 11 août 2006, 17:45

Bonjour,
déjà tu fait des bêtise dans ton code tu créé des variables qui ne te servent pas: comme $host, etc.. vu que tu rentre à les main:
 mysql_connect("localhost","root","") 

dans la requêtes sql donc le code juste serait:
<HTML>
<HEAD>
<META NAME="GENERATOR"Content="Microsoft Visual Studio 6.0">
<TITLE>EXERCICE 13_p1_odbc:Passage de paramètres pour un recordset</TITLE>
</HEAD>
<H1>Afficher toutes les commandes pour le client sélectionné</H1>
<BODY>

<?php

//crée une connexion au lien ODBC"commandes"
$serveur = "localhost";
$utilisateur = "root";
$motDePasse = "";
$base = "base_test";
// code ci-dessous corrigé
mysql_connect("$server","$utilisateur","$motDePasse")
or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db($base)
or die("Base de données non trouvée.");



//paramétrage de la requete //pour les requêtes sql il est mieux de mettre les ordres en majuscules
$req_client="SELECT code_client,nom FROM clients ORDER BY nom";
//envoie le résultat de la requete dans le recordset

$result=mysql_query($req_client);
?>
jusque ici le code a l'air bon
ensuite:
je ne suis pas sur que cela soit très juste:
//pour chaque ligne du recordset, on crée une option dans la liste
while(mysql_fetch_row($result)==TRUE)
moi je mettrais plutôt comme ceci:
<FORM action=ex13_p2_odbc.php"method=POST>
<P>Liste des clients<BR><BR>
<SELECT NAME ="1st_clients">
<?php

//pour chaque ligne du recordset, on crée une option dans la liste
while(mysql_fetch_row($result))
{
//pour chaque ligne, crée une option à la liste (en HTML) et renseigne la valeur à stocker
//(propriété value) ainsi que la valeur à afficher (en PHP)

?>
<OPTION VALUE="<?php echo (mysql_result($result,"code_client"));?> ">
<?php echo(mysql_result($result,"nom"));?></OPTION>
<?php
}
//libération de la mémoire
mysql_free_result($result);
// tu a oublier de refermmer la base de donnée
mysql_close();
?>
</SELECT>

<INPUT TYPE="submit"name=bt_submitvalue="soumettre">
</P>
</FORM>
</BODY>
</HTML>
Ensuite pour tes problèmes d'affichage il faut voir si ta base de donnée est bien créée et que le nom de tes champs sont correct!
tu peut aussi essayer de faire un echo et afficher les resultat de ta requête.

En espérant t'avoir aider :D

par ouckileou » 11 août 2006, 17:33

Rajoute les balises
 autour de ton code et va lire ce sujet ensuite :
[url=http://www.phpfrance.com/forums/voir_sujet-19378.php]PHP+SQL : Etapes à suivre pour résoudre les problèmes[/url]

par graphistnet » 11 août 2006, 17:33

Rajoute l'espace apres name="bt_submit" dans le tag de ton bouton.
Ta base de données est-elle bien remplie?

script qui ne marche pas

par basdom » 11 août 2006, 17:29

bonsoir

je suis débutant et j essaie d apprendre avec des exemples que j ai trouvé sur un site

j ai un probleme

voici mon code :
<HTML>
<HEAD>
<META NAME="GENERATOR"Content="Microsoft Visual Studio 6.0">
<TITLE>EXERCICE 13_p1_odbc:Passage de paramètres pour un recordset</TITLE>
</HEAD>
<H1>Afficher toutes les commandes pour le client sélectionné</H1>
<BODY>

<?php

//crée une connexion au lien ODBC"commandes"
$serveur     = "localhost";
$utilisateur = "root";
$motDePasse  = "";
$base        = "base_test";

 mysql_connect("localhost","root","") 
    or die("Impossible de se connecter au serveur de bases de données.");
 mysql_select_db($base)  
    or die("Base de données non trouvée.");
	


//paramétrage de la requete 
$req_client="select code_client,nom from clients order by nom";
//envoie le résultat de la requete dans le recordset

$result=mysql_query($req_client);
?> 

<FORM action=ex13_p2_odbc.php"method=POST>
<P>Liste des clients<BR><BR>
<SELECT NAME ="1st_clients">
<?php

//pour chaque ligne du recordset, on crée une option dans la liste
while(mysql_fetch_row($result)==TRUE)
{
//pour chaque ligne, crée une option à la liste (en HTML) et renseigne la valeur à stocker
//(propriété value) ainsi que la valeur à afficher (en PHP)

?> 
<OPTION VALUE="<?php echo (mysql_result($result,"code_client"));?> ">
<?php echo(mysql_result($result,"nom"));?></OPTION>
<?php
}
//libération de la mémoire
mysql_free_result($result);
?>
</SELECT>

<INPUT TYPE="submit"name=bt_submitvalue="soumettre">
</P>
</FORM>
</BODY>
</HTML>
rien ne marche je n 'ai pas le choix du nom des clients dans la liste déroulante

ni le bouton submit


merci de m 'aider

basdom