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

Résolu/Fermé
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 - Modifié le 14 août 2020 à 21:06
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 - 30 août 2020 à 14:48
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> 
A voir également:

11 réponses

jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
14 août 2020 à 21:33
Bonjour

Commence par nous faire un var_dump de $_FILES

0
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
14 août 2020 à 21:35
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
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 > jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025
15 août 2020 à 09:13
désolé sa ce reproduira plus
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
15 août 2020 à 09:09
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737 > ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
15 août 2020 à 09:16
Où en est le var_dump que je t'ai demandé ?
0
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737 > jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025
15 août 2020 à 09:17
Pas de echo devant var_dump !!
0
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
15 août 2020 à 09:31
Il y a une erreur dans ton formulaire.... tu as oublié un C au mot enctype
enctype="multipart/form-data"

0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
15 août 2020 à 09:35
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
15 août 2020 à 09:54
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
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 > jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025
15 août 2020 à 12:49
“Boucler” c’est a dire ?
0
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737 > ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
15 août 2020 à 13:29
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
Modifié le 15 août 2020 à 14:11
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
15 août 2020 à 14:16
Tu copies colle du code au pif ou tu essaies de comprendre un minimum ce que tu fais ?
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 > jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025
15 août 2020 à 14:45
Enfaite Je corriger les erreurs que tu ma notifier
J’ai posté pour que tu vois si j’ai bien fait ou pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
15 août 2020 à 14:46
La j’ai uploadé deux image
Le var_dum marche
0
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
15 août 2020 à 15:48
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
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
26 août 2020 à 19:27
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
26 août 2020 à 19:57
Faut chercher avec les mots clé : PDO LAST INSERT ID
Et tu tombes sur : https://www.php.net/manual/fr/pdo.lastinsertid.php
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 > jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025
26 août 2020 à 20:17
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737 > ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
26 août 2020 à 20:30
Il y a aucun risque...
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 > jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025
27 août 2020 à 19:12
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737 > ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
27 août 2020 à 21:42
Encore une fois...Sans voir ton code... Impossible de t'aider
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
Modifié le 27 août 2020 à 22:37
<?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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
28 août 2020 à 08:36
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
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
28 août 2020 à 16:24
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
28 août 2020 à 16:32
As tu comparé avec le code que je t'ai donné ??

Les balises php .. c'est
 <?php  

et pas juste
 <? 
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
Modifié le 28 août 2020 à 16:46
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
28 août 2020 à 16:52
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
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
Modifié le 30 août 2020 à 02:30
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
jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025 4 737
30 août 2020 à 10:36
Comment on ouvre une balise php ???...
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 > jordane45 Messages postés 38440 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 février 2025
30 août 2020 à 14:48
La j’ai honte de moi même
Vue sur un tuto
J’ai Cru
Que <? ?> et <?php ?>
Été pareil
0