J' ai un souci que je n' arrive pas à déméler.
J' ai un formulaire simple:
<form method="post" action="index.php?p=pl&membre=<?php echo $pseudo; ?>&mdf=0" enctype="multipart/form-data">
<table width="500" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td width="127" height="30" align="left" valign="middle"><span style="text-align:left; font-size:12px; color:#900; font-weight:bolder;">PSEUDO : </span></td>
<td width="373" height="30" align="left" valign="middle"><?php
echo '<div style="margin-right:10px;margin-bottom:10px;margin-top:10px;margin-left:10px;">';
echo ucfirst($mesinfos['pseudo']);
echo '</div>';
?></td>
</tr>
<tr>
<td height="30" align="left" valign="middle"><span style="text-align:left; font-size:12px; color:#900; font-weight:bolder;">INSCRIT LE :</span></td>
<td height="30" align="left" valign="middle"><?php echo date('d/m/Y à H\hi', $mesinfos['timestamp']); ?></td>
</tr>
<tr>
<td height="30" align="left" valign="middle"><span style="text-align:left; font-size:12px; color:#900; font-weight:bolder;">OCCUPATION : </span></td>
<td height="30" align="left" valign="middle"><label>
<input type="text" name="occupation" id="occupation" value="<?php echo $mesinfos['occupation']; ?>" style="width:300px; background-color:#FEC5C6;" />
</label></td>
</tr>
<tr>
<td height="30" align="left" valign="middle"><span style="text-align:left; font-size:12px; color:#900; font-weight:bolder;">SITE WEB : </span></td>
<td height="30" align="left" valign="middle">http://<input type="text" name="site" id="site" value="<?php echo $mesinfos['site']; ?>" style="width:260px; background-color:#FEC5C6;" /></td>
</tr>
<tr>
<td height="30" align="left" valign="middle"><span style="text-align:left; font-size:12px; color:#900; font-weight:bolder;">CITATION : </span></td>
<td height="30" align="left" valign="middle"><input type="text" name="citation" id="citation" value="<?php echo $mesinfos['citation']; ?>" style="width:300px; background-color:#FEC5C6;" /></td>
</tr>
<tr>
<td height="30" align="left" valign="middle"><span style="text-align:left; font-size:12px; color:#900; font-weight:bolder;">SIGNATURE : </span></td>
<td height="30" align="left" valign="middle"><input type="text" name="signature" id="signature" value="<?php echo $mesinfos['signature']; ?>" style="width:300px; background-color:#FEC5C6;" /></td>
</tr>
<tr>
<td height="30" colspan="2" align="left" valign="middle"> </td>
</tr>
<tr>
<td height="30" align="left" valign="middle"><span style="text-align:left; font-size:12px; color:#900; font-weight:bolder;">AVATAR : </span></td>
<td height="30" align="left" valign="middle"><input type="file" name="photo" id="photo" style="width:300px; background-color:#FEC5C6;" /></td>
</tr>
<tr>
<td height="30" align="left" valign="middle"> </td>
<td height="30" align="left" valign="top" style="font-size:12px;">Taille préconisée : 200x200</td>
</tr>
<tr>
<td height="30" colspan="2" align="left" valign="middle"> </td>
</tr>
<tr>
<td height="30" colspan="2" align="center" valign="middle"><table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="189" align="left" valign="middle"><span style="text-align:left; font-size:12px; color:#900; font-weight:bolder;">NOUVEAU MOT DE PASSE :</span></td>
<td width="311" align="left" valign="middle"><input type="password" name="mdp5" id="mdp5" style="width:300px; background-color:#FEC5C6;" /></td>
</tr>
</table></td>
</tr>
<tr>
<td height="50" colspan="2" align="center" valign="middle"><label>
<input type="submit" name="VALIDER" id="VALIDER" value="Envoyer" />
</label></td>
</tr>
</table>
</form>
La page de vérification ensuite, pas optimisée, pour l' instant je cherche juste a ce qu' elle soit fonctionnelle:<?php
session_start();
if(isset($_GET['p']))
{
if(isset($_POST['occupation']))
{
$occupation = $_POST['occupation'];
}
else
{
$occupation = $mesinfos['occupation'];
}
if(isset($_POST['site']))
{
$site = $_POST['site'];
}
else
{
$site = $mesinfos['site'];
}
if(isset($_POST['citation']))
{
$citation = $_POST['citation'];
}
else
{
$citation = $mesinfos['citation'];
}
if(isset($_POST['signature']))
{
$signature = $_POST['signature'];
}
else
{
$signature = $mesinfos['signature'];
}
if(isset($_FILES['photo']))
{
$photo = $_FILES['photo'];
$dossier = '/home/*****/www/images/profil/';
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$taille_maxi = 50000;
$photo = time()."_".$_FILES['photo']['name'];
$taille = filesize($_FILES['photo']['tmp_name']);
$extension = strrchr($_FILES['photo']['name'], '.');
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...<br><br> Taille de la photo maxi : 5000Ko';
}
if($taille>$taille_maxi)
{
$erreur = '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);
}
move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $photo)or die(mysql_error()); //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
}
else
{
$photo = $mesinfos['photo'];
}
if(isset($_POST['mdp5']))
{
$mdp5 = $_POST['mdp5'];
}
else
{
$mdp5 = $mesinfos['mdp'];
}
$sqlmdf = mysql_query("UPDATE users SET occupation ='$occupation', site ='$site', citation ='$citation', signature ='$signature', photo ='$photo' WHERE pseudo='$pseudo'");
echo '<meta http-equiv="refresh" content="0;URL=index.php?p=pl&membre='.$pseudo.'">';
}
?>
Sans la partie "renommage de l'image uploadée", tout s'actualise parfaitement tant niveau base de données que sur le site.
Depuis que j' ai ajoutée le traitement de l' image "renommer + upload", plus rien ne fonctionne sauf l' image, bien renommée et bien uploadée, a condition que dnas le formulaire je ne fasse qu' uploader une image et rien de plus.
Maintenant si je modifie un autre champs, j' ai une page blanche comme si il y avait un exit();
Bref si quelqu' un voit le probleme je suis preneur.
Meric d'avance!