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

Langage PHP Discussion :

J'ai un traitement de formulaire qui marche pas


Sujet :

Langage PHP

  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 J'ai un traitement de formulaire qui marche pas
    Bonjour, svp j'essaie de traiter ce formulaire
    Code html : 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
    <form method="post" action="traitementarticle.php" enctype="multipart/form-data">
        <label class="label" for="titre">Titre</label>
        <input class="input-medium" type="text" name="titre" id="titre"/><br/><br/>
        <label class="label" for="auteur">Auteur</label>
           <input class="input-medium" type="text" name="auteur" id="auteur"/><br/><br/>
        <label class="label" for="article">Article</label>
        <textarea class="input-medium" type="text" name="article" id="article"></textarea><br/><br/>
        <label class="label" for="categorie">Categorie</label>
        <select class="input-medium" type="text" name="categorie" id="categorie">
            <optgroup>
                <option value="politique">Politique</option>
                <option value="economie">Economie</option>
                <option value="finances">Finances</option>
                <option value="sports">Sports</option>
                <option value="environnement">Environnement</option>
                <option value="evenements">Evènement</option>
                <option value="administration">Administration</option>
                <option value="diplomatie">Diplomatie</option>
                <option value="medias">Media</option>
                <option value="culture">Culture</option>
                <option value="societe">Société</option>
                <option value="gouvernance">gouvernance</option>
                <option value="sommets">Sommets</option>
                <option value="projets">Projets</option>
                <option value="sante">Santé</option>
                <option value="education">Education</option>
                <option value="integration">Integration</option>
                <option value="entreprenariat">Entreprenariat</option>
                <option value="technologies">Technologies</option>
            </optgroup>
        </select><br/><br/>
        <label class="label" for="tag">A la Une</label>
        <input class="input-medium" type="checkbox" name="tag" id="tag"/><br/><br/>
        <label class="label" for="image">Image</label>
        <input class="input-medium" type="file" name="image" id="image"/><br/><br/>
        <label class="label" for="piecejointe">Piece Jointe</label>
        <input class="input-medium" type="file" name="piecejointe" id="piecejointe"/><br/><br/>
        <input type="submit" class="btn btn-success" value="Publier"/>
    </form>
    avec ce 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
    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
    <?php
    include './database.php';
     $titre=$_POST['titre'];
     $auteur=$_POST['auteur'];
     $categorie=$_POST['categorie'];
     $article=$_POST['article'];
     $image=$_POST['image'];
     {
    // traitement de l'image
     $dossier = 'images/';
    $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['article'])||empty($_POST['categorie'])
             ||empty($_POST['image']))
     {
         header('location:portail.php');
     }
     
       else
    {
         $sth = $bdd->query("INSERT INTO articles(titre,auteur,article,image,categorie,date) VALUES('$titre','$auteur','$article','$fichier','$categorie','NOW')");
    }
    mais l'url de l'image ne s'enregistre pas

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu utilises $_POST['image'] alors que le seul input de nom "image" que tu ais c'est <input class="input-medium" type="file" name="image" id="image"/> que tu accèdes par $_FILES['image']Il est donc normal que tu ne récupères rien dans $_POST['image'].

    Qu'est-ce que tu essayes d'enregistrer exactement ?

  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 reponse
    merci celira. j'essaie d'enregistrer l'url de l'imag dans un chapm varchar d'une table article

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben l'URL tu la connais puisque c'est toi qui déplace l'image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier)


    EDIT
    Arf... j'avais pas vu effectivement.
    Comme précisé par Celira, $_POST['image'] n'existe pas, donc tu tombes toujours dans la condition de redirection et l'enregistrement ne peut jamais se faire !

  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 oui mais
    Je veux enregistrer l'url dans la base données de sorte à pouvoir afficher l'image sur le site, si besoin.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Oui, j'ai édité mon message précédent.
    Tu rentres toujours dans le if de la redirection puisque $_POST['image'] n'existe pas. Donc l'INSERT ne se fait jamais.

  7. #7
    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 je comprends
    j'ai modifier le code mais j'ai des erreurs et les autres enregistrements se font sauf l'url de l'image
    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
    <?php
    include './database.php';
     $titre=$_POST['titre'];
     $auteur=$_POST['auteur'];
     $categorie=$_POST['categorie'];
     $article=$_POST['article'];
     $image=$_POST['image'];
     {
    // traitement de l'image
     $dossier = 'images/';
    $fichier = basename($_FILE['image']['name']);
    $taille = filesize($_FILE['image']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg','.PNG', '.GIF', '.JPG', '.JPEG');
    $extension = strrchr($_FILE['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['article'])||empty($_POST['categorie']))
     {
         header('location:portail.php');
     }
     
       else
    {
         $sth = $bdd->query("INSERT INTO articles(titre,auteur,article,image,categorie) VALUES('$titre','$auteur','$article','$fichier','$categorie')");
    }

  8. #8
    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 le bon code
    merci beaucoup bovini et celira. le code qui marche est
    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
    <?php
    include './database.php';
     $titre=$_POST['titre'];
     $auteur=$_POST['auteur'];
     $categorie=$_POST['categorie'];
     $article=$_POST['article'];
     {
    // traitement de l'image
     $dossier = 'images/';
    $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['article'])||empty($_POST['categorie']))
     {
         header('location:portail.php');
     }
     
       else
    {
         $sth = $bdd->query("INSERT INTO articles(titre,auteur,article,image,categorie) VALUES('$titre','$auteur','$article','$fichier','$categorie')");
    }

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

Discussions similaires

  1. [PHP 5.0] Formulaire de contact qui marche pas
    Par Adweuz dans le forum Langage
    Réponses: 12
    Dernier message: 21/05/2011, 13h48
  2. [debutant] formulaire qui marche pas
    Par pimousse_cerise dans le forum JSF
    Réponses: 10
    Dernier message: 21/12/2006, 15h52
  3. control de formulaire qui marche avec IE et non mozilla
    Par epeichette dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/03/2005, 16h47
  4. [LG]Split qui marche pas
    Par macluvitch dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2003, 18h19
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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