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é
Je sais pas si j'ai été très claire
Demandez moi si vous voulez plus d'explication pour m'aider
Merci