Bonjour !
Désolé pour la balise PHP, je n'avais pas fait attention.
Donc, j'ai fais comme tu me l'a conseillé.
C'est pourquoi j'ai remarqué l'erreur... Mais pas réussi à la corriger... T.T
Alors, $ok affiche 1. J'ai aussi l'erreur de la requête 4.
Mais j'ai vérifié dans le ftp, le fichier n'est pas renommé en "defaut_ID" !!!
Je n'y comprends plus rien !
Voici le code avec les code d'erreur que j'ai inséré :
<?php
if (isset($_GET['nom']))
{
$nom = strip_tags($_GET['nom']);
include('connexion_bdd.php');
$retour = mysql_query("SELECT * FROM uploads WHERE fichier = '".$nom."' ");
$FICHIER = mysql_fetch_array($retour);
$ok = 0;
if (!empty($FICHIER))
{
$retour2 = mysql_query("SELECT * FROM membres WHERE pseudo = '".$FICHIER['membre']."' ") OR DIE(mysql_error());
$MEMBRE = mysql_fetch_array($retour2);
?><h2>Changer l'avatar de <?php echo $FICHIER['membre'] ?></h2><?php
//Détermination des noms/emplacements
$nom_Ancien_Fichier = 'defaut_' . $MEMBRE['id'];
$emplacement_Ancien_Fichier = 'uploads/' . $nom_Ancien_Fichier;
$nom_Nouveau_Fichier = uniqid(sha1(mt_rand())) . '.jpeg';
$emplacement_Nouveau_Fichier = 'uploads/' . $nom_Nouveau_Fichier;
//Si le fichier 'defaut_' existe :
if (file_exists($emplacement_Ancien_Fichier))
{
//Renomage du fichier dans le ftp
if (rename($emplacement_Ancien_Fichier, $emplacement_Nouveau_Fichier))
{ $ok++; }
else { echo 'Erreur1<br />'; }
//Renomage du fichier dans la base de donnée
if (mysql_query("UPDATE uploads SET fichier = $nom_Nouveau_Fichier WHERE fichier = $nom_Ancien_Fichier "))
{ $ok++; }
else { echo 'Erreur2<br />'; }
}
//Noms
$nouveau_Nom = 'defaut_' . $MEMBRE['id'];
$emplacement_Nouveau_Nom = 'uploads/' . $nouveau_Nom;
$emplacement_Vieux_Fichier = 'uploads/' . $nom;
//Renomage du fichier dans le ftp
if (rename($emplacement_Vieux_Fichier, $emplacement_Nouveau_Nom))
{ $ok++; }
else { echo 'Erreur3<br />'; }
//Renomage du fichier dans la base de donnée
if (mysql_query("UPDATE uploads SET fichier = $nouveau_Nom WHERE membre = '".$MEMBRE['pseudo']."' "))
{ $ok++; }
else { echo 'Erreur4<br />'; }
//Incrémentation de la variable du nombre de changements
$MEMBRE['nbr_modif']++;
mysql_query("UPDATE membres SET nbr_modif = '".$MEMBRE['nbr_modif']."' WHERE id = '".$MEMBRE['id']."' ");
if ($ok == 4 || $ok == 2)
{
echo "L'avatar par défaut de " . $FICHIER['membre'] . " a bien été changé. <br /> Clique <a href='index.php' alt='Index'>ici</a> pour revenir à l'index.<br />";
}
else
{ echo $ok;
echo "<br />L'avatar par défaut de " . $FICHIER['membre'] . " n'a pas pu être changé. <br />Si le problème persiste, merci de contacter le webmaster.<br />";
}
}
else
{
echo "Désolé, mais le fichier envoyé est introuvable.<br />Merci de réessayer.<br /> Clique <a href='index.php' alt='Index'>ici</a> pour revenir à l'index.<br />";
}
}
else
{
echo "Désolé, mais aucun fichier n'a été pris en compte.<br />Merci de réessayer.<br /> Clique <a href='index.php' alt='Index'>ici</a> pour revenir à l'index.<br />";
}
?>
Donc ce qui est affiché :
Erreur4
1
L'avatar par défaut de Titii n'a pas pu être changé.
Voici l'erreur 4 :
//Renomage du fichier dans la base de donnée
if (mysql_query("UPDATE uploads SET fichier = $nouveau_Nom WHERE membre = '".$MEMBRE['pseudo']."' "))
{ $ok++; }
else { echo 'Erreur4<br />'; }
Et la focntion rename(), qui "marche" mais qui ne renomme pas... >.<
//Renomage du fichier dans le ftp
if (rename($emplacement_Vieux_Fichier, $emplacement_Nouveau_Nom))
{ $ok++; }
else { echo 'Erreur3<br />'; }
Merci bien de votre aide !