Affichage image de la BDD dans un popup

Résolu
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010 - 9 mai 2008 à 17:13
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 14 mai 2008 à 13:52
Bonjour a tous, je voudrais crée un lien hypertext qui m'ouvre un popup d'une image qui est stoqué dans une base de donnée.

Mon lien popup fonctionne quand j'le met dans mon html, mais seulment avec l'adresse d'une page, vu que pour recuperer l'image dans la Bdd il me faut une variable.

Donc quand j' met le lien popup dans mon script php avec la variable qui a l'image de ma Bdd ca ne fonctionne pas, j'pense que j'ai du mal faire ma syntaxe du lien hypertext.

Pour info mon image est stoqué dans la bdd en type blob, j'pense que c'est le bon format de stoquage...


"menu_gauche">
<?php
 
$serveur ="localhost";
$login = "root";
$mot_passe = "";
$base = "artkateo";
 
 
 
$connexion = mysql_pconnect($serveur, $login, $mot_passe) or die ("impossible de se connecter a MySQL : ".mysql_error());
 
 
 
$mabase = mysql_select_db($base) or die ("impossible de ce connecter ma table : ".mysql_error());
$requete = "select * from actualite";

$resultat = mysql_query($requete);

while($row = mysql_fetch_row($resultat))

{

$titre = $row[1];
 
$date = $row[2];

$lieu = $row[3];
 
$resume = $row[4];

$image = $row[5];

 

echo '
'.$titre.'
';

echo '
'.$date.'
';

echo '
'.$lieu.'
';

echo '
'.$resume.'
';
 
echo '
'"#" onClick="window.open('.$image.','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=yes, resizable=1, copyhistory=0, menuBar=0, width=460, height=470');return(false)">Voir image'
';
 
}
 
 
 
?>
 
 
 



<?php
 
session_start();
 
 
$serveur ="localhost";
$login = "root";
$mot_passe = "";
$base = "artkateo";
 
 
$connexion = mysql_pconnect($serveur, $login, $mot_passe) or die ("impossible de se connecter a MySQL : ".mysql_error());
 
$mabase = mysql_select_db($base) or die ("impossible de ce connecter ma table : ".mysql_error());
 
switch($_POST['action'])
 
{
case"ajout_actualite" :

$requete = "SELECT * FROM actualite WHERE (id_actualite >= 1)";

$result = mysql_query($requete) or die(mysql_error());

$row=false;

while($row = mysql_fetch_array($result)){

$requete = "DELETE FROM actualite WHERE (id_actualite >= 1)";

$resultat = mysql_query($requete) or die(mysql_error());

break;

}if(!$row);

$extensions_valides = array('jpg' , 'jpeg');
//1. strrchr renvoie l'extension avec le .
//2. substr(chaine,1) ignore le premier caractère de chaine
//3. strtolower met l'extension en minuscule
$extension_upload = strtolower(  substr(  strrchr($_FILES['image']['name'], '.')  ,1)  );
if( in_array($extension_upload,$extensions_valides))
 

{

$img_blob = file_get_contents ($_FILES['image']['tmp_name']);

$requete = "INSERT INTO actualite (titre, date, lieu, resume, img) VALUES
('".$_POST['titre']."','".$_POST['date']."','".$_POST['lieu']."','".$_POST['resume']."','".addslashes ($img_blob)."')";

$resultat = mysql_query($requete) or die(mysql_error());

if($resultat == TRUE)

{

echo "L'insertion a bien été effectué";

echo '<SCRIPT LANGUAGE="JavaScript">
function redirect() {
window.location="corine.php"
}
setTimeout("redirect()",3000); 		  </SCRIPT>';

}

else

{

echo "L'insertion a échoué";

echo '<SCRIPT LANGUAGE="JavaScript">
function redirect() {
window.location="actualite.php"
}
setTimeout("redirect()",3000); 		  </SCRIPT>';
        
        }

}

else

{
echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";

echo '<SCRIPT LANGUAGE="JavaScript">
function redirect() {
window.location="actualite.php"
}
setTimeout("redirect()",3000); 		  </SCRIPT>';

}

break;
}
 
mysql_close();
 
?>



Merci d'avance!!! ;)

12 réponses

nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 11:52
as tu une erreur ?
tu as essayé de débugger a coup de echo ?
en javascript on aurai débuggé a coup de alert mais la on va le faire avec un echo !

a++

Si t'a besoin d'aide, MP !!!
Un forum...
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
9 mai 2008 à 17:31
Salut,

c'est l'image ou l'adresse de l'image que tu a stoqué en blob ?

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
13 mai 2008 à 09:59
C'est l'image...
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
13 mai 2008 à 16:24
ok bon ba je vois pas !

Si t'a besoin d'aide, MP !!!
Un forum...
0

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

Posez votre question
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
13 mai 2008 à 17:28
J'viens de laisser tomber et j'ai decidé de la stoquer dans un dossier, mais j'aimerai renommer l'image une fois uploader pour que quand je fait une requete pour effacer l'image elle ai toujours le meme nom...

Je sais qui a la fonction rename, mais j'vois pas comment l'employer avec $_files, si jmaias vous avez une idée...

