Page 1 sur 1

Problème modification base de donnée

Posté : 30 janv. 2014, 16:44
par Herodote
Bien le bonjour.
Je suis en train de créer un forum en php.
Cependant, j'ai créé plusieurs pages pour consulter des profils : Une pour consulter le profil d'un membre et une pour consulter le profil d'un groupe de membre. Dans les deux cas j'ai le même le problème. Quand l'action est 'consulter', tout fonctionne, les infos du membre ou du groupe d'affiche. Quand le cas est 'modifier', là aussi tout semble fonctionner, mon formulaire est complet avec les valeurs de la base de données en value.

Cependant, lorsque je clique sur le bouton submit, cela m'envoie vers une page blanche et ma base de donnée n'a pas été mise à jour.

Je ne vais vous montrer que le code de la page des profils car mon erreur doit être la même sur les deux pages.

Voici mon code sur la page voirprofil.php :
<?php
session_start();
$titre="Profil";
include("includes/identifiants.php");
include("includes/debut.php");
include("includes/menu.php");
//On récupère la valeur de nos variables passées par URL
$action = isset($_GET['action'])?htmlspecialchars($_GET['action']):'consulter';
$membre = isset($_GET['m'])?(int) $_GET['m']:'';
?>
 
<?php
 
 
switch($action)
{
 
    case "consulter":
    if(isset($_GET['m']))
 {
       //On récupère les infos du membre
       $query=$db->prepare('SELECT membre_pseudo, membre_avatar,
       membre_email, membre_msn, membre_signature, membre_siteweb, membre_post,
       membre_inscrit, membre_localisation, membre_id_guilde, guilde.guilde_id, guilde.guilde_nom
       FROM forum_membres
       LEFT JOIN guilde ON guilde.guilde_id = membre_id_guilde
       WHERE membre_id=:membre
       ');
       $query->bindValue(':membre',$membre, PDO::PARAM_INT);
       $query->execute();
       $data=$query->fetch();
 
       //On affiche les infos sur le membre
       echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> -->
       profil de '.stripslashes(htmlspecialchars($data['membre_pseudo']));
       echo'<h1>Profil de '.stripslashes(htmlspecialchars($data['membre_pseudo'])).'</h1>';
       
       
       echo'<img src="./images/avatars/'.$data['membre_avatar'].'"
       alt="Ce membre n a pas d avatar" />';
        
      echo'
          Guilde : <a href="./voirguilde.php?g='.$data['guilde_id'].'&action=consulter">
        '.stripslashes(htmlspecialchars($data['guilde_nom'])).'</a>';
          
       echo'<p><strong>Adresse E-Mail : </strong>
       <a href="mailto:'.stripslashes($data['membre_email']).'">
       '.stripslashes(htmlspecialchars($data['membre_email'])).'</a><br />';
        
       echo'<strong>MSN Messenger : </strong>'.stripslashes(htmlspecialchars($data['membre_msn'])).'<br />';
        
        
        
       echo'<strong>Site Web : </strong>
       <a href="'.stripslashes($data['membre_siteweb']).'">'.stripslashes(htmlspecialchars($data['membre_siteweb'])).'</a>
       <br /><br />';
  
       echo'Ce membre est inscrit depuis le
       <strong>'.date('d/m/Y',$data['membre_inscrit']).'</strong>
       et a posté <strong>'.$data['membre_post'].'</strong> messages
       <br /><br />';
       echo'<strong>Localisation : </strong>'.stripslashes(htmlspecialchars($data['membre_localisation'])).'
       </p>';
       if (isset ($_SESSION['id']))
       {
       if ($membre == $_SESSION['id'])
       {
       echo'
         <a href="./voirprofil.php?m='.$_SESSION['id'].'&action=modifier">
         Modifier votre profil</a>';
       }
       }
       }
       else
{
echo'<p>Ce membre ne semble pas exister !</p>';
}
       $query->CloseCursor();
       break;
 
    case "modifier":
    if (empty($_POST['sent']))
    {
        //On commence par s'assurer que le membre est connecté
        if ($id==0) erreur(ERR_IS_NO_CO);
 
        //On prend les infos du membre
        $query=$db->prepare('SELECT membre_pseudo, membre_email,
        membre_siteweb, membre_signature, membre_msn, membre_localisation,
        membre_avatar
        FROM forum_membres WHERE membre_id=:id');
        $query->bindValue(':id',$id,PDO::PARAM_INT);
        $query->execute();
        $data=$query->fetch();
        echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Modification du profil';
        echo '<h1>Modifier son profil</h1>';
         
        echo '<form method="post" action="voirprofil.php?action=modifier" enctype="multipart/form-data">
        
  
        <fieldset><legend>Identifiants</legend>
        Pseudo : <strong>'.stripslashes(htmlspecialchars($data['membre_pseudo'])).'</strong><br />      
        <label for="password">Nouveau mot de Passe :</label>
        <input type="password" name="password" id="password" /><br />
        <label for="confirm">Confirmer le mot de passe :</label>
        <input type="password" name="confirm" id="confirm"  />
        </fieldset>
  
        <fieldset><legend>Contacts</legend>
        <label for="email">Votre adresse E_Mail :</label>
        <input type="text" name="email" id="email"
        value="'.stripslashes($data['membre_email']).'" /><br />
 
  
        <label for="website">Votre site web :</label>
        <input type="text" name="website" id="website"
        value="'.stripslashes($data['membre_siteweb']).'" /><br />
        </fieldset>
  
        <fieldset><legend>Informations supplémentaires</legend>
        <label for="localisation">Localisation :</label>
        <input type="text" name="localisation" id="localisation"
        value="'.stripslashes($data['membre_localisation']).'" /><br />
        </fieldset>
                
        <fieldset><legend>Profil sur le forum</legend>
        <label for="avatar">Changer votre avatar :</label>
        <input type="file" name="avatar" id="avatar" />
        (Taille max : 10 ko)<br /><br />
        <label><input type="checkbox" name="delete" value="Delete" />
        Supprimer l avatar</label>
        Avatar actuel :
        <img src="./images/avatars/'.$data['membre_avatar'].'"
        alt="pas d avatar" />
      
        <br /><br />
        <label for="signature">Signature :</label>
        <textarea cols="40" rows="4" name="signature" id="signature">
        '.stripslashes($data['membre_signature']).'</textarea>
      
      
        </fieldset>
        <p>
        <input type="submit" value="Modifier son profil" />
        <input type="hidden" id="sent" name="sent" value="1" />
        </p></form>';
        $query->CloseCursor();  
    }  
    else //Sinon on est dans la page de traitement
    {
         
 
    $mdp_erreur = NULL;
    $email_erreur1 = NULL;
    $email_erreur2 = NULL;
    $signature_erreur = NULL;
    $avatar_erreur = NULL;
    $avatar_erreur1 = NULL;
    $avatar_erreur2 = NULL;
    $avatar_erreur3 = NULL;
 
    
    $i = 0;
    $temps = time();
    $signature = $_POST['signature'];
    $email = $_POST['email'];
    $website = $_POST['website'];
    $localisation = $_POST['localisation'];
    $pass = md5($_POST['password']);
    $confirm = md5($_POST['confirm']);
     
 
 
    //Vérification du mdp
    if ($pass != $confirm || empty($confirm) || empty($pass))
    {
         $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent ou sont vides";
         $i++;
    }
 
    //Vérification de l'adresse email
    //Il faut que l'adresse email n'ait jamais été utilisée (sauf si elle n'a pas été modifiée)
 
    //On récupére le mail
    $query=$db->prepare('SELECT membre_email FROM forum_membres WHERE membre_id =:id');
    $query->bindValue(':id',$id,PDO::PARAM_INT);
    $query->execute();
    $data=$query->fetch();
    if (strtolower($data['membre_email']) != strtolower($email))
    {
         
        $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:mail');
        $query->bindValue(':mail',$email,PDO::PARAM_STR);
        $query->execute();
        $mail_free=($query->fetchColumn()==0)?1:0;
        $query->CloseCursor();
        if(!$mail_free)
        {
            $email_erreur1 = "Votre adresse email est déjà utilisé par un membre";
            $i++;
        }
 
        //On vérifie la forme
        if (!preg_match("#^[a-z0-9A-Z._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
        {
            $email_erreur2 = "Votre nouvelle adresse E-Mail n'a pas un format valide";
            $i++;
        }
    }
 
 
    //Vérification de la signature
    if (strlen($signature) > 200)
    {
        $signature_erreur = "Votre nouvelle signature est trop longue";
        $i++;
    }
  
  
    //Vérification de l'avatar
  
    if (!empty($_FILES['avatar']['size']))
    {
         
        $maxsize = 30072; //Poid de l'image
        $maxwidth = 100; //Largeur de l'image
        $maxheight = 100; //Longueur de l'image
        //Liste des extensions valides
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' );
  
        if ($_FILES['avatar']['error'] > 0)
        {
        $avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
        }
        if ($_FILES['avatar']['size'] > $maxsize)
        {
        $i++;
        $avatar_erreur1 = "Le fichier est trop gros :
        (<strong>".$_FILES['avatar']['size']." Octets</strong>
        contre <strong>".$maxsize." Octets</strong>)";
        }
  
        $image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
        if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
        {
        $i++;
        $avatar_erreur2 = "Image trop large ou trop longue :
        (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre
        <strong>".$maxwidth."x".$maxheight."</strong>)";
        }
  
        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {
                $i++;
                $avatar_erreur3 = "Extension de l'avatar incorrecte";
        }
    }
    break;
    ?>
<?php
    echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Modification du profil';
    echo '<h1>Modification d\'un profil</h1>';
 
  
    if ($i == 0) // Si $i est vide, il n'y a pas d'erreur
    {
        if (!empty($_FILES['avatar']['size']))
        {
                $nomavatar=move_avatar($_FILES['avatar']);
                $query=$db->prepare('UPDATE forum_membres
                SET membre_avatar = :avatar
                WHERE membre_id = :id');
                $query->bindValue(':avatar',$nomavatar,PDO::PARAM_STR);
                $query->bindValue(':id',$id,PDO::PARAM_INT);
                $query->execute();
                $query->CloseCursor();
        }
  
 
        if (isset($_POST['delete']))
        {
                $query=$db->prepare('UPDATE forum_membres
        SET membre_avatar=0 WHERE membre_id = :id');
                $query->bindValue(':id',$id,PDO::PARAM_INT);
                $query->execute();
                $query->CloseCursor();
        }
  
        echo'<h1>Modification terminée</h1>';
        echo'<p>Votre profil a été modifié avec succès !</p>';
        echo'<p>Cliquez <a href="./index.php">ici</a>
        pour revenir à la page d accueil</p>';
  
        //On modifie la table
  
        $query=$db->prepare('UPDATE forum_membres
        SET  membre_mdp = :mdp, membre_email=:mail, membre_siteweb=:website,
        membre_signature=:sign, membre_localisation=:loc
        WHERE membre_id=:id');
        $query->bindValue(':mdp',$pass,PDO::PARAM_INT);
        $query->bindValue(':mail',$email,PDO::PARAM_STR);
        $query->bindValue(':website',$website,PDO::PARAM_STR);
        $query->bindValue(':sign',$signature,PDO::PARAM_STR);
        $query->bindValue(':loc',$localisation,PDO::PARAM_STR);
        $query->bindValue(':id',$id,PDO::PARAM_INT);
        $query->execute();
        $query->CloseCursor();
    }
    else
    {
        echo'<h1>Modification interrompue</h1>';
        echo'<p>Une ou plusieurs erreurs se sont produites pendant la modification du profil</p>';
        echo'<p>'.$i.' erreur(s)</p>';
        echo'<p>'.$mdp_erreur.'</p>';
        echo'<p>'.$email_erreur1.'</p>';
        echo'<p>'.$email_erreur2.'</p>';
        echo'<p>'.$signature_erreur.'</p>';
        echo'<p>'.$avatar_erreur.'</p>';
        echo'<p>'.$avatar_erreur1.'</p>';
        echo'<p>'.$avatar_erreur2.'</p>';
        echo'<p>'.$avatar_erreur3.'</p>';
        echo'<p> Cliquez <a href="./voirprofil.php?action=modifier">ici</a> pour recommencer</p>';
    }
} //Fin du else
    break;
  
default;
echo'<p>Cette action est impossible</p>';
  
} //Fin du switch
?>
</div>
</body>
</html>
Voyez vous une erreur à un endroit?

Cela fait plusieurs jours que je suis bloqué et votre aide me serait très précieuse.

Re: Problème modification base de donnée

Posté : 30 janv. 2014, 17:57
par dogmongo
Bonjour,
quelle url tu as dans le navigateur quand tu as ta pas blanche ?

Re: Problème modification base de donnée

Posté : 30 janv. 2014, 17:59
par dogmongo
dans quel répertoire se trouve voirprofil.php ?
je vois que tu utilise souvent ./url dans tes liens mais pourquoi tu ne met pas le chemin complet ? dans le formulaire

Re: Problème modification base de donnée

Posté : 30 janv. 2014, 18:09
par Herodote
Salut, merci de ta réponse !
Je travaille en local.
Quand j'ai ma page blanche l'url est http://localhost/MyM/voirprofil.php?action=modifier.
Quand je suis sur le formulaire de modification l'url est http://localhost/MyM/voirprofil.php?m=1&action=modifier pour l'utilisateur d'id 1.
voirprofil.php est dans le même dossier que toutes mes autres pages. J'ai juste les includes dans un dossier à part.

Re: Problème modification base de donnée

Posté : 30 janv. 2014, 19:50
par dogmongo
Pourquoi $_GET ?
si je dis pas de bêtise tu passe par un formulaire c'est donc POST
dans le doute utilise plutôt cette méthode, c'est celle que j'utilise récemment
$action = (isset($_POST['action'])) ? $_POST['action'] : (isset($_GET['action']) ? $_GET['action'] : null);

Tu n'as pas de problème avec ca ?
default;
echo'<p>Cette action est impossible</p>';

utilise plutôt
<input type="hidden" name="action" value="modifier">
plutôt que
echo '<form method="post" action="voirprofil.php?action=modifier" enctype="multipart/form-data">

Re: Problème modification base de donnée

Posté : 30 janv. 2014, 20:05
par Herodote
J'utilise $_GET car j'utilise la valeur de m dans l'url pour savoir quel profil je dois affiche dans le cas où l'action est consulter.
J'ai remplacé cette ligne par celle que tu proposes mais la page est toujours blanche après l'envoi du formulaire et ma bdd n'est pas modifiée.
Merci beaucoup de t'intéresser à mon cas.

Re: Problème modification base de donnée

Posté : 30 janv. 2014, 21:27
par dogmongo
default;
echo'<p>Cette action est impossible</p>';


as tu vérifier ca ?

pour moi c'est plutôt
default:
echo'<p>Cette action est impossible</p>';
}

Re: Problème modification base de donnée

Posté : 30 janv. 2014, 21:55
par Herodote
Encore merci de te pencher sur mon problème.
J'ai changé le ; en : mais j'ai toujours la page blanche...
J'ai
default;
echo'<p>Cette action est impossible</p>';
pour des switch sur d'autre page qui n'ont pas de problème, mais dans lesquelles je n'essaie pas de modifier ma BDD.
Il m'est déja arrivé d'avoir une page blanche quand j'avais une jointure foireuse, mais j'ai pourtant relu et je ne vois pas mon problème...

L'erreur pourrait-elle venir de cette ligne :
echo '<form method="post" action="voirprofil.php?action=modifier" enctype="multipart/form-data">
vu que là il n'y pas l'id du membre pris en compte ?

Re: Problème modification base de donnée

Posté : 31 janv. 2014, 11:27
par dogmongo
as-tu activé les erreurs de PHP ? on y verrai plus claire

tu met des condition mais je n'ai pas vus si tu les déclare avant ?
if (empty($_POST['sent']))  {
quand j'ai un grand code comme le tiens je fais une sauvegarde et je procède par élimination, je vire le superflu par apport à mon action et je vérifies si ca marche régulièrement, souvent ca permet de voir ou est le problème, parce que dans ton cas je suis certain que c'est une erreur de condition ou de variable.

par exemple je traite que le code qui me permet de faire les modifications d'un profile, j'enlèverai aussi tout le traitement image et surtout je placerai des petits message qui m'aiderai à voir si je passe les variables conditions
echo 'je suis ici 1 ';
juste après tes conditions pour voir si ca passe
echo $action;
echo $send;
echo $membre;

c'est des petite ligne de code toutes bêtes qui en dise long sur le chemin de l'exécution de ton code

j'oubliai modifies ton URL à la main pour voir si ca fonctionne

Re: Problème modification base de donnée

Posté : 31 janv. 2014, 21:59
par Herodote
Re-Bonjour !
Merci beaucoup pour ta réponse ! J'ai testé des echo tout le long de mon code et il n'apparaissait plus à partir du break; en plein milieu. J'en ai conclu qu'il n'avait rien à faire là et en l'enlevant, tout s'est remis à marcher !
J'ai vraiment galéré pour un mot :')
En tout cas merci beaucoup du temps que tu m'as accordé et de tes conseils qui m'ont aidé !

Re: Problème modification base de donnée

Posté : 31 janv. 2014, 22:57
par moogli
Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert "Mettre le sujet en tant que Résolu" situé en haut de la page à côté du titre du sujet.


pour plus d'info sur break


@+

Re: Problème modification base de donnée

Posté : 01 févr. 2014, 09:55
par dogmongo
à ton service, content que tu y soit arrivé :wink:

Re: Problème modification base de donnée

Posté : 03 févr. 2014, 22:58
par Herodote
Re-Bonjour.
j'ai enlevé le "Résolu" car comme je le précise lors de mon premier message, je dispose de deux deux pages pour consulter des profils : l'un pour les membres, l'autre pour les groupes dans lequel sont les membres. Je pensais que ma première erreur allait, en plus de corriger la page voirprofil.php, ma deuxième page (voirguilde.php) mais ce n'est pas le cas...
Là aussi, la base de donnée n'est pas modifiée après l'envoi du formulaire, alors que le message "votre profil a bien été modifié apparait".
Le code de cette page est très proche de la page voirprofil.php (qui elle fonctionne à merveille) et j'ai essayé de comparer mais je ne trouve pas d'erreur.
Voici le code :
<?php
session_start();
$titre="Page de guilde";
include("includes/identifiants.php");
include("includes/debut.php");
include("includes/menu.php");
$action = isset($_GET['action'])?htmlspecialchars($_GET['action']):'consulter';
$guildid = isset($_GET['g'])?(int) $_GET['g']:'';
?>

<?php
switch($action)
{
    //Si c'est "consulter"
    case "consulter":
      if(isset($_GET['g']))
      { 
       $query=$db->prepare('SELECT guilde_nom, guilde_tag, guilde_id_meneur, guilde_inscrit, guilde_avatar, guilde_siteweb,
	   forum_membres.membre_id_guilde, forum_membres.membre_id, forum_membres.membre_pseudo
       FROM guilde, forum_membres 
	   WHERE guilde.guilde_id=:guildid');
       $query->bindValue(':guildid',$guildid,PDO::PARAM_INT);
       $query->execute();
       $data=$query->fetch();

    
       echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> 
       profil de '.stripslashes(htmlspecialchars($data['guilde_nom']));
       
	   echo'<h1>Profil de '.stripslashes(htmlspecialchars($data['guilde_nom']));
       
	   echo' ['.stripslashes(htmlspecialchars($data['guilde_tag'])).']</h1>';
       
	   echo'<img src="./images/avatars/'.$data['guilde_avatar'].'"
       alt="Ce membre n a pas d avatar" />';
       
       
       echo'<strong>Forum de la guilde : </strong>
       <a href="'.stripslashes($data['guilde_siteweb']).'">'.stripslashes(htmlspecialchars($data['guilde_siteweb'])).'</a>
       <br /><br />';
	   
	   $query=$db->prepare('SELECT guilde.guilde_id_meneur, forum_membres.membre_id, forum_membres.membre_pseudo
       FROM guilde
	   LEFT JOIN forum_membres ON forum_membres.membre_id = guilde.guilde_id_meneur
	   WHERE guilde_id=:guildid');
       $query->bindValue(':guildid',$guildid,PDO::PARAM_INT);
       $query->execute();
       $data=$query->fetch();
	   
	   echo'<strong>Meneur : </strong>
       <a href="./voirprofil.php?m='.stripslashes($data['guilde_id_meneur']).'&action=consulter">'.stripslashes(htmlspecialchars($data['membre_pseudo'])).'</a>
       <br /><br />';
 
       $query=$db->prepare('SELECT guilde_nom, guilde_tag, guilde_id_meneur, guilde_inscrit, guilde_avatar, guilde_siteweb,
	   forum_membres.membre_id_guilde, forum_membres.membre_id, forum_membres.membre_pseudo
       FROM guilde, forum_membres 
	   WHERE guilde.guilde_id=:guildid');
       $query->bindValue(':guildid',$guildid,PDO::PARAM_INT);
       $query->execute();
       $data=$query->fetch();
 
       echo'Cette guilde est inscrite depuis le
       <strong>'.date('d/m/Y',$data['guilde_inscrit']).'</strong>
       <br /><br />	   
	   <br /><br />'
	  
	    if (isset ($_SESSION['guilde_id']))
	    {
	     if ($guildid == $_SESSION['guilde_id'])
	     {
	      echo' 
          <a href="./voirguilde.php?g='.$_SESSION['guilde_id'].'&action=modifier">
          Modifier le profil de votre guilde </a>';
	     }
	    }
	   }
	   else
       {
        echo'<p>Cette guilde ne semble pas exister !</p>';
       }
	   
$query->CloseCursor();
break;
	   
case "modifier":

    if (empty($_POST['sent'])) // Si la variable est vide, on peut considérer qu'on est sur la page de formulaire
    {
	  if ($guildid == $_SESSION['guilde_id'])
	  {
        //On commence par s'assurer que le membre est connecté
        if ($id==0) erreur(ERR_IS_NO_CO);
		
		$query=$db->prepare('SELECT guilde_id_meneur, guilde_id, guilde_nom, guilde_avatar, guilde_siteweb, guilde_inscrit, guilde_tag
        FROM guilde 
		WHERE guilde_id = :guildid');
		$query->bindValue(':guildid',$guildid,PDO::PARAM_INT);
        $query->execute();
        $data=$query->fetch();
		
		if ($_SESSION['id'] = $data['guilde_id_meneur'])
		{
        
        echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Modification du profil de votre guilde';
        echo '<h1>Modifier le profil de la guilde</h1>';
        
        echo '<form method="post" action="voirguilde.php?action=modifier" enctype="multipart/form-data">
      
        <fieldset><legend>Profil sur le forum</legend>
        <label for="guilde_avatar">Changer votre avatar :</label>
        <input type="file" name="guilde_avatar" id="guilde_avatar" />
        (Taille max : 10 ko)<br /><br />
        <label><input type="checkbox" name="delete" value="Delete" />
        Supprimer l avatar</label>
        Avatar actuel :
        <img src="./images/avatars/'.$data['guilde_avatar'].'"
        alt="pas d avatar" />
		<br /><br />
		
     
	    <label for="website">Votre site web :</label>
        <input type="text" name="website" id="website"
        value="'.stripslashes($data['guilde_siteweb']).'" /><br />
        
        <br /><br />
		
        <label for="tag">Votre tag (4 lettres maximum) :</label>
        <input type="text" name="tag" id="tag" value="'.stripslashes($data['guilde_tag']).'"</input>
		<br /><br />
		
		
		
	 
        </fieldset>
        <p>
        <input type="submit" value="Modifier son profil" />
        <input type="hidden" id="sent" name="sent" value="1" />
        </p></form>';
        $query->CloseCursor();  
	     }
      }   
	}
    else //Sinon on est dans la page de traitement
    {
        //On déclare les variables 

      $avatar_erreur = NULL;
      $avatar_erreur1 = NULL;
      $avatar_erreur2 = NULL;
      $avatar_erreur3 = NULL;

     $i = 0;
     $tag = $_POST['tag'];
     $website = $_POST['website'];

	//Vérification de l'avatar
 
     if (!empty($_FILES['avatar']['size']))
     {
        //On définit les variables :
        $maxsize = 30072; //Poid de l'image
        $maxwidth = 100; //Largeur de l'image
        $maxheight = 100; //Longueur de l'image
        //Liste des extensions valides
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' );
 
        if ($_FILES['avatar']['error'] > 0)
        {
        $avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
        }
        if ($_FILES['avatar']['size'] > $maxsize)
        {
        $i++;
        $avatar_erreur1 = "Le fichier est trop gros :
        (<strong>".$_FILES['avatar']['size']." Octets</strong>
        contre <strong>".$maxsize." Octets</strong>)";
        }
 
        $image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
        if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
        {
        $i++;
        $avatar_erreur2 = "Image trop large ou trop longue :
        (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre
        <strong>".$maxwidth."x".$maxheight."</strong>)";
        }
 
        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {
                $i++;
                $avatar_erreur3 = "Extension de l'avatar incorrecte";
        }
      }
	

     echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Modification du profil de votre guilde';
     echo '<h1>Modification d\'un profil</h1>';

 
    if ($i == 0) // Si $i est vide, il n'y a pas d'erreur
    {
        if (!empty($_FILES['avatar']['size']))
        {
                $nomavatar=move_avatar($_FILES['avatar']);
                $query=$db->prepare('UPDATE guilde
                SET guilde_avatar = :avatar 
                WHERE guilde_id = :guildid');
                $query->bindValue(':avatar',$nomavatar,PDO::PARAM_STR);
                $query->bindValue(':guildid',$guildid,PDO::PARAM_INT);
                $query->execute();
                $query->CloseCursor();
        }
 
        //Une nouveauté ici : on peut choisis de supprimer l'avatar
        if (isset($_POST['delete']))
        {
                $query=$db->prepare('UPDATE guilde
		        SET guilde_avatar=0 
		        WHERE guilde_id = :guildid');
                $query->bindValue(':guildid',$guildid,PDO::PARAM_INT);
                $query->execute();
                $query->CloseCursor();
        }
 
        
 
        //On modifie la table
 
        $query=$db->prepare('UPDATE guilde
        SET guilde_siteweb = :website, guilde_tag = :tag
		WHERE guilde_id = :guildid');
        $query->bindValue(':website',$website,PDO::PARAM_STR);
        $query->bindValue(':tag',$tag,PDO::PARAM_STR);
        $query->bindValue(':guildid',$guildid,PDO::PARAM_INT);
        $query->execute();
        $query->CloseCursor();
		
		echo'<h1>Modification terminée</h1>';
        echo'<p>Le profil de votre guilde a été modifié avec succès !</p>';
        echo'<p>Cliquez <a href="./index.php">ici</a> 
        pour revenir à la page d accueil</p>';
		
    }
    else
    {
        echo'<h1>Modification interrompue</h1>';
        echo'<p>Une ou plusieurs erreurs se sont produites pendant la modification du profil</p>';
        echo'<p>'.$i.' erreur(s)</p>';
        echo'<p>'.$avatar_erreur.'</p>';
        echo'<p>'.$avatar_erreur1.'</p>';
        echo'<p>'.$avatar_erreur2.'</p>';
        echo'<p>'.$avatar_erreur3.'</p>';
        echo'<p> Cliquez <a href="./voirprofil.php?action=modifier">ici</a> pour recommencer</p>';
    }
} 
    break;
 
default; 
echo'<p>Cette action est impossible</p>';
	   } //Fin du switch
?>
</div>
</body>
</html>
Pourriez vous m'éclairer une fois de plus?
Ces heures sans trouver mon erreur me rappellent que je ne suis qu'un débutant :|