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 :

Formulaire et ajout dans la base [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Formulaire et ajout dans la base
    Bonjour,

    voilà je débute en PHP/SQL et je voudrai un peu de votre aide pour débloquer mon problème

    Explication de ce que je veux faire :

    Une page avec des menus déroulants, et lorsque j'ai choisis les options de menus déroulants ça les ajoutes/modifies dans la base sql.

    Donc, je suis pour l'instant lancé sur cette idée :
    • Une première page nommée page1.php

    Dans cette page, il y a un formualire avec 22 bloc de type 'text' avec leur valeur dejà défini (nombres de 1 à 22) + 22 menu déroulants qui trouvent leurs options (au nombre de 22 aussi) dans la base MySQL.

    • Une deuxième page nommée script.php

    Dans cette page, le script que je ne parvient pas à faire, enfin qui ne fonctionne pas

    Ce que j'ai déjà fais :

    • La page nommée page1.php

    Les 22 blocs ainsi que les 22 menus déroulants qui s'alimentent dans la base SQL, c'est bon.
    Un bouton Submit qui envoie les données sur la page script.php. L'envoie de données d'une page à l'autre fonctionne car j'ai testé sur un simple 'input type=text' et j'ai réussi à récupérer la donnée en passant par un echo.

    Voici un bout de code :

    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
     
    <form action="script.php">
    	<input type="text" value="1" maxlength="2" style="width: 30px" name="aa">
       <select name="p1">
    <?php
    $SQL = "SELECT * FROM grille_depart";
    $res = mysql_query($SQL);
    while($val=mysql_fetch_array($res)) {
       echo "<option>".$val["pilote"]."</option>\n";
    }
    ?>
       </select>
     
    [...]
     
    <br>
    	<input name="Boutton" type="submit" value="Envoyer">
     
    </form>
    • La page nommée script.php

    Alors là j'ai pas fais grand chose car je test à chaque fois si ca fonctionne sur le 1er menu déroulant..mais voici le principal qui fonctionne pas


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "INSERT INTO grille_depart (place,pilote) VALUES ('23', "$_GET['p1']")";
    $result = mysql_query($query, $link) or die($query . " - " . mysql_error());
    Et là il me dit :
    Parse error: parse error, unexpected T_VARIABLE in script.php on line 7
    (la ligne INSERT INTO).



    Voilà si quelqu'un peut m'aider parceque je trouve pas Merci à tous.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Bonsoir et bienvenu sur les forums developpez.net ^_^

    Alors, il y a un problème dans cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "INSERT INTO grille_depart (place,pilote) VALUES ('23', "$_GET['p1']")";
    Il faut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = 'INSERT INTO grille_depart (place,pilote) VALUES (\'23\', \''.$_GET['p1'].'\')';
    Voilà, tu avais oublié de concaténé ta chaine. (j'en ai profité pour la passer en '' au lieu de "").

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Bonsoir et merci pour la bienvenue,

    merci beaucoup ca fonctionne

    J'avais pensé à protéger avec les / mais j'avais fais que pour le GET, merci beaucoup maintenent je saurai

    @++

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Je suis pas sûr d'avoir compris ta réponse ^_^.

    Mais de toute manière, il faut que tu fasses des vérifications sur le $_GET['truc'] avant de le rentrer dans ta Base de donnée. Ne jamais faire confiance à une donnée extérieur (ça passe par l'url, le visiteur peut la changer -_-).

    Bonne soirée ^_^.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Je voulais dire que j'avais essayé ce que tu as donné en réponse, mais que j'avais pas mis les \ partout et j'avais laissé des "".

    Enfin ca fonctionne et c'est bon, sinon pour l'url j'ai vu qu'on peut utiliser la méthode POST. Mais bon c'est un script d'administration du site donc qui a vocation à être visible que par moi (je mettrai un petit htaccess dans le répertoire).

    Voilà et encore merci à toi, et à la communautée aussi en passant

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Cela ne te coute rien de protéger tes entrées à l'aide de mysql_real_escape_string(); et au moins, c'est plus sécurisé ^_^. (Les pirates sont pas sensé aller là où ils vont xD)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Ok je vais essayé ca demain Si j'ai un soucis je reviens poser la question sur le forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème d'ajout dans la base depuis un formulaire
    Par pizzaman dans le forum ASP.NET
    Réponses: 3
    Dernier message: 29/04/2013, 10h42
  2. [Conception] double ajout dans la base
    Par cell dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/06/2006, 09h25
  3. Ajout Dans une base de données
    Par belabyad dans le forum ASP
    Réponses: 8
    Dernier message: 11/03/2005, 13h25
  4. pb d'ajout dans une base de donnée
    Par loic.440 dans le forum ASP
    Réponses: 15
    Dernier message: 17/01/2005, 10h06
  5. Ajout dans une base
    Par semaj_james dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/06/2004, 16h23

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