Je ne vois pas l'erreur mais il y en a

Signaler
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
-
 f0xi -
salue j'ecris un code pour inserrer des images dans ma base de données . je reçois le message :L'insertion s est bien déroulée ! .mais rien ne ce passe dans la bdd.
merci de bien vouloir m'aider.
voici mon code :
<?php
//include('functions/declarant.func.php');
include('body/header.php');
include('body/menu.php');
?>
<?php

if(isset($_GET['id'])) $id = urldecode($_GET['id']);

if(isset($_POST['bouton_submit'])&& !empty($_POST['nbre'])){
 $cat = strip_tags(trim($_POST['cat'])); 
  
    for($i = 1; $i <= $_POST['nbre']; $i++){

if(isset($_FILES['image'.$i]) && $_FILES['image'.$i]['error'] == 0 && isset($_POST['nbre'])){

  //Indique si le fichier a été téléchargé
  if(!is_uploaded_file($_FILES['image'.$i]['tmp_name']))
  echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
  else {
  //liste des extensions possibles    
  $extensions = array('/png', '/gif', '/jpg', '/jpeg');
 
  //récupère la chaîne à partir du dernier / pour connaître l'extension
  $extension = strrchr($_FILES['image'.$i]['type'], '/');
 
  //vérifie si l'extension est dans notre tableau            <em></em>
  if(!in_array($extension, $extensions))
   echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
  else {         
 
   //on définit la taille maximale
   define('MAXSIZE', 300000);        
   if($_FILES['image'.$i]['size'] > MAXSIZE)
      echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets';
   else {
    //connexion à la base de données
    try {
     $bdd = new PDO('mysql:host=localhost;dbname=------------', 'root', '');
    } catch (Exception $e) {
     exit('Erreur : ' . $e->getMessage());
    }
 
    //Lecture du fichier
    $image = file_get_contents($_FILES['image'.$i]['tmp_name']);
 
    $req = $bdd->prepare("INSERT INTO image(img, extension ,id_victime) VALUES(:image, :type , :id)");
    $req->execute(array(
     
     'image' => $image,
     'type' => $_FILES['image'.$i]['type']
     ));
 
    echo 'L\'insertion s est bien déroulée !';
    }
    }
   }
  
}

}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {
 color: #0000FF;
 font-weight: bold;
}
.Style4 {
 color: #990033;
 font-weight: bold;
}
.Style6 {color: #990000}
-->
</style>
</head>

<body>
<div class="DestinaireImage" align="center" >
<h1 align="center" class="subfooter  Style3">Enregistrement des Courriers </h1>

<form action="" method="post" enctype="multipart/form-data">
  <p> </p>
  <table width="570" height="95" border="0" align="center" bordercolor="#0000FF" > 
  <tr> <td width="200"><span class="Style4">Saisir le nombre de pages:</span></td> 
    <td width="360"><input name="nbre" type="text" size="1" maxlength="1" value="<?php if(isset($_POST['nbre']))echo $_POST['nbre'];?>"/></td> </tr> <tr> <td> </td> <td bordercolor="#0000FF"> <fieldset> <legend><span class="Style6">AJOUTER DES DOCUMENTS </span></legend>  
          <?php if(isset($_POST['bouton_submit']) && ($_POST['nbre'])){ extract($_POST); $nbre_photo = $nbre; for($j = 1; $j<= $nbre_photo; $j++){ echo'<input type="file" name="image'.$j.'" /><br/>'; } } ?> </fieldset> </td> </tr> <tr> <td> </td> <td><input type="submit" name="bouton_submit" value="envoyer" ></input></td> </tr></table>
</form>
</div>
<p> </p>
</body>
</html>

21 réponses

Messages postés
14809
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
156
Bonjour,

La fonction n'est pas à utiliser sur le nom du fichier, mais sur son contenu :
$image = mysql_real_escape_string(file_get_contents($_FILES['image'.$i]['tmp_name'])); 


Mais il est d'usage de mettre un fichier en tant que fichier et de faire le lien (avec son nom par exemple) dans la base de données, sinon, ta base de données va vite s'alourdir et ralentir.
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
je suis arrivé à ça mais toujours rien . voici le message d'erreur
:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz??????????????????????????????????????' at line 1


<?php

if(isset($_GET['id'])) $id = urldecode($_GET['id']);

if(isset($_POST['bouton_submit'])&& !empty($_POST['nbre'])){
 $cat = strip_tags(trim($_POST['cat'])); 
  
    for($i = 1; $i <= $_POST['nbre']; $i++){

if(isset($_FILES['image'.$i]) && $_FILES['image'.$i]['error'] == 0 && isset($_POST['nbre'])){

  //Indique si le fichier a été téléchargé
  if(!is_uploaded_file($_FILES['image'.$i]['tmp_name']))
  echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
  else {
  //liste des extensions possibles    
  $extensions = array('/png', '/gif', '/jpg', '/jpeg');
 
  //récupère la chaîne à partir du dernier / pour connaître l'extension
  $extension = strrchr($_FILES['image'.$i]['type'], '/');
 
  //vérifie si l'extension est dans notre tableau            <em></em>
  if(!in_array($extension, $extensions))
   echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
  else {         
 
   //on définit la taille maximale
   define('MAXSIZE', 300000);        
   if($_FILES['image'.$i]['size'] > MAXSIZE)
      echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets';
   else {
    //connexion à la base de données
    try {
     $bdd = new PDO('mysql:host=localhost;dbname=----------', 'root', '');
    } catch (Exception $e) {
     exit('Erreur : ' . $e->getMessage());
    }
 
    //Lecture du fichier
    $image = file_get_contents($_FILES['image'.$i]['tmp_name']);
 
    mysql_query("INSERT INTO image(id_img,img, extension ,id_victime) VALUES('','".$image."', '".$extension."','".$id."')") or die(mysql_error());

 
    echo 'L\'insertion s est bien déroulée !';
    }
    }
   }
  
}

}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {
 color: #0000FF;
 font-weight: bold;
}
.Style4 {
 color: #990033;
 font-weight: bold;
}
.Style6 {color: #990000}
-->
</style>
</head>

<body>
<div class="DestinaireImage" align="center" >
<h1 align="center" class="subfooter  Style3">Enregistrement des Courriers </h1>

<form action="" method="post" enctype="multipart/form-data">
  <p> </p>
  <table width="570" height="95" border="0" align="center" bordercolor="#0000FF" > 
  <tr> <td width="200"><span class="Style4">Saisir le nombre de pages:</span></td> 
    <td width="360"><input name="nbre" type="text" size="1" maxlength="1" value="<?php if(isset($_POST['nbre']))echo $_POST['nbre'];?>"/></td> </tr> <tr> <td> </td> <td bordercolor="#0000FF"> <fieldset> <legend><span class="Style6">AJOUTER DES DOCUMENTS </span></legend>  
          <?php if(isset($_POST['bouton_submit']) && ($_POST['nbre'])){ extract($_POST); $nbre_photo = $nbre; for($j = 1; $j<= $nbre_photo; $j++){ echo'<input type="file" name="image'.$j.'" /><br/>'; } } ?> </fieldset> </td> </tr> <tr> <td> </td> <td><input type="submit" name="bouton_submit" value="envoyer" ></input></td> </tr></table>
</form>
</div>
<p> </p>
</body>
</html>
Messages postés
14809
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
156
Affiches la requête SQL effectuée avec un echo par exemple.
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
je ne comprend pas bien ce que vous me demandez .
voici l'erreur qui s'affiche quand j'exécute mon code :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz??????????????????????????????????????' at line 1
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
j'attends toujours que quelqu'un m'aide . je viens de faire un echo sur ma requête et ça m'affiche des écriture très bisards.
voici ce qui s'affiche:

INSERT INTO image(id_img,img, extension ,id_victime) VALUES('','ÿØÿàJFIFÿþuzU05357587968603A3B36393532454543483F384F42393A383964595342433B3837353635313E3F3A363B34756B623F3F370C71F629000266B7ÿÛC      ÿÛC  ÿÀ, "ÿÄ ÿĵ}!{...PAS BESOIN DE METTRE LES 30Ko DE LA REQUETTE, MERCI ;) ...} 5,S':oeïJãO¡ì±ÈP1MÉÇðY­*ñ&2zâ>»Zݪ m¡ÿÙ','/jpeg','5')You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz??????????????????????????????????????' at line 1
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
un echo sur ma requête me donne ;
INSERT INTO image(id_img,img, extension ,id_victime) VALUES('','ÿØÿàJFIFÿþuzU05357
{...PAS BESOIN DE METTRE LES 30Ko DE LA REQUETTE, MERCI ;) ...}
cdefghijstuvw..................................................ª m¡ÿÙ','/jpeg','5')You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz??????????????????????????????????????' at line 1
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
voici ou j'en suis mais j'ai toujours rien dans ma bdd.
après un écho sur ma requête d'insertion j'ai ça :
INSERT INTO image(id_img,img, extension ,id_victime) VALUES('',:image, :type, :id)L'insertion s est bien déroulée !

voici ma requête :

<?php

if(isset($_GET['id'])) $id = urldecode($_GET['id']);

if(isset($_POST['bouton_submit'])&& !empty($_POST['nbre'])){
 $cat = strip_tags(trim($_POST['cat'])); 
  
    for($i = 1; $i <= $_POST['nbre']; $i++){

if(isset($_FILES['image'.$i]) && $_FILES['image'.$i]['error'] == 0 && isset($_POST['nbre'])){

	 //Indique si le fichier a été téléchargé
	 if(!is_uploaded_file($_FILES['image'.$i]['tmp_name']))
		echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
	 else {
		//liste des extensions possibles    
		$extensions = array('/png', '/gif', '/jpg', '/jpeg');
 
		//récupère la chaîne à partir du dernier / pour connaître l'extension
		$extension = strrchr($_FILES['image'.$i]['type'], '/');
 
		//vérifie si l'extension est dans notre tableau            <em></em>
		if(!in_array($extension, $extensions))
			echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
		else {         
 
			//on définit la taille maximale
			define('MAXSIZE', 300000);        
			if($_FILES['image'.$i]['size'] > MAXSIZE)
			   echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets';
			else {
				//connexion à la base de données
				try {
					$bdd = new PDO('mysql:host=localhost;dbname=bddgescour', 'root', '');
				} catch (Exception $e) {
					exit('Erreur : ' . $e->getMessage());
				}
 
				//Lecture du fichier
				$image = file_get_contents($_FILES['image'.$i]['tmp_name']);
 
				//METHODE normal
                    //$sql= "INSERT INTO image(id_img,img, extension ,id_victime) VALUES('','".$image."','".$extension."','".$id."')";
					//echo "INSERT INTO image(id_img,img, extension ,id_victime) VALUES('','".$image."','".$extension."','".$id."')";O
		            //$result = mysql_query($sql) or die(mysql_error());
		//fin METHODE normal
		//methode PDO
						$req = $bdd->prepare("INSERT INTO image(id_img,img, extension ,id_victime) VALUES('',:image, :type, :id)");
				echo "INSERT INTO image(id_img,img, extension ,id_victime) VALUES('',:image, :type, :id)";
				$req->execute(array(   
				    'id_img'=>'',
					'image' => $image,
					'type' => $_FILES['image'.$i]['type'],
					'id' => $id,
					));
		// FIN PDO
		if (!$req) {
    	die('linsertion n a pas réussie !!! : ' . mysql_error());

		}else{
 
				echo 'L\'insertion s est bien déroulée !';}
			 }
		  }
	  }
		
}

}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {
	color: #0000FF;
	font-weight: bold;
}
.Style4 {
	color: #990033;
	font-weight: bold;
}
.Style6 {color: #990000}
-->
</style>
</head>

<body>
<div class="DestinaireImage" align="center" >
<h1 align="center" class="subfooter  Style3">Enregistrement des Courriers </h1>

<form action="" method="post" enctype="multipart/form-data">
  <p>&nbsp;</p>
  <table width="570" height="95" border="0" align="center" bordercolor="#0000FF" > 
  <tr> <td width="200"><span class="Style4">Saisir le nombre de pages:</span></td> 
    <td width="360"><input name="nbre" type="text" size="1" maxlength="1" value="<?php if(isset($_POST['nbre']))echo $_POST['nbre'];?>"/></td> </tr> <tr> <td>&nbsp;</td> <td bordercolor="#0000FF"> <fieldset> <legend><span class="Style6">AJOUTER DES DOCUMENTS </span></legend>	 
          <?php if(isset($_POST['bouton_submit']) && ($_POST['nbre'])){ extract($_POST); $nbre_photo = $nbre; for($j = 1; $j<= $nbre_photo; $j++){ echo'<input type="file" name="image'.$j.'" /><br/>'; } } ?> </fieldset> </td> </tr> <tr> <td>&nbsp;</td> <td><input type="submit" name="bouton_submit" value="envoyer" ></input></td> </tr></table>
</form>
</div>
<p>&nbsp;</p>
</body>
</html>
Messages postés
14809
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
156
Bonsoir :
INSERT INTO image(id_img,img, extension ,id_victime) VALUES('','ÿØÿàJFIFÿþuzU05357587968603A3B36393532454543483F384F42393A383964595342433B3837353635313E3F3A363B34756B623F3F370C71F629000266B7ÿÛC      ÿÛC  ÿÀ, "ÿÄ ÿĵ}!1AQa"q2 '¡#B±ÁRÑð$3br' %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzf"...

Regardes bien, dans ton fichier, il y a le caractère ' donc tu sors de ta chaine.

Regardes :
http://php.net/manual/fr/function.mysql-real-escape-string.php
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
vraiment je vois pas l'erreur . j'ai essayé de proteger avec la fonction :mysql_real_escape_string() mais c'est toujours le meme resultat
Messages postés
14809
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
156
Bonsoir,

Que donne ton code avec cette fonction ?
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
salut j'ai pu regler le problème . mais j'arrive pas a afficher les images
.
voici ce que j'ai fais et ça marché :
<?php
include('body/header.php');
include('body/menu.php');
if(isset($_GET['id'])) $id = urldecode($_GET['id']);

if(isset($_POST['bouton_submit'])&& !empty($_POST['nbre'])){
 $cat = strip_tags(trim($_POST['cat'])); 
  
    for($i = 1; $i <= $_POST['nbre']; $i++){

if(isset($_FILES['image'.$i]) && $_FILES['image'.$i]['error'] == 0 && isset($_POST['nbre'])){

	 //Indique si le fichier a été téléchargé
	 if(!is_uploaded_file($_FILES['image'.$i]['tmp_name']))
		echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
	 else {
		//liste des extensions possibles    
		$extensions = array('/png', '/gif', '/jpg', '/jpeg', '/rtf', '/docx', '/xlsx', '/doc', '/bmp');
 
		//récupère la chaîne à partir du dernier / pour connaître l'extension
		$extension = strrchr($_FILES['image'.$i]['type'], '/');
 
		//vérifie si l'extension est dans notre tableau            <em></em>
		if(!in_array($extension, $extensions))
			echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
		else {         
 
			//on définit la taille maximale
			define('MAXSIZE', 300000);        
			if($_FILES['image'.$i]['size'] > MAXSIZE)
			   echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets';
			else {
				//connexion à la base de données
				try {
					$bdd = new PDO('mysql:host=localhost;dbname=bddgescour', 'root', '');
				} catch (Exception $e) {
					exit('Erreur : ' . $e->getMessage());
				}
 
				//Lecture du fichier
				$image = file_get_contents(mysql_real_escape_string($_FILES['image'.$i]['tmp_name']));
                $nom = $_SESSION['pseudo'];
		//methode PDO
						$req = $bdd->prepare("INSERT INTO image (nom,img, extension ,id_victime) VALUES (:nom,:image, :type, :id)");
				echo "INSERT INTO image (nom,img, extension ,id_victime) VALUES (:nom,:image, :type, :id)";
				$req->execute(array(   
				    'nom' =>$nom,
					'image' => $image,
					'type' => $_FILES['image'.$i]['type'],
					'id' => $id,
					));
		// FIN PDO
		if (!$req) {
    	die('linsertion n a pas réussie !!! : ' . mysql_error());

		}else{
 
				echo 'L\'insertion s est bien déroulée !';}
			 }
		  }
	  }
		
}

}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {
	color: #0000FF;
	font-weight: bold;
}
.Style4 {
	color: #990033;
	font-weight: bold;
}
.Style6 {color: #990000}
-->
</style>
</head>

<body>
<div class="DestinaireImage" align="center" >
<h1 align="center" class="subfooter  Style3">Enregistrement des Courriers </h1>

<form action="" method="post" enctype="multipart/form-data">
  <p>&nbsp;</p>
  <table width="570" height="95" border="0" align="center" bordercolor="#0000FF" > 
  <tr> <td width="200"><span class="Style4">Saisir le nombre de pages:</span></td> 
    <td width="360"><input name="nbre" type="text" size="1" maxlength="1" value="<?php if(isset($_POST['nbre']))echo $_POST['nbre'];?>"/></td> </tr> <tr> <td>&nbsp;</td> <td bordercolor="#0000FF"> <fieldset> <legend><span class="Style6">AJOUTER DES DOCUMENTS </span></legend>	 
          <?php if(isset($_POST['bouton_submit']) && ($_POST['nbre'])){ extract($_POST); $nbre_photo = $nbre; for($j = 1; $j<= $nbre_photo; $j++){ echo'<input type="file" name="image'.$j.'" /><br/>'; } } ?> </fieldset> </td> </tr> <tr> <td>&nbsp;</td> <td><input type="submit" name="bouton_submit" value="envoyer" ></input></td> </tr></table>
</form>
</div>
<p>&nbsp;</p>
</body>
</html>


voici mes codes pour afficher qui marchent pas .
galerie.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Ma galerie d'images</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <style type="text/css">
		body {
			width: 95%;
		}
 
		
 
		p {
			text-align: left;
		}
 
		a {
			color: #000000;
			text-decoration: none;
		}
	   </style>
   </head>
   <body>
 
	<h1 style="position:absolute;top:200px; left:350px">FICHIERS NUMERISES</h1>
 
	<?php
	include('body/header.php');
    include('body/menu.php');
	    try {
		$bdd = new PDO('mysql:host=localhost;dbname=bddgescour', 'root', '');
               } catch (Exception $e) {
		exit('Erreur : ' . $e->getMessage());
	    }
        if(isset($_GET['id']));
           $id = $_GET['id'];
         // on crée la requête SQL

	    $reponse = $bdd->query("SELECT img,id_img,nom,id_victime FROM  image  WHERE id_victime='".$id."'   ");
	    while($result = $reponse->fetch()) {
 
		echo '<div style="position:relative;top:250px; left:-121px;	width: 22%;
			float: left;
			text-align: center;
			border: 1px solid black;
			margin: 5px;
			padding:  5px">';
		echo '<a href="index.php?page=apercu&id_img='.$result['id_victime'].'"><img src="index.php?page=apercu&id_img='.$result['id_victime'].'"   alt="'.$result['nom'].'"   title="'.$result['nom'].'"/></a>';
		
		echo '</div>';
	    }
 
	    $reponse->closeCursor();
	?>

</body>
</html>


et ensuite

apercu.php

<?php
include('body/header.php');
include('body/menu.php');
    //si nous avons une image
    if(!empty($_GET['id_img'])) {
 
	//connexion à la base de données
	try {
		$bdd = new PDO('mysql:host=localhost;dbname=bddgescour', 'root', '');
	} catch (Exception $e) {
		exit('Erreur : ' . $e->getMessage());
	}
 
	//on sécurise notre donnée
	$idImg = intval($_GET['id_img']);
	echo $idImg;
 
	//la requète qui récupère l'image à partir de l'identifiant
	$req = $bdd->prepare('SELECT * FROM image WHERE id_victime = ?');
	$req->execute(array($idImg));		
 
	if($req->rowCount() <1)
		echo 'L\'image n\'existe pas !';
	else {
		//on stocke les données dans un tableau
		$donnees = $req->fetch();		
		//on indique qu'on affiche une image
		header ("Content-type: ".$donnees['extension']);
		//on affiche l'image en elle même
		echo $donnees['img'];
	
	}
 
	$req->closeCursor();
 
    } else
           echo 'Vous n avez pas sélectionné d image !';
?>
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
bonjour merci de bien vouloir me répondre.
je viens de corriger $image = mysql_real_escape_string(file_get_contents($_FILES['image'.$i]['tmp_name']));

mais mon problème se trouve au niveau de l'affichage des données.
quand je veux afficher ça me met comme erreur :

L'mage"http://localhost/xxxxx?page=apercu&id=11" ne peut etre affiché car elle contient des erreurs .

*voici mes 2 codes utilisés pour afficher :

galerie.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Ma galerie d'images</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <style type="text/css">
		body {
			width: 95%;
		}
 
		
 
		p {
			text-align: left;
		}
 
		a {
			color: #000000;
			text-decoration: none;
		}
	   </style>
   </head>
   <body>
 
	<h1 style="position:absolute;top:200px; left:350px">FICHIERS NUMERISES</h1>
 
	<?php
	include('body/header.php');
    include('body/menu.php');
	    try {
		$bdd = new PDO('mysql:host=localhost;dbname=bddgescour', 'root', '');
               } catch (Exception $e) {
		exit('Erreur : ' . $e->getMessage());
	    }
        if(isset($_GET['id']));
           $id = $_GET['id'];
         // on crée la requête SQL

	    $reponse = $bdd->query("SELECT img,id_img,nom,id_victime FROM  image  WHERE id_victime='".$id."'   ");
	    while($result = $reponse->fetch()) {
 
		echo '<div style="position:relative;top:250px; left:-121px;	width: 22%;
			float: left;
			text-align: center;
			border: 1px solid black;
			margin: 5px;
			padding:  5px">';
		echo '<a href="index.php?page=apercu&id_img='.$result['id_victime'].'"><img src="index.php?page=apercu&id_img='.$result['id_victime'].'"   alt="'.$result['nom'].'"   title="'.$result['nom'].'"/></a>';
		
		echo '</div>';
	    }
 
	    $reponse->closeCursor();
	?>

</body>
</html>


et le page apercu.php

<?php
include('body/header.php');
include('body/menu.php');
    //si nous avons une image
    if(!empty($_GET['id_img'])) {
 
	//connexion à la base de données
	try {
		$bdd = new PDO('mysql:host=localhost;dbname=bddgescour', 'root', '');
	} catch (Exception $e) {
		exit('Erreur : ' . $e->getMessage());
	}
 
	//on sécurise notre donnée
	$idImg = intval($_GET['id_img']);
	echo $idImg;
 
	//la requète qui récupère l'image à partir de l'identifiant
	$req = $bdd->prepare('SELECT * FROM image WHERE id_victime = ?');
	$req->execute(array($idImg));		
 
	if($req->rowCount() <1)
		echo 'L\'image n\'existe pas !';
	else {
		//on stocke les données dans un tableau
		$donnees = $req->fetch();		
		//on indique qu'on affiche une image
		header ("Content-type: ".$donnees['extension']);
		//on affiche l'image en elle même
		echo $donnees['img'];
	
	}
 
	$req->closeCursor();
 
    } else
           echo 'Vous n avez pas sélectionné d image !';
?>
Messages postés
14809
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
156
As-tu essayer d'enregistrer l'image générée et de comparer au moins le début pour essayer de comprendre ?
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
je saisi pas ta question
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
bonsoir je comprend pas ce que tu me demande de faire. sois plus explicite
Messages postés
14809
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
156
En d'autres termes, as-tu essayer de voir si l'image restituée est la même que celle initiale, en comparant le contenu (binaire) des fichiers ?
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
je sais pas comment m'y prendre pour faire cette comparaison
Messages postés
14809
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
156
Tu peux déjà regarder avec le bloc note voir si le début de l'image n'est pas modifiée.
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
ah vraiment je vois pas . y a pas autre moyen .
Messages postés
14809
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 juillet 2021
156
Bonsoir,

Si il est dit que l'image est incorrecte, c'est que l'image retournée est différente de celle initiale.

Essayes d'enregistrer l'image en tant que fichier au lieu de la mettre dans la base de données.
Messages postés
500
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
13 avril 2021
1
je sais bien le faire en tant que fichier mais le client exige la methode binaire