J'ai fait un formulaire qui permet d'aller chercher une image par un bouton "parcourir" et un champ input type=text pour pouvoir nommer cette image.
Coupler à ce formulaire et sur la même page, 2 choses:
- un script qui permet de redimmensionner l'image selectionnée selon une taille prédefinie;
- une requête de mise à jour qui permet de modifier le nom de la photo sauvegardé dans une base de données.
Ma page se présente donc comme suit:
- le bouton parcourir;
- l'image actuelle redimmensionnée;
- le nom de l'image (celui enregistré dans la base de données);
- un bouton de type submit pour sensé activé le script de redimmensionnement et l'action de mettre à jour le nom de l'image.
Tout marche bien, sauf que lorsque l'on choisit une image et/ou que l'on change le nom de celle-ci et enfin que l'on appui sur le bouton "generer" les changements ont bien eu lieu mais ne sont pas visible à l'écran. Il faut que je raffraichisse la page pour pouvoir voir la nouvelle image et le nouveau nom.
A quoi cela est-il du? Est-il possible à défaut de faire autrement de faire un bouton rafraichir autre que d'appuyer sur F5 en php ou autre?
Je vous envoi le code de ma page:
<?php require_once('Connections/conn_develop.php');
session_start();
if (isset($_POST['login_client'])) { // si la donnée est passée en get
// elle est explicitement demandée par l'utilisateur, donc on l'utilise :)
$login = $_POST['login_client'];
}
else { // sinon
if (isset($_SESSION['login_client'])) { // si la donnée existe en session
// c'est qu'elle a été précément demandée par l'utilisateur, donc on l'utilise
$login = $_SESSION['login_client'];
}
}
$_SESSION['login_client'] = $login; // stocke la nouvelle valeur de $menu dans la session
mysql_select_db($database_conn_develop, $conn_develop);
$query_rs_fiche_etab = "SELECT * FROM tbl_etab WHERE etab_id = '".$_GET['num_fiche']."' AND login_client ='".$login."'";
$rs_fiche_etab = mysql_query($query_rs_fiche_etab) or die(mysql_error());
$row_rs_fiche_etab = mysql_fetch_assoc($rs_fiche_etab);
if (isset($_FILES['photo1'])) {
$dest_dossier = "Images/test/".$row_rs_fiche_etab['type_etab']."/";
$_FILES['photo1']['name'] = $row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-01.jpg";
$dest_fichier = basename($_FILES['photo1']['name']);
// copie du fichier
move_uploaded_file($_FILES['photo1']['tmp_name'], $dest_dossier . $dest_fichier);
$image1 = $dest_dossier . $dest_fichier; // le chemin
// prend la taille de l'image
$dimension=getimagesize($image1);
// superieur à 500 dans l'exemple
if($dimension[0]>260){
$max=267; //taille a redimensionensionner
$reduc=$max/$dimension[0];
$coef_l=$max;
$coef_h=$dimension[1]*$reduc;
$chemin = imagecreatefromjpeg($image1);
$nouvelle =imagecreatetruecolor ($coef_l, $coef_h);
imagecopyresampled($nouvelle,$chemin,0,0,0,0,$coef_l,$coef_h,$dimension[0],$dimension[1]);
imagejpeg($nouvelle,$image1);
imagedestroy ($chemin);
}
}
if (isset($_FILES['photo2'])) {
$dest_dossier = "Images/test/".$row_rs_fiche_etab['type_etab']."/";
$_FILES['photo2']['name'] = $row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-02.jpg";
$dest_fichier = basename($_FILES['photo2']['name']);
// copie du fichier
move_uploaded_file($_FILES['photo2']['tmp_name'], $dest_dossier . $dest_fichier);
$image2 = $dest_dossier . $dest_fichier; // le chemin
// prend la taille de l'image
$dimension=getimagesize($image2);
// superieur à 500 dans l'exemple
if($dimension[0]>260){
$max=267; //taille a redimensionensionner
$reduc=$max/$dimension[0];
$coef_l=$max;
$coef_h=$dimension[1]*$reduc;
$chemin = imagecreatefromjpeg($image2);
$nouvelle =imagecreatetruecolor ($coef_l, $coef_h);
imagecopyresampled($nouvelle,$chemin,0,0,0,0,$coef_l,$coef_h,$dimension[0],$dimension[1]);
imagejpeg($nouvelle,$image2);
imagedestroy ($chemin);
}
}
if (isset($_FILES['photo3'])) {
$dest_dossier = "Images/test/".$row_rs_fiche_etab['type_etab']."/";
$_FILES['photo3']['name'] = $row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-03.jpg";
$dest_fichier = basename($_FILES['photo3']['name']);
// copie du fichier
move_uploaded_file($_FILES['photo3']['tmp_name'], $dest_dossier . $dest_fichier);
$image3 = $dest_dossier . $dest_fichier; // le chemin
// prend la taille de l'image
$dimension=getimagesize($image3);
// superieur à 500 dans l'exemple
if($dimension[0]>260){
$max=267; //taille a redimensionensionner
$reduc=$max/$dimension[0];
$coef_l=$max;
$coef_h=$dimension[1]*$reduc;
$chemin = imagecreatefromjpeg($image3);
$nouvelle =imagecreatetruecolor ($coef_l, $coef_h);
imagecopyresampled($nouvelle,$chemin,0,0,0,0,$coef_l,$coef_h,$dimension[0],$dimension[1]);
imagejpeg($nouvelle,$image3);
imagedestroy ($chemin);
}
}
if (isset($_FILES['photo4'])) {
$dest_dossier = "Images/test/".$row_rs_fiche_etab['type_etab']."/";
$_FILES['photo4']['name'] = $row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-04.jpg";
$dest_fichier = basename($_FILES['photo4']['name']);
// copie du fichier
move_uploaded_file($_FILES['photo4']['tmp_name'], $dest_dossier . $dest_fichier);
$image4 = $dest_dossier . $dest_fichier; // le chemin
// prend la taille de l'image
$dimension=getimagesize($image4);
// superieur à 500 dans l'exemple
if($dimension[0]>125){
$max=130; //taille a redimensionensionner
$reduc=$max/$dimension[0];
$coef_l=$max;
$coef_h=$dimension[1]*$reduc;
$chemin = imagecreatefromjpeg($image4);
$nouvelle =imagecreatetruecolor ($coef_l, $coef_h);
imagecopyresampled($nouvelle,$chemin,0,0,0,0,$coef_l,$coef_h,$dimension[0],$dimension[1]);
imagejpeg($nouvelle,$image4);
imagedestroy ($chemin);
}
}
$date = date("d-m-Y");
if ((isset($_POST['nom_photo1'])) && (isset($_FILES['photo1']))) {
$query_update_etab1 = "UPDATE tbl_etab SET
mod_date = '".$date."',
url_photo1 = '".$image1."',
titre_photo1 = '".$_POST['nom_photo1']."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab1 = mysql_query($query_update_etab1) or die(mysql_error());
} elseif ((isset($_POST['nom_photo1'])) && (!isset($_FILES['photo1']))) {
$query_update_etab1 = "UPDATE tbl_etab SET
mod_date = '".$date."',
titre_photo1 = '".$_POST['nom_photo1']."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab1 = mysql_query($query_update_etab1) or die(mysql_error());
} elseif ((!isset($_POST['nom_photo1'])) && (isset($_FILES['photo1']))) {
$query_update_etab1 = "UPDATE tbl_etab SET
mod_date = '".$date."',
url_photo1 = '".$image1."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab1 = mysql_query($query_update_etab1) or die(mysql_error());
}
if ((isset($_POST['nom_photo2'])) && (isset($_FILES['photo2']))) {
$query_update_etab2 = "UPDATE tbl_etab SET
mod_date = '".$date."',
url_photo2 = '".$image2."',
titre_photo2 = '".$_POST['nom_photo2']."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab2 = mysql_query($query_update_etab2) or die(mysql_error());
} elseif ((isset($_POST['nom_photo2'])) && (!isset($_FILES['photo2']))) {
$query_update_etab2 = "UPDATE tbl_etab SET
mod_date = '".$date."',
titre_photo2 = '".$_POST['nom_photo2']."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab2 = mysql_query($query_update_etab2) or die(mysql_error());
} elseif ((!isset($_POST['nom_photo2'])) && (isset($_FILES['photo2']))) {
$query_update_etab2 = "UPDATE tbl_etab SET
mod_date = '".$date."',
url_photo2 = '".$image2."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab2 = mysql_query($query_update_etab2) or die(mysql_error());
}
if ((isset($_POST['nom_photo3'])) && (isset($_FILES['photo3']))) {
$query_update_etab3 = "UPDATE tbl_etab SET
mod_date = '".$date."',
url_photo3 = '".$image3."',
titre_photo3 = '".$_POST['nom_photo3']."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab3 = mysql_query($query_update_etab3) or die(mysql_error());
} elseif ((isset($_POST['nom_photo3'])) && (!isset($_FILES['photo3']))) {
$query_update_etab3 = "UPDATE tbl_etab SET
mod_date = '".$date."',
titre_photo3 = '".$_POST['nom_photo3']."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab3 = mysql_query($query_update_etab3) or die(mysql_error());
} elseif ((!isset($_POST['nom_photo3'])) && (isset($_FILES['photo3']))) {
$query_update_etab3 = "UPDATE tbl_etab SET
mod_date = '".$date."',
url_photo3 = '".$image3."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab3 = mysql_query($query_update_etab3) or die(mysql_error());
}
if ((isset($_POST['nom_photo4'])) && (isset($_FILES['photo4']))) {
$query_update_etab4 = "UPDATE tbl_etab SET
mod_date = '".$date."',
url_photo4 = '".$image4."',
titre_photo4 = '".$_POST['nom_photo4']."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab4 = mysql_query($query_update_etab4) or die(mysql_error());
} elseif ((isset($_POST['nom_photo4'])) && (!isset($_FILES['photo4']))) {
$query_update_etab4 = "UPDATE tbl_etab SET
mod_date = '".$date."',
titre_photo4 = '".$_POST['nom_photo4']."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab4 = mysql_query($query_update_etab4) or die(mysql_error());
} elseif ((!isset($_POST['nom_photo4'])) && (isset($_FILES['photo4']))) {
$query_update_etab4 = "UPDATE tbl_etab SET
mod_date = '".$date."',
url_photo4 = '".$image4."' WHERE
etab_id = ".$_GET['num_fiche']." AND login_client ='".$login."'";
$update_etab4 = mysql_query($query_update_etab4) or die(mysql_error());
}
?>
<!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" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Gestionnaire des images</title>
<style>
body,html {
margin:0;
height:100%;
}
body{
background-color: #caf1fd;
font-family: Arial Helvetica, sans-serif;
font-size: 13px;
}
div#global{
height: auto;
width: 800px;
padding: 0;
margin: 0 auto;
position: relative;
}
div#image {
width: 800px;
height: 230px;
background: url(Images/formulaire/titre-e-vendee-admin.jpg) center no-repeat;
}
div#photos {
margin-top: 15px;
padding:0;
width:795px;
height:707px;
background:#FFFFFF;
position:relative;
border:outset;
}
div#photo1 {
position:absolute;
height:350px;
width:395px;
padding:0;
border-bottom-style:double;
border-color:#FF0000;
}
div#photo2 {
position:absolute;
height:350px;
width:395px;
left:395px;
padding-left:2px;
border-bottom-style:double;
border-left-style:double;
border-color:#FF0000;
}
div#photo3 {
position:absolute;
height:355px;
width:395px;
top:350px;
padding-top:5px;
}
div#photo4 {
position:absolute;
height:355px;
width:395px;
top:350px;
left:395px;
padding-left:2px;
padding-top:5px;
border-left-style:double;
border-color:#FF0000;
}
div#cadre2 {
width: 795px;
margin-top:20px;
border:outset;
background: #ffffff;
}
.image{
border: 0px;
}
div#global p {
color:#FF0000;
font-weight:bold;
}
</style>
</head>
<body>
<div id="global">
<div id="image"></div>
<p>Attention! Veuillez selectionner une image de type 'jpg'!</p>
<div id="photos">
<div id="photo1">
<table width="380px" height="330px"><FORM METHOD="POST" enctype="multipart/form-data" action="client-photo.php?num_fiche=<?php echo $_GET['num_fiche']; ?>">
<tr>
<td colspan="2" width="380px" align="center"><input type="file" id="photo1" name="photo1" /></td>
</tr>
<tr>
<td colspan="2" align="center"><img src="<?php echo "Images/test/".$row_rs_fiche_etab['type_etab']."/".$row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-01.jpg"; ?>" height="200px" width="267px"/></td>
</tr>
<tr>
<td width="80px">Nom de la photo</td>
<td width="300px"><label><input name="nom_photo1" style="width:300px;" type="text" id="nom_photo1" value="<?php echo $row_rs_fiche_etab['titre_photo1']; ?>"/></label></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="submit" value="Générer la vignette"/></td>
</tr>
</FORM></table>
</div>
<div id="photo2">
<table width="380px" height="330px"><FORM METHOD="POST" enctype="multipart/form-data" action="client-photo.php?num_fiche=<?php echo $_GET['num_fiche']; ?>">
<tr>
<td colspan="2" width="380px" align="center"><input type="file" id="photo2" name="photo2" /></td>
</tr>
<tr>
<td colspan="2" align="center"><img src="<?php echo "Images/test/".$row_rs_fiche_etab['type_etab']."/".$row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-02.jpg"; ?>" height="200px" width="267px"/></td>
</tr>
<tr>
<td width="80px">Nom de la photo</td>
<td width="300px"><label><input name="nom_photo2" style="width:300px;" type="text" id="nom_photo2" value="<?php echo $row_rs_fiche_etab['titre_photo2']; ?>" /></label></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="submit" value="Générer la vignette"/></td>
</tr>
</FORM></table>
</div>
<div id="photo3">
<table width="380px" height="335px"><FORM METHOD="POST" enctype="multipart/form-data" action="client-photo.php?num_fiche=<?php echo $_GET['num_fiche']; ?>">
<tr>
<td colspan="2" width="380px" align="center"><input type="file" id="photo3" name="photo3" /></td>
</tr>
<tr>
<td colspan="2" align="center"><img src="<?php echo "Images/test/".$row_rs_fiche_etab['type_etab']."/".$row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-03.jpg"; ?>" height="200px" width="267px"/></td>
</tr>
<tr>
<td width="80px">Nom de la photo</td>
<td width="300px"><label><input name="nom_photo3" style="width:300px;" type="text" id="nom_photo3" value="<?php echo $row_rs_fiche_etab['titre_photo3']; ?>" /></label></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="submit" value="Générer la vignette"/></td>
</tr>
</FORM></table>
</div>
<div id="photo4">
<table width="380px" height="335px"><FORM METHOD="POST" enctype="multipart/form-data" action="client-photo.php?num_fiche=<?php echo $_GET['num_fiche']; ?>">
<tr>
<td colspan="2" width="380px" align="center"><input type="file" id="photo4" name="photo4" /></td>
</tr>
<tr>
<td colspan="2" align="center"><img src="<?php echo "Images/test/".$row_rs_fiche_etab['type_etab']."/".$row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-04.jpg"; ?>" height="97px" width="130px"/></td>
</tr>
<tr>
<td width="80px">Nom de la photo</td>
<td width="300px"><label><input name="nom_photo4" style="width:300px;" type="text" id="nom_photo4" value="<?php echo $row_rs_fiche_etab['titre_photo4']; ?>" /></label></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="submit" value="Générer la vignette"/></td>
</tr>
</FORM></table>
</div>
</div>
<div id="cadre2">
<table class="modif" width="600px">
<tr>
<td width="150px" align="right">
<a href="client-espace-perso.php" title="Retour à mon espace personnel"><img src="Images/annonceur/icone-info/icone-home.gif" class="image" title="Retour à mon espace personnel"/></a>
</td>
<td width="450px">
<a href="client-espace-perso.php">Retour à mon espace personnel</a>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>
Merci par avance pour toute aide apportée.