Upload d'un avatar dans un profil utilisateur

Manones -  
 Manones -
Bonjour!

Que je vous explique mon problème :
Je suis un train de réaliser pour mon projet de fin d'année un site internet ou les utilisateurs pourront se connecter, avoir accès à une boite mail privé et auront tous un profil perso, visible par les autres utilisateurs.
Quand l'utilisateur s'inscrit sur le site il enregistre des infos de base (nom prénom adresse mail...) qu'il a la possibilité de modifier en accédant à son profil perso, tout comme il a la possibilité d'en ajouter de nouvelles : La photo de profil par exemple.
Cette photo de profil apparaîtra dans un menu situé à gauche de l'écran et qui sera toujours présent quand l'utilisateur naviguera sur le site.

On en arrive à mon problème :
J'aimerais que si l'utilisateur n'a pas encore enregistré de photo de profil, un formulaire de téléchargement soit proposé, et que si l'utilisateur a une photo de profil, elle s'affiche simplement.

Seulement voilà ce que j'obtiens : Une image "cassé" que l'utilisateur ait une photo de profil ou non, et le formulaire de téléchargement qui n'apparaît jamais.

Voici mon code : menu.php

<html>
	<head>
		<link rel="stylesheet" href="style_home.css" />
	
		<script language="JavaScript" type="text/javascript">
		<!--	
			function move_avatar($picture)
			{
				$extension_upload = strtolower(substr(  strrchr($picture['name'], '.')  ,1));
				$name = time();
				$namepicture = str_replace(' ','',$name).".".$extension_upload;
				$name = "images/avatars/".str_replace(' ','',$name).".".$extension_upload;
				move_uploaded_file($picture['tmp_name'],$name);
				return $namepicture;
			}
		//-->
		</script>
	</head>
	<body>
	<?php
	// on se connecte à MySQL
	$db = mysql_connect('localhost', 'root', '******');

	// on sélectionne la base
	mysql_select_db('majorproject',$db);
		
		?>
		<div id="menu">
		<?php
			
			
/*AVATAR*/
			
			
			
			$query1=mysql_query('SELECT * FROM users WHERE picture');

			//Vérification de l'avatar :
			if (!empty($_FILES['picture']))
			{
				?>
				<form enctype="multipart/form-data" action="menu.php" method="post">
					<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
					Envoyez ce fichier : <input name="picture" type="file" />
					<input type="submit" value="Send file" />
				</form>
				<?php
				
				if ($_FILES['picture']['size'])	
				{	
					//On définit les variables :
					$maxsize = 10024; //Poid de l'image
					$maxwidth = 100; //Largeur de l'image
					$maxheight = 100; //Longueur de l'image
					$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides
				}
				if ($_FILES['picture']['error'] > 0)
				{
					$picture_error = "Error when transferring avatar : ";
				}
				if ($_FILES['picture']['size'] > $maxsize)
				{
					$i++;
					$picture_error1 = "File is too big : (<strong>".$_FILES['picture']['size']." Octets</strong>    contre <strong>".$maxsize." Octets</strong>)";
				}

				$image_sizes = getimagesize($_FILES['picture']['tmp_name']);
				if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
				{
					$i++;
					$picture_error2 = "Image trop large ou trop longue :
					(<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> against <strong>".$maxwidth."x".$maxheight."</strong>)";
				}
				
				$extension_upload = strtolower(substr(  strrchr($_FILES['picture']['name'], '.')  ,1));
				if (!in_array($extension_upload,$extensions_valides) )
				{
					$i++;
					$picture_erreur3 = "Improper avatar extension";
				}
				
				$namepicture=(($_FILES['picture']['size'])?move_avatar($_FILES['picture']):'');
			}
			else
			{
				?>
				<img src="images/avatars/<?php echo $query1['picture'];?>">
				<?php
			}

/*END AVATAR*/
			

			echo '<br>';
				?>
				<a href="home.php"><h3>Profil</h3></a>
				<?php
				
			echo '<br>';
			?>
			<a href="new_pm.php"><input type="image" id="bouton-submit" src="images/enveloppe.png"></a>
			
		</div>
	</body>
</html>


J'ai essayé de sortir du code le formulaire de téléchargement mais là c'est l'inverse qui se produit, le formulaire est toujours présent que l'utilisateur ait une photo de profil ou non...

J'espère que tout ce que j'ai expliqué est assez clair,
Je suis dessus depuis plusieurs jours et je ne m'en sors plus, alors je vous remercie grandement de votre aide par avance!! :)

A voir également:

1 réponse

Manones
 
Une question de plus! L'image cassée, est-ce que le problème pourrait venir du chemin enregistré dans ma base de donnée qui n'est pas le bon ?
Si oui, j'utilise easyphp et j'ai un peu de ma à comprendre à partir d'où je dois enregistrer le chemin...
Merci encore de votre aide!
0