IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Envoi de données via form ?


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Points : 40
    Points
    40
    Par défaut Envoi de données via form ?
    Bonjour,
    J’essaie de passer des donées par un formulaire et les afficher sur la page hello5.php et ca ne s’affiche pas… quelqu’un aurait une idée ? ;-)

    Formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php require("brands.php"); 
    echo "
    <form action=hello5.php method=get>
    <select name=collecID>
    ";
     
    $req = mysql_query("select * from brands order by sujets asc");
    while($data = mysql_fetch_assoc($req)) {
      echo "<option value=".$data[id].">".$data[sujets]."</option>\r\n";
    }
     
    .....

    page hello5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $id = intval($_GET['collecID']) ? intval($_GET['collecID']) : intval($_POST['collecID']);
     
    echo " Affichage : ".getSql("select sujets from brands where id=$id")."<br>"; 
    ?>

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Puis-je te suggérer de mettre les attributs HTML entre guillemets ?
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="hello5.php" method="get">
    Dans ton script hello5.php, affiche l'$id et la requête pour voir si tu arrives bien à récupérer la valeur. Si oui, ce n'est pas un problème de formulaire.

  3. #3
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    • En PHP les valeurs des attributs sont entre guillemets doubles (suivant les valeurs de tes options, ça peut éventuellement aider...).
    • Prends soin de vérifier les erreurs quand tu passes des requêtes MySQL (voir 2e point de ma signature)
    • Ce n'est pas la bonne méthode pour tester si les valeurs de $_GET sont positionnées. utilise :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      if (isset($_GET["var"])) {} elseif (isset($_POST["var"])) {}...
      enfin, utilise isset, quoi.
    • getSql, c'est une fonction à toi ? Elle passe une requête ? J'espère qu'elle vérifie s'il y a des erreurs, comme dit plus tôt. Utilise mysql_real_escape_string, entoure les noms de champs par des backquotes et les valeurs par des simple quotes.


    Après ça, on y verra déjà un peu plus clair.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Si je mets des guillements (<form action="hello5.php" ...) je recois une parse error .

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    La partie formulaire est elle correctement ecrite comme cela ?
    J'avoue que dans tous ces signes :simple guillements doubles guillements je m'y perds

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php require("brands.php"); 
    echo "
    <form action='hello5.php' method='get'>
    <select name='collecID'>
    ";
     
    $req = mysql_query("select * from brands order by sujets asc");
    while($data = mysql_fetch_assoc($req)) {
      echo "<option value=".$data[id].">".$data[sujets]."</option>\r\n";
    }
    ...

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    oui c'est correctement ecrit. qu'en est il de ton pbm à présent
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  8. #8
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par ouatmad
    oui c'est correctement ecrit.
    Ben nan toujours pas. En HTML les attributs sont entre guillemets doubles, et tu ne vérifies toujours pas les erreurs lors de ton mysql_query.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    Citation Envoyé par Eusebius
    Ben nan toujours pas. En HTML les attributs sont entre guillemets doubles, et tu ne vérifies toujours pas les erreurs lors de ton mysql_query.
    je n'en suis pas si sur Eusebius; look
    Par défaut, SGML exige que toutes les valeurs d'attribut soient délimitées en utilisant indiféremment les guillemets doubles (code décimal ASCII 34) ou les guillemets simples (code décimal ASCII 39). Les guillemets simples peuvent être inclus à l'intérieur de la valeur d'attribut quand la valeur est délimitée par des guillemets doubles, et vice versa.
    pour plus d'infos voire http://www.la-grange.net/w3c/html4.0...t.html#h-3.2.2
    Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789

  10. #10
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par ouatmad
    OK merci, c'est noté

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Ben ca marche toujours pas ... j'ai déjà tourné ce script dans tous les sens j'y arrive tjs pas (y'a trop de signes pour moi). Y'a pas un cerveau génial qui voudrais bien m'aider à écrire ce script correctement par l'exemple ?

    Merci

  12. #12
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Citation Envoyé par Yogui
    Dans ton script hello5.php, affiche l'$id et la requête pour voir si tu arrives bien à récupérer la valeur. Si oui, ce n'est pas un problème de formulaire.
    Tu n'as pas répondu à ceci.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Ben donc si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $id = "collecID";
    echo 'Hello ';
    echo $id
    Je recois bien :

  14. #14
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par loady
    Ben donc si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $id = "collecID";
    echo 'Hello ';
    echo $id
    Je recois bien :
    La question, c'était quelle est la valeur de $id dans hello5 ? et d'où vient-il, d'ailleurs ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Ben normalement $id doit récupérer la valeur du formulaire, mais le problème c'est que je ne recois pas de valeur ???

  16. #16
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par loady
    Ben normalement $id doit récupérer la valeur du formulaire, mais le problème c'est que je ne recois pas de valeur ???
    fais un print_r($_GET) dans hello5

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Je recois : Array ( [collecID] => [imageField_x] => 4 [imageField_y] => 9 )

  18. #18
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    OK alors le problème vient de ton formulaire.
    Tu peux nous montrer le code source HTML généré par PHP ? (tu affiches ton formulaire, et tu fais un clic droit-> code source, ou un truc comme ça)

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Points : 40
    Points
    40
    Par défaut
    Ca c'est la page formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans titre</title>
    </head>
     
    <body>
    <table width="300" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><div align="center"><div align="center">
    <form action='formraffichage.php' method='get'>
    <select name='collecID'>
     
    <br />
    <b>Notice</b>:  Use of undefined constant id - assumed 'id' in .....\fr\form.php</b> on line <b>23</b><br />
    <br />
    <b>Notice</b>:  Undefined index:  id in <b>c:\.....\fr\form.php</b> on line <b>23</b><br />
    <br />
    <b>Notice</b>:  Use of undefined constant sujets - assumed 'sujets' in <b>c:....\fr\form.php</b> on line <b>23</b><br />
    <option value=>zen</option>
    <br />
     
    etc ......
     
     
    </select>
    <input name='imageField' type='image' src='../../imgs/go.gif' align='middle'>
    </form>
    </div></div></td>
      </tr>
    </table>
    </body>
    </html>

  20. #20
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Bon ben voilà, tu as des messages d'erreur maintenant, tu vas pouvoir les corriger... Bon développement

Discussions similaires

  1. Envoi de données en décimal via une DatagramSocket (UDP)
    Par _jey_ dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 19/07/2013, 10h31
  2. Envoi des données en HTTPS via une JSF
    Par dev_2007 dans le forum JSF
    Réponses: 7
    Dernier message: 16/03/2011, 15h14
  3. envoie de donnée par mail via vba
    Par swissmade dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/08/2007, 11h43
  4. erreur lors de l'envoie de donné via les socket.
    Par poporiding dans le forum C++
    Réponses: 1
    Dernier message: 23/05/2006, 14h23
  5. Envoi des données via mail
    Par zorba49 dans le forum ASP
    Réponses: 4
    Dernier message: 10/04/2006, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo