probleme insertion image

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme insertion image

Re: probleme insertion image

par asgardlegrand » 04 mai 2019, 00:10

<td><img src="/image/<?php echo $plaintes['id'].".png"; ?>"/></td> la ligne qui devrait m'afficher l'image selon le nom avant l'extension ne m'affiche rien.
cela m'affiche des croix https://gyazo.com/3182e8628e18d6c987647d4f80a3d7f0
lorsque je fait propriété de l'emplacement de l'image 2 dans le tableau cela affiche dela https://gyazo.com/3604fbff579d4e6def72db387a59a1bf

j'aimerais :
simplement afficher la photo portant le nom id correspondant a la requete formulaire. sachant que l'image porte le nom de l'id. car enregistré comme cela dans le fichier

Re: probleme insertion image

par asgardlegrand » 04 mai 2019, 00:04

actuellment l'enregistrement s'effectue dans un dossier nommé "image" l 'image prend le numero de l'id renseigné.

Re: probleme insertion image

par asgardlegrand » 03 mai 2019, 23:38

je ne vois pas ou je dois mettre $extensions = array('.png');??
pour inserer l'image ou son url je dois faire un insert?
la ce que tu me propose c'est pour afficher les images qui ont le nom ID

Re: probleme insertion image

par or 1 » 03 mai 2019, 13:53

$extensions = array('.png');

l'enregistrement s'ajoute bien dans la table (à vérifier dans phpmyadmin) ?

Re: probleme insertion image

par asgardlegrand » 03 mai 2019, 13:51

voila j'ai modifié voila ce que cela donne mais j'ai toujours un soucis, ca n'affiche pas l'image et j'aimerais poiuvoir afficher les images qui ont une extension que j'aurais definis jpg','gif','png','jpeg'
l image que je transmet arrive bien dans le fichier image avec le nom (id).extension.
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
 <link rel="stylesheet" type="text/css" href="css/plainte_consultation.css">
  <link rel="stylesheet" type="text/css" href="css/bouton.css">
</head>
<body>
<hr>
<?php

// On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
require 'menu.php';

// On récupère nos variables de session
if ($_SESSION['groupe'] == 2 XOR $_SESSION['groupe'] == 3 XOR $_SESSION['groupe'] == 4)  {

 ?>
  <form enctype="multipart/form-data" action="inser_formulaire_photo.php" method="post">
    <fieldset>
        <legend>Formulaire d 'envoi de photo</legend>
          <p>
  <input type="text" name="id" id="id" placeholder="numero du dossier" required>           
 <input type="file" name="fichier">
 <input type="submit" value="envoyer">
          </p>
      </fieldset>
    </form>
 
  <H3><CENTER><a href="inscription_casier.php" class="bouton">Enregistrer un casier</a>
</CENTER></H3>
 
			<center><h3>AFFICHAGE DES  CASIERS EN COURS </h3></center>
			            <hr>
<table border=1>
  <tr>
    <th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Numero de dossier</font></th>
        <th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">PHOTO</font></th>
	<th  style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Horodateur</font></th>
    <th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Nom</font></th>
    <th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Prenom</font></th>
    <th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">type d'infraction</font></th>
       <th style="background-color:#C0C0C0;"><font face="Arial, Helvetica, sans-serif">Afficher</font></th>

  </tr>
</table>

<?php include 'database.php';
global $db;

$q = $db->query("SELECT * FROM `casier`WHERE statut != 'Archive'");
while ($plaintes = $q->fetch()) { ?>

<table border=1>
    <tr>
       <td> <?= $plaintes['id'] ?> </td>
	  	<td><img src="/image/<?php echo $plaintes['id'].".png"; ?>"/></td>
<td> <?= $plaintes['daterec'] ?> </td>
      <td> <?= $plaintes['nom'] ?> </td>
      <td> <?= $plaintes['prenom'] ?> </td>
      <td> <?= $plaintes['question'] ?> </td>
     
	  <td><a href="consulter_casier.php?id=<?=$plaintes['id']?>&type=afficher"class="bouton">Afficher</a></td>

   </tr>
  </table>
 


<?php }

         }
else {
	header("Location: menu.php");
}
?>