case "ajout_actualite" :
  
  
    $requete = "SELECT * FROM actualite WHERE (id_actualite >= 1)";
  
  
  $result = mysql_query($requete) or die(mysql_error());
   
    
    $row=false;
    
  while ($row = mysql_fetch_array($result)) {
  
      $requete = "DELETE FROM actualite WHERE (id_actualite >= 1)";
    
    $resultat = mysql_query($requete) or die(mysql_error());
    
   
    
   break; 
   
  }if(!$row);
  
    $type=$_FILES['image']['type'];
    
    
    if(($type!="image/jpeg")&&($type!="image/pjpeg"))
  {
  
  echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";
    
    echo '<SCRIPT LANGUAGE="JavaScript">
          function redirect() {
       window.location="actualite.php"
      }
      setTimeout("redirect()",3000);     </SCRIPT>';
  
  
  }
  else
  {
  
  
  
  $image_destination = "../image_actu/".$_FILES['image']['name'];
      $resultat1 = move_uploaded_file($_FILES['image']['tmp_name'],$image_destination);
      
    
    $requete = "INSERT INTO actualite (titre, date, lieu, resume) VALUES
    ('".$_POST['titre']."','".$_POST['date']."','".$_POST['lieu']."','".$_POST['resume']."')";
    
    $resultat = mysql_query($requete) or die(mysql_error());
    
    if($resultat == TRUE)
  
  {
  
  echo "L'insertion a bien été effectué";
  
  /*echo '<SCRIPT LANGUAGE="JavaScript">
        function redirect() {
     window.location="corine.php"
    }
    setTimeout("redirect()",3000);     </SCRIPT>';*/
  
  }
  
  else
  
  {
  
  echo "L'insertion a échoué";
  
  echo '<SCRIPT LANGUAGE="JavaScript">
        function redirect() {
     window.location="actualite.php"
    }
    setTimeout("redirect()",3000);     </SCRIPT>';
       
        }    
      
  
  }
  
  
  break;


 
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
13 mai 2008 à 17:34
tu a essayé avec move_uploaded_file() ?

a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
13 mai 2008 à 20:42
Euh, j'vois pas comment j'peux renommer avec cette fonction, j'l'utilise mais...

Peut tu m'éclairer?
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
13 mai 2008 à 21:38
je crois que c'est pour déplacer, je me suis trompé, ba je vais voir, a demain à 12 heure !

bonne nuit

Si t'a besoin d'aide, MP !!!
Un forum...
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
14 mai 2008 à 09:36
Ok, merci!!! ;)
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
14 mai 2008 à 11:30
C'est bon j'ai trouvé:

$image_destination = "../image_actu/".$_FILES['image']['name'];

Tu change $_FILES['image']['name'] par le nom que tu veux.

ex : $image_destination = "../image_actu/monimage.jpg";

Par contre la j'ai voulu faire une requete que quand valide mon formulaire ca me supprime l'ancienne image, j'ai utilisée la fonction unlink(), mais ca ne fonctionne pas, j'pense que je dois mal l'utiliser...

Avez vous une idée ou une autre methode?

case "ajout_actualite" :


$requete = "SELECT * FROM actualite WHERE (id_actualite >= 1)";


$result = mysql_query($requete) or die(mysql_error());


$row=false;

while ($row = mysql_fetch_array($result)) {

$requete = "DELETE FROM actualite WHERE (id_actualite >= 1)";

$resultat = mysql_query($requete) or die(mysql_error());

unlink(../image_actu/actualite.jpg);


break;

}if(!$row);

$type=$_FILES['image']['type'];


if(($type!="image/jpeg")&&($type!="image/pjpeg")) { echo "Erreur le fichier que vous telecharger n'est pas dans le bon format";

echo '<SCRIPT LANGUAGE="JavaScript">functionredirect(){window.location="actualite.php"}setTimeout("redirect()",3000);</SCRIPT>';


}
else
{



$image_destination = "../image_actu/actualite.jpg";

$resultat1 = move_uploaded_file($_FILES['image']['tmp_name'],$image_destination);







$requete = "INSERT INTO actualite (titre, date, lieu, resume) VALUES
('".$_POST['titre']."','".$_POST['date']."','".$_POST['lieu']."','".$_POST['resume']."')";

$resultat = mysql_query($requete) or die(mysql_error());

if($resultat == TRUE)

{

echo "L'insertion a bien été effectué";

/*echo '<SCRIPT LANGUAGE="JavaScript">functionredirect(){window.location="corine.php"}setTimeout("redirect()",3000);</SCRIPT>';*/

}

else

{

echo "L'insertion a échoué";

echo '<SCRIPT LANGUAGE="JavaScript">functionredirect(){window.location="actualite.php"}setTimeout("redirect()",3000);</SCRIPT>';

}


}


break;
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
14 mai 2008 à 13:40
C'est bon, vu que l'image a chaque fois le meme nom quand j'upload une nouvelle elle ecrase l'ancienne automatqment...

Merci pour ton aide!!! ;)
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
14 mai 2008 à 13:52
de rien a++

Si t'a besoin d'aide, MP !!!
Un forum...
0
Rejoignez-nous