Page 1 sur 1

Avatar par défaut

Posté : 28 févr. 2012, 04:40
par nico44530
Bonjour,

J'ai fais un script d'upload pour qu'un membre choisisse un avatar après son inscription dans son profil.
Mais je n'est pas prévu d'avatar par défaut, il n'y a pas d'image qui s'affiche.

Voici mon script d'upload :
<?php 
session_start();
require("../config.php");

$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT id FROM admin_communaute WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);
$id = $result['id'];

/************************************************************
 * Definition des constantes / tableaux et variables *
 ************************************************************/ 

// Constantes
define('TARGET', 'upload/');    // Repertoire cible
define('MAX_SIZE', 100000);    // Taille max en octets du fichier
define('WIDTH_MAX', 800);    // Largeur max de l'image en pixels
define('HEIGHT_MAX', 800);    // Hauteur max de l'image en pixels 

// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg');    // Extensions autorisees
$infosImg = array(); 

// Variables
$extension = '';
$message = '';
$nomImage = '';

/************************************************************
 * Creation du repertoire cible si inexistant *
 ************************************************************/
if( !is_dir(TARGET) ) {
  if( !mkdir(TARGET, 0755) ) {
  exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');  
  }
} 

/************************************************************ 
 * Script d'upload *
 ************************************************************/
if(!empty($_POST)){
  // On verifie si le champ est rempli
  if( !empty($_FILES['fichier']['name']) )
  {
  // Recuperation de l'extension du fichier
  $extension  = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
  // On verifie l'extension du fichier
  if(in_array(strtolower($extension),$tabExt))
  {
  // On recupere les dimensions du fichier
  $infosImg = getimagesize($_FILES['fichier']['tmp_name']);
  // On verifie le type de l'image
  if($infosImg[2] >= 1 && $infosImg[2] <= 14)
  {
  // On verifie les dimensions et taille de l'image
  if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
  {
  // Parcours du tableau d'erreurs
  if(isset($_FILES['fichier']['error'])
  && UPLOAD_ERR_OK === $_FILES['fichier']['error'])
  {
  // On renomme le fichier
  $nomImage = $id .'.'. $extension;
  // Si c'est OK, on teste l'upload
  if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
  {
  header('Location: index.php');
  }
  else
  {
  // Sinon on affiche une erreur systeme
  $message = 'Problème lors de l\'upload !';
  }
  }
  else
  {
  $message = 'Une erreur interne a empêché l\'uplaod de l\'image';
  }
  }
  else
  {
  // Sinon erreur sur les dimensions et taille de l'image
  $message = 'Erreur dans les dimensions de l\'image !';
  }
  }
  else
  {
  // Sinon erreur sur le type de l'image
  $message = 'Le fichier à uploader n\'est pas une image !';
  }
  }
  else
  {
  // Sinon on affiche une erreur pour l'extension
  $message = 'L\'extension du fichier est incorrecte !';
  }
  }
  else
  {
  // Sinon on affiche une erreur pour le champ vide
  $message = 'Veuillez remplir le formulaire svp !';
  }
  }
?>
Ensuite voici le profil du membre :
<?php 
session_start();
require("config.php");

if (!isset($_SESSION['pseudo']))
{
	$reponse = '<div align="center" id="reponse">Vous devez vous connecter pour voir cette page !</div>';
}
$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM admin_communaute WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);

$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
$prenom = $result['prenom'];
$nom = $result['nom'];


?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta charset="utf-8" />
	<title>World Profil - Le réseau social des explorateurs</title>
	<meta name="description" content="World Profil vous permet de partager vos voyages, vos loisirs et vos activités préférées partout dans le monde !" />
	<meta name="description" content="Réseau social, World Profil, Rencontrer, Partager, Voyages, Loisirs, Activités, Monde, World, Profil, Réseau, Social" />
	<meta name="google-site-verification" content="RvSSIBVy-7PQKEjGVdz7pBitv0nviq52BMYPauL8Yiw" />
	<link rel="shortcut icon" href="include/images/favicon.ico" />
	<link rel="stylesheet" href="include/css/wp-01.css" type="text/css" />
	<link rel="stylesheet" href="include/css/wp-02.css" type="text/css" />
	<link rel="stylesheet" href="include/css/wp-03.css" type="text/css" />
	<script type="text/javascript" src="include/js/jquery.js"></script>
	<script type="text/javascript">
		$(document).ready(function(){
		$("#reponse").fadeIn(700);
		});
	</script>