</body>

</html>
et mon fichier inser_formulaire_photo
<?php
 require 'menu.php'; 
 $id = $_POST['id'];
 
define('TARGET', 'image/');
define('MAX_SIZE', 200000); 
define('WIDTH_MAX', 800);
define('HEIGHT_MAX', 800);

$tabExt = array('jpg','gif','png','jpeg'); 
$infosImg = array();

$extension = '';
$message = '';
$nomImage = '';

if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) { 
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'); 
}
}
if(!empty($_POST))
{ 
// On verifie si le champ est rempli 
if( !empty($_FILES['fichier']['name']) ) 
{
// Recuperation de l'extension du fichier 
$extension = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION); 
// On verifie l'extension du fichier 
if(in_array(strtolower($extension),$tabExt)) 
{ 
// On recupere les dimensions du fichier 
$infosImg = getimagesize($_FILES['fichier']['tmp_name']); 
// On verifie le type de l'image 
if($infosImg[2] >= 1 && $infosImg[2] <= 14) 
{ 


// On verifie les dimensions et taille de l'image 
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE)) 

//on redimentionne limage
$x = 75; 

$y = 75; # Taille en pixel de l'image redimensionnée 

if ($infosImg)

echo 'Image redimensionnée ... 
'; 

if ($infosImg['mime']=='image/jpeg' ) { 
$img_big = imagecreatefromjpeg($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine 
$img_new = imagecreate($x, $y); 
# création de la miniature 
$img_mini = imagecreatetruecolor($x, $y) 
or $img_mini = imagecreate($x, $y); 

// copie de l'image, avec le redimensionnement. 
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); 

imagejpeg($img_mini,$_FILES['fichier']['tmp_name'] ); 
}
elseif ($infosImg['mime']=='image/png' ) { 
$img_big = imagecreatefrompng($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine 
$img_new = imagecreate($x, $y); 
# création de la miniature 
$img_mini = imagecreatetruecolor($x, $y) 
or $img_mini = imagecreate($x, $y); 

// copie de l'image, avec le redimensionnement. 
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); 

imagepng($img_mini,$_FILES['fichier']['tmp_name'] ); 
}
elseif ($infosImg['mime']=='image/gif' ) { 
$img_big = imagecreatefromgif($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine 
$img_new = imagecreate($x, $y); 
# création de la miniature 
$img_mini = imagecreatetruecolor($x, $y) 
or $img_mini = imagecreate($x, $y); 

// copie de l'image, avec le redimensionnement. 
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); 

imagegif($img_mini,$_FILES['fichier']['tmp_name'] ); 
}
{ 
// Parcours du tableau d'erreurs 
if(isset($_FILES['fichier']['error']) 
&& UPLOAD_ERR_OK === $_FILES['fichier']['error']) 
{ 
// On renomme le fichier 
$nomImage = $id .'.'. $extension; 
// Si c'est OK, on teste l'upload 
if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage)) 
{ 
$message = 'Upload réussi !'; 
} 
else 
{ 
// Sinon on affiche une erreur systeme 
$message = 'Problème lors de l\'upload !'; 
} 
} 
else 
{ 
$message = 'Une erreur interne a empêché l\'uplaod de l\'image'; 
} 
}
} 
else 
{ 
// Sinon erreur sur les dimensions et taille de l'image 
$message = 'Erreur dans les dimensions de l\'image !'; 
} 
} 
else 
{ 
// Sinon erreur sur le type de l'image 
$message = 'Le fichier à uploader n\'est pas une image !'; 
} 
} 
else 
{ 
// Sinon on affiche une erreur pour l'extension 
$message = 'L\'extension du fichier est incorrecte !'; 
} 
} 
else 
{ 
// Sinon on affiche une erreur pour le champ vide 
$message = 'Veuillez remplir le formulaire svp !'; 
}
?>
merci de votre aide


j'aimerais pouvoir inserer le lien de la photo dans la base de données directement via le formulaire d'insertion de l'image. ainsi plutot que d'aller chercher la photo dans le fichier image, elle sera recuperé via son url dans la base de donnée.

Re: probleme insertion image

