upload image et actualisation

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 03:04

Bonjour,
J'ai créé un petit formulaire dans lequel on peut mettre à jour les données d'un produit. On peut uploader une image pour le produit.
L'image est affichée également dans la fiche produit, grâce à une requete sql.

http://82.227.167.30/libgiard/admin/ind ... Livre=3310

Mon pb est qu'une fois l'image uploadée, il faut actualiser la page pour la voir. Faites le test:

1-uploader une image et cliquer sur "mettre à jour"
2- Cliquer sur le bouton actualiser de votre navigateur pour voir la nouvelle image.

Ma question: comment actualiser automatiquement la page pour afficher la nouvelle image?

HD
Mammouth du PHP | 1181 Messages

05 févr. 2007, 03:10

On commencera d'abord par jeter un coup d'oeil sur le code de la (des) page(s) concernée(s) :!:
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 03:13

précision: la nouvelle image uploadée est renommée pour écraser l'ancienne.

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 03:23

2 pages concernées:
edit_product.php, ou sont affichées les données produit
//récupération des infos produitt dans la base, dont le nom de l'image qui est aussi l'id produit.
$query  = "SELECT * FROM produits WHERE idLivre = " . $idLivre . " AND idRecord = " . $idRecord ;
$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) {
	array_push($data, $row['idLivre']); //aussi le nom de l'image
	array_push($data, $row['titreSousTitre']);
}
et plus bas dans la même page, le code html:
<td align="center">   <img src="../imgProduits/<?php echo $idLivre;?>.jpg"/></td>
et record_product.php qui met ajour les données
//upload image
if(!empty($_FILES["filename"])) 
  {
   $uploaddir = "../imgProduits/";
   $uploaddir.=$idLivre . ".jpg";
   
   //Copy the file to some permanent location
   move_uploaded_file($_FILES["filename"]["tmp_name"], $uploaddir);
}

//mise a jour enregistrement
$query = "UPDATE produits SET titreSousTitre = '" . mysql_real_escape_string ($titreSousTitre). "', imageUrl = '". $idLivre . ".jpg' WHERE idRecord = " . $idRecord . " AND idLivre = " . $idLivre;
$result = mysql_query($query) or die (mysql_error() .mysql_errno());
	
//redirection vers la page du produit	
$direction="index.php?page=edit_product&idRecord=" . $idRecord . "&idLivre=". $idLivre;	
js_redirect($direction);			
voili voilou...

Invité
Invité n'ayant pas de compte PHPfrance

05 févr. 2007, 03:39

j'ai ajouté un lien qui permet d'actualiser la page:
<A HREF="#" onclick="document.location.reload();return(false)"><B>Actualiser l'image</B></A>
C'est satisfaisant pour ce que je veux faire mais je me demande toujours s'il existe un moyen de faire cette action automatiquement. Si quelqu'un a la réponse...

ViPHP
ViPHP | 2291 Messages

05 févr. 2007, 10:03

Salut:

Pourquoi pas une balise META.
<meta http-aquiv="refresh" content="30">
30 = 30 seconde
à toi de le placer par exemple sur 5 ?
@+
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 71 Messages

05 févr. 2007, 10:21

Salut,

Je vais peut-être dire une bêtise mais ne peux-tu pas mettre :
header("Location: http://www.tonsite.com/edit_product.php");
en fin d'upload ?

ViPHP
AB
ViPHP | 5818 Messages

05 févr. 2007, 10:42

Bonjour

En reprenant l'idée de Chakra Spirit et tes variables :
$direction="index.php?page=edit_product&idRecord=" . $idRecord . "&idLivre=". $idLivre;  

header("Location: $direction");