Problème d'insertion des données input texte et fichier ensemble dans la bbd

Résolu
ir_1997 Messages postés 102 Statut Membre -  
ir_1997 Messages postés 102 Statut Membre -
salut besoin d'aide svp

Notice: Undefined index: files in C:\xampp\htdocs\try.php on line 13

Notice: Undefined index: files in C:\xampp\htdocs\try.php on line 19

Notice: Undefined variable: i in C:\xampp\htdocs\try.php on line 19


<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

if(isset($_POST['formsend'])){

$idm=$_POST['idm']; 
$pseudo=$_POST['pseudo'];
$article=$_POST['article'];

$filename=$_FILES['files']['name'];
$target_file = 'upload/'.$filename;
$file_extension = pathinfo($target_file, PATHINFO_EXTENSION);
$file_extension = strtolower($file_extension);
$valid_extension = array("png","jpeg","jpg");

if(move_uploaded_file($_FILES['files']['tmp_name'][$i],$target_file)){

$description=$_POST['description'];
$prix=$_POST['prix'];
$contacte=$_POST['contacte'];
$categories=$_POST['categories'];
$region=$_POST['region'];

$sql = "INSERT INTO `articles`('idm', 'pseudo','article','files','description','prix','categories','region') VALUES (:idm,:pseudo,:article,:filename,:description,:prix,:contacte,:categories,:region)";
  $res = $bdd->prepare($sql);
  $exec = $res->execute(array(
   ":idm"=>$idm,
   ":pseudo"=>$pseudo,
   ":article"=>$article,
   ":files"=>$ifilesname,
   ":description"=>$description,
   ":prix"=>$prix,
   ":contacte"=>$contacte,
   ":categories"=>$categories,
   ":region"=>$region,));
  // vérifier si la requête d'insertion a réussi
  if($exec){
    echo 'Données insérées';
  }else{
    echo "Échec de l'opération d'insertion";
  }
}

}

?>

<!DOCTYPE html>
<html>
<head>
<title>upload</title>
<meta charset="utf-8">
</head>
<body>
	

<form method="post" action="" entype="multipart/form-data">
<br><input type="hidden" name="idm" id="idm" value=" <?php echo $getid ; ?>" readonly>

<br><input type="hidden" name="pseudo" id="pseudo" value=" <?php echo $userinfo['pseudo']; ?>" readonly>
<br><input type="title" name="article" id="article" placeholder="article" required></br>
<br><input type="file" name="files[]" id="image" placeholder="image"  multiple="" required="" ></br>
<br><textarea type="text" name="description" id="description" placeholder="description de l'article" required></textarea></br>
<br><input type="text" name="prix" id="prix" placeholder="prix" required></br>
<br><input type="tel" name="contacte" id="contacte" placeholder="contacte" required>
</br>
<br><select  name="categories" id="categories">
    <option value="automobile">automobile</option>
	<option value="mode">mode</option>
	<option value="immobilier">immobilier</option>
	<option value="electronique">electronique</option>
	<option value="service"> service</option>
</select required></br>

<br><select  name="region" id="region">
	<option value="niamey">niamey</option>
	<option value="maradi">maradi</option>
	<option value="zinder">zinder</option>
    <option value="diffa">diffa</option>	
	<option value="tillaberi">tillaberi</option>
	<option value="dosso">dosso</option>
	<option value="agadez">agadez</option>
</select required></br>
<br><input type="submit" name="formsend" id="formsend" value="publier" required></br>

</form>

</body>
</html> 