par asgardlegrand » 03 mai 2019, 07:54

je creois voir ce que tu veux dire, je travail ca et je reviens vers vous

Re: probleme insertion image

par or 1 » 02 mai 2019, 21:32

$_POST['nom'] existe seulement quand on soumet le formulaire, pas quand on affiche le formulaire pour qu'il soit rempli.

probleme insertion image

par asgardlegrand » 02 mai 2019, 21:04

je developpe un panel pour un jeu et je cherche a pouvoir ajouter dans la partie casier judiciaire la photo de la personne. j'ai donc creer cela mais je reste bloqué sur une erreur en line 60 qui me dit
Notice: Undefined index: nom in F:\pannel\www\image5\ajout_ad.php on line 60

j'ai besoin de votre aide.
<!DOCTYPE >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AJOUT - DE CASIERS</title>

</head>

<body>

    <div id="contains">

        <div id="page" class="bor_general">
        	<div id="corps">
            	<div id="tit_corps">
                	<h2 class="gen">Ajouter un casier</h2>
            		<div class="clear"></div>
                </div>
              <form method="post" action="" id="form" enctype="multipart/form-data" >
               <table>
               		<tr>
                    <td  width="120" class="tit_champ">NOM :</td>
                    <td width="600"><input name="nom" type="text" id="nom" class="txt_champ" /></td>
                    </tr>
					<tr>
                    <td  width="120" class="tit_champ">Prenom :</td>
                    <td width="600"><input name="prenom" type="text" id="prenom" class="txt_champ" /></td>
                    </tr>
                    
                    <tr>
                    <td  width="119" class="tit_champ">Photo* :</td>
                    <td class="champfichier"><input type="hidden" name="MAX_FILE_SIZE" value="1000000" /><input name="photo" type="file" /></td>
                    </tr>
                   
                    <tr>
                    <td>&nbsp;</td>
                    <td><input name="envoyer" type="image" src="design/envoyer.png" value="envoyer" /></td>
                    </tr>
               </table>
               
               </form>
                  <p>* fichier ".png" - dimension : 200x150</p>
                    
                    <div class="clear"></div>
                    </div>
                    <div id="bandeau">
                    </div>
                </div>
                    
          <div class="clear"></div>
		  
		  <?php 
		  include 'database.php';
global $db;
  function filter($in) {
  $search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@','@[\']@');
  $replace = array ('e','a','i','u','o','c','_','');
  return preg_replace($search, $replace, $in);
  }
$nom = $_POST['nom'];

if(isset($_FILES['photo']))
{

    $dossier = 'images/adherents/'; echo   "<br>" .$dossier;
    $photo = basename($_FILES['photo']['name']);echo  "<br>" . $_FILES['photo']['tmp_name'];
    $taille_maxi = 1000000;
    $taille = $_FILES['photo']['size'];
    $extensions = array('.png');
    $extension = $_FILES['photo']['type']; 
    
    //Début des vérifications de sécurité...
    if(!file_exists($dossier)){
    echo "<br> Erreur le dossier $dossier n'existe pas !";
    }
      if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
      {
       $erreur = '<br> Vous devez uploader un fichier de type png...';
      }
      if($taille>$taille_maxi)
      {
       $erreur = '<br> Le fichier est trop gros...';
      }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
       //On formate le nom du fichier ici...
       $photo = strtr($photo, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
       $photo = preg_replace('/([^.a-z0-9]+)/i', '-', $photo);
      if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $photo)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
       {
        echo '<br> Upload a IMAGE effectué avec succès !';
      }
      else //Sinon (la fonction renvoie FALSE).
       {
        echo '<br> Echec de l\'upload IMAGE !';echo "<br> chemin de destination =>" . $dossier . $photo;
      }
    }
    else
    {
       echo $erreur;
    }			

      
        $req = $bdd->prepare('INSERT INTO casier(nom, prenom, photo) VALUES (:nom, :prenom, :photo)');
        $req->execute(array(
          'nom' => $nom,
          'prenom' => $prenom,
          'photo' => $photo,
     
          ));

        //header("location:index.php");
    }
?>
        </div>
    </div>
       </body>
	   </html>