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 :

resultat champs formulaire requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2
    Par défaut resultat champs formulaire requête
    bonjour je débute dans le php, pour mon site personnelle je me suis lancer dans un script qui permet de remplir une requête sql avec un formulaire
    jusqu'à la c'est facile mais maintenant je doit envoyé cette requête vers ma base de donné et c'est la qu'il y a un problème il me mais une erreur a la ligne e la requête
    "Parse error: parse error in C:\wamp\www\ajout\requête mysql\cible.php on line 29"

    voici mes codes

    le 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
    <form action="cible.php" method="post">
    <p> 
    <TABLE align="letf BORDER="3" bordercolor="black" >
     
    		<TR><TH bgcolor="#969696"><p>nom du fichier</p></TH>
    		<TH bgcolor="#646464"><input type="text" name="name" /></TH></TR>
     
    		<TR><TH bgcolor="#969696"><p>description du fichier</p></TH>
    		<TH bgcolor="#646464"><textarea name="description" rows="5" cols="30"></textarea></TH></TR>
     
    		<TR><TH bgcolor="#969696"><p>lien du fichier</p></TH>
    		<TH bgcolor="#646464"><input type="text" name="filepath" /></TH></TR>
     
    		<TR><TH bgcolor="#969696"><p>ID de l'utilisateur</p></TH>
    		<TH bgcolor="#646464"><input type="text" name="userid" /></TH></TR>
     
    		<TR><TH bgcolor="#646464" colspan="2"><input type="submit" value="Générer" /></TH></TR>
    </TABLE>
    </p>
    </form>
    et le générateur de requête
    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
    <TABLE  BORDER="1" bordercolor="black" >
     
    		<TR><TH bgcolor="#969696"><p>nom du fichier</p></TH>
    		<TH bgcolor="#646464"><?php echo $_POST['name']; ?></TH></TR>
     
    		<TR><TH bgcolor="#969696"><p>description du fichier</p></TH>
    		<TH bgcolor="#646464"><?php echo $_POST['description']; ?></TH></TR>
     
    		<TR><TH bgcolor="#969696"><p>lien du fichier</p></TH>
    		<TH bgcolor="#646464"><?php echo $_POST['filepath']; ?></TH></TR>
     
    		<TR><TH bgcolor="#969696"><p>ID de l'utilisateur</p></TH>
    		<TH bgcolor="#646464"><?php echo $_POST['userid']; ?></TH></TR>
     
    </TABLE><TABLE BORDER="1" bordercolor="black" >
    <TR><TH bgcolor="#969696"><p>requête</p></TH>
    <TH bgcolor="#646464"><textarea name="requete" rows="1" cols="220">
    <?php
    try
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=joomla', 'root', '');
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
    $bdd->exec('INSERT INTO `joomla`.`jos_upload` (`id`, `name`, `description`, `filepath`, `modifieddate`, `size`, `userid`, `published`, `ordering`) VALUES (NULL, '<?php echo $_POST['name']; ?>', '<?php echo $_POST['description']; ?>', '<?php echo $_POST['filepath']; ?>', NULL, '', '<?php echo $_POST['userid']; ?>', '0', '0');
    </textarea></TH></TR></TABLE>
    <a href="formulaire.php">retour</a>
    ?>

    voila voila
    merci de votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Bonjour,
    Est-ce que le code que tu as transmis est celui du fichier cible.php?

    Autrement,
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <TABLE align="letf BORDER="3" bordercolor="black" >
    devrait s'écrire
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <TABLE align="left" BORDER="3" bordercolor="black" >

    et pour l'erreur que tu reçois, je crois que c'est ce code qui est en cause:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->exec('INSERT INTO `joomla`.`jos_upload` (`id`, `name`, `description`, `filepath`, `modifieddate`, `size`, `userid`, `published`, `ordering`) VALUES (NULL, '<?php echo $_POST['name']; ?>', '<?php echo $_POST['description']; ?>', '<?php echo $_POST['filepath']; ?>', NULL, '', '<?php echo $_POST['userid']; ?>', '0', '0')

    Je pense que l'erreur sera corrigé avec cette ligne:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->exec("INSERT INTO `joomla`.`jos_upload` (`id`, `name`, `description`, `filepath`, `modifieddate`, `size`, `userid`, `published`, `ordering`) VALUES (NULL, $_POST['name'], $_POST['description'], $_POST['filepath'];, NULL,'', $_POST['userid']', '0', '0');");

    Vérifies et dis nous. Je ne peux pas tester vu que pas ce PDO installé chez moi.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2
    Par défaut
    Citation Envoyé par kabkab Voir le message
    Bonjour,
    Est-ce que le code que tu as transmis est celui du fichier cible.php?

    Autrement,
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <TABLE align="letf BORDER="3" bordercolor="black" >
    devrait s'écrire
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <TABLE align="left" BORDER="3" bordercolor="black" >

    et pour l'erreur que tu reçois, je crois que c'est ce code qui est en cause:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->exec('INSERT INTO `joomla`.`jos_upload` (`id`, `name`, `description`, `filepath`, `modifieddate`, `size`, `userid`, `published`, `ordering`) VALUES (NULL, '<?php echo $_POST['name']; ?>', '<?php echo $_POST['description']; ?>', '<?php echo $_POST['filepath']; ?>', NULL, '', '<?php echo $_POST['userid']; ?>', '0', '0')

    Je pense que l'erreur sera corrigé avec cette ligne:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->exec("INSERT INTO `joomla`.`jos_upload` (`id`, `name`, `description`, `filepath`, `modifieddate`, `size`, `userid`, `published`, `ordering`) VALUES (NULL, $_POST['name'], $_POST['description'], $_POST['filepath'];, NULL,'', $_POST['userid']', '0', '0');");

    Vérifies et dis nous. Je ne peux pas tester vu que pas ce PDO installé chez moi.
    j'ai essayé mais sa ne marche pas
    mais une nouvelle erreur
    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING

  4. #4
    Membre émérite
    Homme Profil pro
    Touche à tout informatique autodidacte
    Inscrit en
    Janvier 2007
    Messages
    811
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Touche à tout informatique autodidacte

    Informations forums :
    Inscription : Janvier 2007
    Messages : 811
    Par défaut
    Bonjour,
    Pour plus de clarté, il serait bien d'écrire la ligne qui généère l'erreur. Je viens toutefois de remarquer une erreur dans ce que je t'ai proposé. Corrige comme celà:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->exec("INSERT INTO `joomla.jos_upload` (`id`, `name`, `description`, `filepath`, `modifieddate`, `size`, `userid`, `published`, `ordering`) VALUES (NULL, $_POST['name'], $_POST['description'], $_POST['filepath'], NULL,'', $_POST['userid']', '0', '0')");

    J'ai enlevé deux point-virgules et deux ` . Dis nous ce que ça donne.

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Quel est l'intérêt d'utiliser PDO ici ? Elle permet l'usage de requêtes préparées parce qu'à utiliser exec avec des interpolations directes de variables externes (POST), bonjour les injections ...

    De plus, vous vous simplifieriez la vie en n'ayant plus les quotes à gérer (dans la dernière proposition, il en manque une déjà pour ne pas avoir d'erreur de syntaxe et certainement d'autres couples autour de ce qui semble être des chaînes).

    PS : une gestion des erreurs, au passage, ça peut toujours servir/aider. Il n'y en a visiblement aucune au niveau de l'exécution de votre requête.

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/04/2008, 17h54
  2. Réponses: 2
    Dernier message: 16/10/2007, 16h32
  3. Requête avec champ formulaire
    Par dev_Elo dans le forum IHM
    Réponses: 2
    Dernier message: 23/01/2007, 13h32
  4. Réponses: 2
    Dernier message: 03/05/2006, 14h41
  5. Réponses: 1
    Dernier message: 29/09/2005, 12h05

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