11 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour

    Commence par nous faire un var_dump de $_FILES

    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Et ensuite, tu appliqueras ce qui est indiqué ici :
      https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

      ça ne corrigera pas ton souci actuel... mais ça en évitera d'autres... (et puis ce n'est pas la première fois, me semble t'il que je te demande d'appliquer ce qui est marqué dans ce lien.... )
      0
      1. ir_1997 Messages postés 102 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        désolé sa ce reproduira plus
        0
    2. ir_1997 Messages postés 102 Statut Membre
       
      Notice: Undefined index: files in C:\xampp\htdocs\try.php on line 22
      NULL
      Notice: Undefined index: files in C:\xampp\htdocs\try.php on line 23

      Notice: Undefined index: files in C:\xampp\htdocs\try.php on line 29

      Notice: Undefined variable: i in C:\xampp\htdocs\try.php on line 29


      <?php
      try{
      $bdd =new PDO('mysql:host=localhost;
       dbname=espace_membre; charset=utf8', 'root', '');
       $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
       $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
      } catch(PDOException $e) {
          die('Erreur : ' . $e->getMessage());
      }
      
      
      error_reporting(E_ALL);
      ini_set('display_errors', TRUE);
      ini_set('display_startup_errors', TRUE);
      
      if(isset($_POST['formsend'])){
      
      $idm=$_POST['idm'];	
      $pseudo=$_POST['pseudo'];
      $article=$_POST['article'];
      
      echo var_dump($_FILES['files']['name']);
      
      $filename=$_FILES['files']['name'];
      $target_file = 'upload/'.$filename;
      $file_extension = pathinfo($target_file, PATHINFO_EXTENSION);
      $file_extension = strtolower($file_extension);
      $valid_extension = array("png","jpeg","jpg");
      
      if(move_uploaded_file($_FILES['files']['tmp_name'][$i],$target_file)){
      
      $description=$_POST['description'];
      $prix=$_POST['prix'];
      $contacte=$_POST['contacte'];
      $categories=$_POST['categories'];
      $region=$_POST['region'];
      
      $sql = "INSERT INTO `articles`('idm', 'pseudo','article','files','description','prix','categories','region') VALUES (:idm,:pseudo,:article,:filename,:description,:prix,:contacte,:categories,:region)";
        
        try{ 
          $res = $bdd->prepare($sql);
          $exec = $res->execute(array(
        	":idm"=>$idm,
        	":pseudo"=>$pseudo,
        	":article"=>$article,
        	":files"=>$ifilesname,
        	":description"=>$description,
        	":prix"=>$prix,
        	":contacte"=>$contacte,
        	":categories"=>$categories,
        	":region"=>$region,)); 
      
          } catch(PDOException $e) {
          die('Erreur : ' . $e->getMessage());
      }
      
      
      
        // vérifier si la requête d'insertion a réussi
        if($exec){
          echo 'Données insérées';
        }else{
          echo "Échec de l'opération d'insertion";
        }
      }
      
      }
      
      ?>
      
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > ir_1997 Messages postés 102 Statut Membre
         
        Où en est le var_dump que je t'ai demandé ?
        0
      2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Pas de echo devant var_dump !!
        0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Il y a une erreur dans ton formulaire.... tu as oublié un C au mot enctype
    enctype="multipart/form-data"
    

    0
  3. ir_1997 Messages postés 102 Statut Membre
     
    Notice: Undefined index: files in C:\xampp\htdocs\try.php on line 22
    NULL
    Notice: Undefined index: files in C:\xampp\htdocs\try.php on line 24

    Notice: Undefined index: files in C:\xampp\htdocs\try.php on line 30

    Notice: Undefined variable: i in C:\xampp\htdocs\try.php on line 30


    <?php
    try{
    $bdd =new PDO('mysql:host=localhost;
     dbname=espace_membre; charset=utf8', 'root', '');
     $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    if(isset($_POST['formsend'])){
    
    $idm=$_POST['idm'];	
    $pseudo=$_POST['pseudo'];
    $article=$_POST['article'];
    
     var_dump($_FILES['files']['name']);
    
    $filename=$_FILES['files']['name'];
    $target_file = 'upload/'.$filename;
    $file_extension = pathinfo($target_file, PATHINFO_EXTENSION);
    $file_extension = strtolower($file_extension);
    $valid_extension = array("png","jpeg","jpg");
    
    if(move_uploaded_file($_FILES['files']['tmp_name'][$i],$target_file)){
    
    $description=$_POST['description'];
    $prix=$_POST['prix'];
    $contacte=$_POST['contacte'];
    $categories=$_POST['categories'];
    $region=$_POST['region'];
    
    $sql = "INSERT INTO `articles`('idm', 'pseudo','article','files','description','prix','categories','region') VALUES (:idm,:pseudo,:article,:filename,:description,:prix,:contacte,:categories,:region)";
      
      try{ 
        $res = $bdd->prepare($sql);
        $exec = $res->execute(array(
      	":idm"=>$idm,
      	":pseudo"=>$pseudo,
      	":article"=>$article,
      	":files"=>$ifilesname,
      	":description"=>$description,
      	":prix"=>$prix,
      	":contacte"=>$contacte,
      	":categories"=>$categories,
      	":region"=>$region,)); 
    
        } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    
    
      // vérifier si la requête d'insertion a réussi
      if($exec){
        echo 'Données insérées';
      }else{
        echo "Échec de l'opération d'insertion";
      }
    }
    
    }
    
    ?>


    <!DOCTYPE html>
    <html>
    <head>
    <title>upload</title>
    <meta charset="utf-8">
    </head>
    <body>
    	
    
    <form method="post" action="" enctype="multipart/form-data">
    <br><input type="hidden" name="idm" id="idm" value=" <?php echo $getid ; ?>" readonly>
    
    <br><input type="hidden" name="pseudo" id="pseudo" value=" <?php echo $userinfo['pseudo']; ?>" readonly>
    <br><input type="title" name="article" id="article" placeholder="article" required></br>
    <br><input type="file" name="files[]" id="image" placeholder="image"  multiple="" required="" ></br>
    <br><textarea type="text" name="description" id="description" placeholder="description de l'article" required></textarea></br>
    <br><input type="text" name="prix" id="prix" placeholder="prix" required></br>
    <br><input type="tel" name="contacte" id="contacte" placeholder="contacte" required>
    </br>
    <br><select  name="categories" id="categories">
        <option value="automobile">automobile</option>
    	<option value="mode">mode</option>
    	<option value="immobilier">immobilier</option>
    	<option value="electronique">electronique</option>
    	<option value="service"> service</option>
    </select required></br>
    
    <br><select  name="region" id="region">
    	<option value="niamey">niamey</option>
    	<option value="maradi">maradi</option>
    	<option value="zinder">zinder</option>
        <option value="diffa">diffa</option>	
    	<option value="tillaberi">tillaberi</option>
    	<option value="dosso">dosso</option>
    	<option value="agadez">agadez</option>
    </select required></br>
    <br><input type="submit" name="formsend" id="formsend" value="publier" required></br>
    
    </form>
    
    </body>
    </html> 
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Bon,
      je recommene...

      Que donne un var_dump de $_FILES ??? ( et pas $_FILES['files']['name'] ) !

      Donc... JUSTE :
      var_dump ($_FILES);
      


      A noter que tu as nommé ton champ files : name="files[]"
      donc, un array...
      Si tu ne compte uploader qu'un seul fichier, il faut juste
       name="files"
      

      Si, par contre, tu veux en uploader plusieurs ... dans ce cas, il faudra boucler sur la variable $_FILES
      0
      1. ir_1997 Messages postés 102 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        “Boucler” c’est a dire ?
        0
  4. ir_1997 Messages postés 102 Statut Membre
     
    array(1) { ["files"]=> array(5) { ["name"]=> array(2) { [0]=> string(12) "FXBQ8245.JPG" [1]=> string(12) "FZGR9369.JPG" } ["type"]=> array(2) { [0]=> string(10) "image/jpeg" [1]=> string(10) "image/jpeg" } ["tmp_name"]=> array(2) { [0]=> string(24) "C:\xampp\tmp\phpE927.tmp" [1]=> string(24) "C:\xampp\tmp\phpE928.tmp" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(61616) [1]=> int(44193) } } }
    Notice: Undefined variable: countfiles in C:\xampp\htdocs\try.php on line 24


    <?php
    try{
    $bdd =new PDO('mysql:host=localhost;
     dbname=espace_membre; charset=utf8', 'root', '');
     $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    if(isset($_POST['formsend'])){
    
    $idm=$_POST['idm']; 
    $pseudo=$_POST['pseudo'];
    $article=$_POST['article'];
    
     var_dump($_FILES);
     
     for($i=0;$i<$countfiles;$i++){
    $filename=$_FILES['files']['name'];
    $target_file = 'upload/'.$filename;
    $file_extension = pathinfo($target_file, PATHINFO_EXTENSION);
    $file_extension = strtolower($file_extension);
    $valid_extension = array("png","jpeg","jpg");
    
    if(move_uploaded_file($_FILES['files']['tmp_name'][$i],$target_file)){
    
    $description=$_POST['description'];
    $prix=$_POST['prix'];
    $contacte=$_POST['contacte'];
    $categories=$_POST['categories'];
    $region=$_POST['region'];
    
    $sql = "INSERT INTO `articles`('idm', 'pseudo','article','files','description','prix','categories','region') VALUES (:idm,:pseudo,:article,:filename,:description,:prix,:contacte,:categories,:region)";
      
      try{ 
        $res = $bdd->prepare($sql);
        $exec = $res->execute(array(
       ":idm"=>$idm,
       ":pseudo"=>$pseudo,
       ":article"=>$article,
       ":files"=>$ifilesname,
       ":description"=>$description,
       ":prix"=>$prix,
       ":contacte"=>$contacte,
       ":categories"=>$categories,
       ":region"=>$region,)); 
    
        } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    
    
      // vérifier si la requête d'insertion a réussi
      if($exec){
        echo 'Données insérées';
      }else{
        echo "Échec de l'opération d'insertion";
      }
    }
    
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Tu copies colle du code au pif ou tu essaies de comprendre un minimum ce que tu fais ?
      0
      1. ir_1997 Messages postés 102 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Enfaite Je corriger les erreurs que tu ma notifier
        J’ai posté pour que tu vois si j’ai bien fait ou pas
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ir_1997 Messages postés 102 Statut Membre
     
    La j’ai uploadé deux image
    Le var_dum marche
    0
  7. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Et donc.... comprends tu ce que le var_dump t'affiche ?
    Vois tu la "structure" de ta variable ?

    Voici un exemple inspirée d'un code trouvé sur le "site officiel" de php
    https://www.php.net/manual/fr/features.file-upload.multiple.php

    function reArrayFiles(&$file_post) {
    
        $file_ary = array();
        $file_count = count($file_post['name']);
        $file_keys = array_keys($file_post);
    
        for ($i=0; $i<$file_count; $i++) {
            foreach ($file_keys as $key) {
                $file_ary[$i][$key] = $file_post[$key][$i];
            }
        }
    
        return $file_ary;
    }
    
    
    if (!empty(($_FILES['files'])) {
        $file_ary = reArrayFiles($_FILES['files']);
    
        foreach ($file_ary as $file) {
            print 'File Name: ' . $file['name'];
            print 'File Type: ' . $file['type'];
            print 'File Size: ' . $file['size'];
            print 'File tmp_name: ' . $file['tmp_name'];
           
          $target_file = 'upload/'. $file['name'];
          $file_extension =  strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
    
           if(move_uploaded_file($files['tmp_name'],$target_file)){
             //... la suite de ton code...
           }
        }
    }
    


    A noter que, vu la structure de ta bdd (qui dénotte un réel manque de réflexion/conception dans ton programme...) ... tu vas insérer autant de ligne que tu as de fichiers....
    Alors qu'une table spécifique pour gérer serait préférable surtout si tu comptes en uploader plusieurs pour un même enregistrement...

    Perso... je ferai d"une part l'insert des variables POST dans la tables articles
    Je récupère l'ID généré lors de cette insertion...
    Puis, dans une table articles_files (par exemple) je ferai l'insert des fichiers .
    Cette table aurait 3 colonnes
    - ID (auto-incrémenté ) (clé primaire)
    - id_article ( l'id précedemment récupérer lors de l'insert des variables POST dans la tables articles )
    - fichier ( nom ou chemin.. du fichier )
    0
  8. ir_1997 Messages postés 102 Statut Membre
     
    salut enfaîte j'ai essayer de suivre ce que tu m'a conseillé
    une table spécifique pour les image qui comprendrai 3 colonne
    le problème ce que je sais pas comment récupérer
    id_article ( l'id précédemment récupérer lors de l'insert des variables POST dans la tables articles )

    -
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Faut chercher avec les mots clé : PDO LAST INSERT ID
      Et tu tombes sur : https://www.php.net/manual/fr/pdo.lastinsertid.php
      0
      1. ir_1997 Messages postés 102 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Des utilisateurs peuvent publier des articles au même moment
        Comment faire en sorte qu’il y est pas d’erreur si je me contente de last id
        0
      2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > ir_1997 Messages postés 102 Statut Membre
         
        Il y a aucun risque...
        0
      3. ir_1997 Messages postés 102 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        lastinsertid marche mais le souci ce que ce j'arrive pas à le mettre dans un input comme value,
        sa m'affiche le code php au lieu de l'id
        par contre si je met sur la page sa affiche l'id
        0
      4. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > ir_1997 Messages postés 102 Statut Membre
         
        Encore une fois...Sans voir ton code... Impossible de t'aider
        0
  9. ir_1997 Messages postés 102 Statut Membre
     
    <?php
    try{
    $bdd =new PDO('mysql:host=localhost;
     dbname=espace_membre; charset=utf8', 'root', '');
     $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    
    
    
    if (isset($_POST['formsend'])) {
    ;
    $idm = (isset($_POST['idm']))? $_POST['idm'] :"" ;
    $article = (isset($_POST['article']))? $_POST['article'] :"" ;
    $image = (isset ($_file['image']))? $_file['image'] :"" ;
    
    $description = (isset($_POST['description']))? $_POST['description']:"";
    $prix = (isset($_POST['prix']))? $_POST['prix']:"";
    $contacte = (isset($_POST['contacte']))?$_POST['contacte']:"";
    $categories = (isset($_POST['categories']))?$_POST['categories']:"";
    $pseudo = (isset($_POST['pseudo']))? $_POST['pseudo'] :"" ;
    $region = (isset($_POST['region']))? $_POST['region'] :"" ;
    
    
    
    
    
    
    
    
    
    $sql = "INSERT INTO articles ( idm , article , image , description , prix , contacte , categories ,  pseudo , region ) 
            VALUES( :idm, :article, :image , :description, :prix, :contacte, :categories, :pseudo, :region )";
    
    
    try{
    $datas = array(
    
    ':idm'=>$idm
    ,':article'=>$article
    , ':image'=>$image
    , ':description'=>$description
    , ':prix'=>$prix
    , ':contacte'=>$contacte
    , ':categories'=>$categories
    , ':pseudo'=>$pseudo
    , ':region'=>$region
    );
    $stmt = $bdd->prepare($sql);
    $stmt->execute($datas);
     } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    }
    

    <!DOCTYPE html>
    <html>
    <head>
    <title>upload</title>
    <meta charset="utf-8">
    </head>
    <body>
     
    
    <form method="POST" action="">
    <br><input type="hidden" name="idm" id="idm" value=" <?php echo $getid ; ?>" readonly>
    
    <br><input type="hidden" name="pseudo" id="pseudo" value=" <?php echo $userinfo['pseudo']; ?>" readonly>
    <br><input type="title" name="article" id="article" placeholder="article" required></br>
    <gras></gras>
     </br>
    <br><textarea type="text" name="description" id="description" placeholder="description de l'article" required></textarea></br>
    <br><input type="text" name="prix" id="prix" placeholder="prix" required></br>
    <br><input type="tel" name="contacte" id="contacte" placeholder="contacte" required>
    </br>
    <br><select  name="categories" id="categories">
        <option value="automobile">automobile</option>
     <option value="mode">mode</option>
     <option value="immobilier">immobilier</option>
     <option value="electronique">electronique</option>
     <option value="service"> service</option>
    </select required></br>
    
    <br><select  name="region" id="region">
     <option value="niamey">niamey</option>
     <option value="maradi">maradi</option>
     <option value="zinder">zinder</option>
        <option value="diffa">diffa</option> 
     <option value="tillaberi">tillaberi</option>
     <option value="dosso">dosso</option>
     <option value="agadez">agadez</option>
    </select required></br>
    
    <br><input type="submit" name="formsend" id="formsend" value="publier" required></br>
    
    </form>
    
    <form method="POST" action="">
    
    <br><input type="text" name="id_article" id="id_article" value="<? print $bdd->lastInsertId(); ?> " read only >
    
    <br><input type="file" name="image" id="image" placeholder="image" required multiple=""></br>
    
    </body>
    </html> 
    
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Le code que tu nous montres ... c'est un seul fichier ou deux fichiers distincts ?
      ( si un seul ... pas besoin de le séparer dans des balises de code différentes.... )

      Enfin bon.
      Pour commencer, il est préférable de récupérer proprement la variable AVANT de l'utiliser.
      Donc, au niveau de ta requête
      $sql = "INSERT INTO articles ( idm , article , image , description , prix , contacte , categories ,  pseudo , region ) 
              VALUES( :idm, :article, :image , :description, :prix, :contacte, :categories, :pseudo, :region )";
      
      $datas = array(
           ':idm'=>$idm
           ,':article'=>$article
           , ':image'=>$image
           , ':description'=>$description
           , ':prix'=>$prix
           , ':contacte'=>$contacte
           , ':categories'=>$categories
           , ':pseudo'=>$pseudo
           , ':region'=>$region
         );
      
      try{
          $stmt = $bdd->prepare($sql);
          $stmt->execute($datas);
          $lastId = $bdd->lastInsertId();
       } catch(PDOException $e) {
          die('Erreur : ' . $e->getMessage());
      }
      
      


      puis dans ton code html
      <br><input type="text" name="id_article" id="id_article" value="<?php  echo $lastId; ?> " read only >
      
      0
  10. ir_1997 Messages postés 102 Statut Membre
     
    j'ai fais passer l'id dans L’URL sa fonction bien et sa s'affiche
    mais quand je l'inscrit dans input sa maffiche juste le code php au lieu de l'id
    je me demande c'est quoi le souci

    <?php
    $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
    $id_article =  $_GET['id']
    <!DOCTYPE html>
    <html>
    <head>
    <title>upload</title>
    <meta charset="utf-8">
    </head>
    <body>
    
    <form method="POST" action="">
    
    <br><input type="text" name="id_article" id="id_article" value=" <? echo $id_article; ?> " read only >
    
    
    <input type ="submit" name="submit" value="submit"
    
    </body>
    </html>
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      As tu comparé avec le code que je t'ai donné ??

      Les balises php .. c'est
       <?php  

      et pas juste
       <? 
      0
  11. ir_1997 Messages postés 102 Statut Membre
     
    oui oui tous marche sur la page précédent
    maintenant c'est mettre l'id récupérer depuis url qui saffiche pas dans l'input sur le page suivante
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Ben... pareil....
      Tu as écrit :
      <br><input type="text" name="id_article" id="id_article" value=" <? echo $id_article; ?> " read only >
      
      

      Cheche l'erreur....
      0
  12. ir_1997 Messages postés 102 Statut Membre
     
    je m’excuse vraiment mais j'arrive pas a trouver l'erreur j'ai vraiment besoin d'aide svp

    la c'est l'url http://localhost/image.php?id=103
    et la l'echo ['id'] 103
    puis c'est qui s'affiche dans linpute <? .echo $_GET['id']; .?>
    je comprend pas prouquoi sa donne pas l'id dans l'input
    <!DOCTYPE html>
    <html>
    <head>
    <title>upload</title>
    <meta charset="utf-8">
    </head>
    <body>
    
    <form method="POST" action="">
    
    <br><input type="text" name="id_article" id="id_article" value=" <? echo $_GET['id']; ?> " read only >
    
    
    <input type ="submit" name="submit" value="submit"
    
    </body>
    </html>


    <?php
    
    try{
    $bdd =new PDO('mysql:host=localhost;
     dbname=espace_membre; charset=utf8', 'root', '');
     $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    } catch(PDOException $e) {
        die('Erreur : ' . $e->getMessage());
    }
    
    
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);
    
    
    
    
    
    
    echo $_GET['id'];
    ?>
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Comment on ouvre une balise php ???...
      0
      1. ir_1997 Messages postés 102 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        La j’ai honte de moi même
        Vue sur un tuto
        J’ai Cru
        Que <? ?> et <?php ?>
        Été pareil
        0