par
Manones » 23 mars 2012, 14:55
Bonjour!
Tout d'abord je suis toute nouvelle sur le forum alors j'espère ne pas me tromper d'endroit ou quoi que ce soit...
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
Code : Tout sélectionner
<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!!

Bonjour!
Tout d'abord je suis toute nouvelle sur le forum alors j'espère ne pas me tromper d'endroit ou quoi que ce soit... :)
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
[code]<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>[/code]
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!! :)