</head>
<body>

	<?php include("include/barre.php"); ?>

	<?php include("include/haut.php"); ?>

	<div id="content">
		<div class="container">
			<?php include("include/sidebar.php"); ?>
			<div class="bloc_01">
				<h1><span class="lettrine">B</span>ienvenue sur World Profil</h1>
				<p>Le portail ouvrira bientôt ses portes !</p>
				<br />
				<div style="display:none;"><form enctype="multipart/form-data" action="include/upload.php" method="post">   
					<fieldset>        
						<legend>Formulaire</legend>          
						<p>            
							<label for="fichier_a_uploader" title="Recherchez le fichier à uploader !">Envoyer le fichier :</label>            
							<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_SIZE; ?>" />            
							<input name="fichier" type="file" id="fichier_a_uploader" />            
							<input type="submit" name="submit" value="Uploader" />          
						</p>      
					</fieldset>    
				</form></div>
			</div>
		</div>
	</div>
	
	<?php include("include/bas.php"); ?>
	
</body>
</html>
Enfin l'include sidebar.php qui inclut l'avatar :
<div id="sidebar">
				<div class="bloc_login">
					<h1><span class="lettrine">M</span>on compte</h1>
					<?php if(isset($_COOKIE["pseudo"])) { ?>
					<img class="avatar" src="http://www.world-profil.com/include/upload/<?php echo $id; ?>?<?php echo time(); ?>" alt="" /><b><?php echo $prenom; ?> <?php echo $nom; ?></b>
					<?php } else { ?>
						<form method="post" action="login.php" class="form-login" name="form_login">
							<table>
								<tr><td><label class="form_login_label">Nom d'utilisateur</label></td></tr>
								<tr><td><input type="text" name="pseudo" class="form_login_email" maxlength="23" /></td></tr>
								<tr><td><label class="form_login_label">Mot de passe</label></td></tr>
								<tr><td><input type="password" name="password" class="form_login_password" maxlength="30" /></td></tr>
								<tr><td><? echo $reponse; ?></td></tr>
								<tr>
									<td>
										<input type="submit" name="Submit" value="" title="Connexion" class="form_login_submit" />
									</td>
								</tr>
							</table>
						</form>
				</div>
				<div class="bloc_register">
					<h1><span class="lettrine">R</span>ejoindre World Profil</h1>
					<a href="index.php" class="register" title="S'inscrire"></a>
					<?php } ?>
				</div>
				<div class="bloc_members-list">
					<h1><span class="lettrine">M</span>embres inscrits</h1>
					<?php echo '
						<table class="list-membres">
							<tr>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
							</tr>
							<tr>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
							</tr>
							<tr>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/femme.png" alt="" /></a></td>
								<td><a href=""><img src="include/images/homme.png" alt="" /></a></td>
							</tr>
						</table>
					'; ?>
						<a href="index.php"><p>Voir tous les membres</p></a>
				</div>
				<div class="bloc_statistiques">
					<h1><span class="lettrine">S</span>tatistiques</h1>
					<?php include("include/stats/compteur.php"); ?>
					<ul>
						<li><img src="include/images/online.png" alt="" />Visiteur<?php echo "$plur_v"; ?> connecté<?php echo "$plur_v"; ?> : <strong><?php echo "$compt_c"; ?></strong></li>
						<li><img src="include/images/totals.png" alt="" />Visiteurs totals : <strong><?php echo "$compteur"; ?></strong></li>
					</ul>
				</div>
			</div>
Et voici mon lien image pour afficher l'image uploadée qui est lié à l'ID du membre :

<img class="avatar" src="http://www.world-profil.com/include/upload/<?php echo $id; ?>?<?php echo time(); ?>" alt="" />

Sauf que quand un nouveau membre s'inscrit, il n'a pas encore uploadé sa photo, donc aucune image n'est relié à son ID et cela affiche un lien erroné :cry:

Je sais pas si j'ai été très claire :|
Demandez moi si vous voulez plus d'explication pour m'aider :)

Merci

Re: Avatar par défaut

Posté : 28 févr. 2012, 09:58
par moogli
salut,

vérifie si le fichier existe, si ce n'est pas le cas affiche l'avatar par défaut :)

pour t'aider http://www.php.net/file_exists

@+

Re: Avatar par défaut

Posté : 28 févr. 2012, 15:48
par nico44530
Merci je vais essayer :D