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 :

problème d'insetion dans la base via formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de japhettchabao
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 86
    Points : 75
    Points
    75
    Par défaut problème d'insetion dans la base via formulaire
    j'ai cette erreur Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'attend pas le nombre des années',' Jimi Hope fêtera ses 40 ans de carrière' at line 1' in /home/u266302965/public_html/traitementarticle.php:58 Stack trace: #0 /home/u266302965/public_html/traitementarticle.php(58): PDO->query('INSERT INTO cul...') #1 {main} thrown in /home/u266302965/public_html/traitementarticle.php on line 58
    voici la page
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    <?php
    include './database.php';
    {
     $titre=$_POST['titre'];
     $auteur=$_POST['auteur'];
     $resume=$_POST['resume'];
     $categorie=$_POST['categorie'];
     $article=$_POST['article'];
     $categories = array('administration','diplomatie','economie',
         'entreprenariat','environnement','evenements','finances','medias','projets',
         'sante','societe','sports','culture','politique','gouvernance','sommets','education',
         'integration','technologies');
     
    // traitement de l'image
     $dossier = 'articles/';
    $fichier = basename($_FILES['image']['name']);
    $taille = filesize($_FILES['image']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg','.PNG', '.GIF', '.JPG', '.JPEG');
    $extension = strrchr($_FILES['image']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
     
    }
     if (empty($_POST['titre'])||empty($_POST['auteur'])||empty($_POST['resume'])||empty($_POST['categorie'])
             ||empty($_POST['article']))
     {
         header('location:admin.php');
     }
     
     
     
     
     
     else if (isset($_POST['categorie']) && in_array($_POST['categorie'],$categories))
    {
        /* @var $bdd type */
        $query = $bdd->query ("INSERT INTO ".$categorie." (titre, article,image, resume, auteur) VALUES ('$titre','$article','$fichier','$resume','$auteur')");
    }
    Je n'ai certes pas le talent de Gates ou Job mais, mon amour mon pc, me rend plus fort qu'eux

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    On n'utilise pas directement dans une requête des données provenant d'un utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      elseif (isset($_POST['categorie']) && in_array($_POST['categorie'],$categories))
    {
         $sth = $bdd->prepare("INSERT INTO ".$categorie." (titre, article,image, resume, auteur) VALUES (:titre, :article, :fichier, :resume, :auteur)");
         $sth->execute(array(':titre'=>$_POST['titre'], ':article'=>$_POST['article'], ':auteur'=>$_POST['auteur'], ':resume'=>$_POST['resume'], ':categorie'=>$_POST['categorie']));
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier Avatar de japhettchabao
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 86
    Points : 75
    Points
    75
    Par défaut j'ai cette erreur en utilisant ta methode
    Upload effectué avec succès !
    ( ! ) Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' in C:\wamp\www\togonews\traitementarticle.php on line 58
    ( ! ) PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\togonews\traitementarticle.php on line 58
    Call Stack
    # Time Memory Function Location
    1 0.0010 146408 {main}( ) ..\traitementarticle.php:0
    2 0.0090 158376 execute ( ) ..\traitementarticle.php:58
    Je n'ai certes pas le talent de Gates ou Job mais, mon amour mon pc, me rend plus fort qu'eux

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ah oui j'ai oublié de mettre le fichier dans l'execution.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier Avatar de japhettchabao
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 86
    Points : 75
    Points
    75
    Par défaut sa marche pas mon frere
    toujours le même problème
    Je n'ai certes pas le talent de Gates ou Job mais, mon amour mon pc, me rend plus fort qu'eux

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu as bien mis "fichier" il ne peut plus te dire qu'il n'y est pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [MySQL] Problème insertion de données dans une table (via formulaire)
    Par bond70 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/04/2010, 16h48
  2. problème d'insertion dans une base SQL Server 2000 Via un trigger
    Par Alexandre_g dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/04/2009, 15h30
  3. [SQL] problème d'insetion dans la table de la base de données
    Par aroua dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/07/2007, 16h21
  4. Réponses: 2
    Dernier message: 22/05/2007, 16h15
  5. [MySQL] problème d'enregistrement dans une db via un formulaire
    Par momoh dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/04/2007, 09h56

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