Accueil > Forum > > > > PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"
PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"
samedi 20 août 2011 à 01:53:24 |
PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

MALINOIS77
|
Bonjour,
En suivant de multiples tutoriels, je suis en train de créer un site avec au départ des pages en php sont présentes afin de se connecter, de s'inscrire, de modifier son profil, etc.
Mes pages fonctionnent parfaitement mais le problème est que je n'arrive pas à insérer la possibilité aux utilisateurs d'enregistrer leur image "avatar".
J'ai bien résolu seul plusieurs problèmes et j'ai bien essayé plusieurs méthodes mais je n'arrive à rien avec ce problème.
Voici ci-dessous les parties principales de mes pages "inscription.php" et "modification_membre.php" en espérant pouvoir enfin trouver une solution...
Ma page "inscription.php":
Code PHP :
<div id="inscription">
<?php
//VERIFICATION ENVOI DU FORMULAIRE
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['username']!='')
{
//SI GET_MAGIC_QUOTES_GPC ACTIVE, ENLEVEMENT DE L'ECHAPPEMENT
if(get_magic_quotes_gpc())
{
$_POST['username'] = stripslashes($_POST['username']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//VERIFICATION MOT DE PASSE ET CONFIRMATION MOT DE PASSE
if($_POST['password']==$_POST['passverif'])
{
//VERIFICATION MOT DE PASSE AVEC 6 CARACTERES OU PLUS
if(strlen($_POST['password'])>=6)
{
//VERIFICATION VALIDITE EMAIL
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//ECHAPPEMENT DES VARIABLES POUR INSERTION DANS REQUETTE SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//VERIFICATION SI PSEUDO CHOISI DEJA EXISTANT
$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"'));
if($dn==0)
{
//RECUPERATION NOMBRE UTILISATERURS POUR DONNER IDENTIFIANT A UTILISATEUR ACTUEL
$dn2 = mysql_num_rows(mysql_query('select id from users'));
$id = $dn2+1;
//ENREGISTREMENT INFORMATIONS DANS BASE DE DONNEES
if(mysql_query('insert into users(id, username, password, email, avatar, signup_date) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{
//PAS D'AFFICHAGE DE FORMULAIRE SI FONCTIONNEMENT CORRECT
$form = false;
?>
<div class="utilisateur-inscrit">MERCI DE VOTRE INSCRIPTION<br />
<a href="connexion.php"><img class="retour-index" src="Bouton/reconnexion.gif" ></a></div>
<?php
}
else
{
//MESSAGE SI ERREUR PENDANT INSCRIPTION
$form = true;
$message = 'ERREUR LORS L\'INSCRIPTION<br />MERCI DE RECOMMENCER';
}
}
else
{
//MESSAGE SI PSEUDO DEJA UTILISE
$form = true;
$message = 'PSEUDO DEJA UTILISE<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI EMAIL INVALIDE
$form = true;
$message = 'EMAIL INVALIDE<br />MERCI DE LE VERIFIER';
}
}
else
{
//MESSAGE SI MOT DE PASSE TROP COURT
$form = true;
$message = 'MOT DE PASSE AVEC MOINS DE 6 CARACTERES<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI MOT DE PASSE ET CONFIRMATION DE MOT PASSE NON IDENTIQUES
$form = true;
$message = 'MOTS DE PASSE NON IDENTIQUES<br />MERCI DE RECOMMENCER';
}
}
else
{
$form = true;
}
if($form)
{
//AFFICHAGE MESSAGE SI BESOIN EST
if(isset($message))
{
echo '<div class="inscription-erreur">'.$message.'</div>';
}
//AFFICHAGE FORMULAIRE
?>
<div class="utilisateur-inscription">
<form action="inscription.php" method="post">
<h1>INSCRIPTION</h1>
</div>
<div class="utilisateur-inscription">
<label for="username">NOM D'UTILISATEUR</label><input type="text" name="username" value="<?php if(isset($_POST['username'])){echo htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="password">MOT DE PASSE<span class="indication">(6 caractères min.)</span></label><input type="password" name="password" /><br />
<label for="passverif">MOT DE PASSE<span class="indication">(Vérification)</span></label><input type="password" name="passverif" /><br />
<label for="email">EMAIL</label><input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="avatar">AVATAR<span class="indication">(facultatif)</span></label><input type="file" name="avatar" value="<?php if(isset($_POST['avatar'])){echo htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
</div>
<div class="utilisateur-inscription_bouton">
<input type="image" class="bouton-enregistrer" src="Bouton/enregistrer.gif" >
</div>
</form>
<?php
}
?>
</div>
Ma page "modification_profil":
Code PHP :
<div id="modification-profil-membre">
<?php
//VERIFICATION CONNEXION UTILISATEUR
if(isset($_SESSION['username']))
{
//VERIFICATION ENVOI FORMULAIRE
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']))
{
//SI GET_MAGIC_QUOTES_GPC ACTIVE, ENLEVEMENT DE L'ECHAPPEMENT
if(get_magic_quotes_gpc())
{
$_POST['username'] = stripslashes($_POST['username']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//VERIFICATION MOT DE PASSE ET CONFIRMATION MOT DE PASSE
if($_POST['password']==$_POST['passverif'])
{
//VERIFICATION MOT DE PASSE AVEC 6 CARACTERES OU PLUS
if(strlen($_POST['password'])>=6)
{
//VERIFICATION VALIDITE EMAIL
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//ECHAPPEMENT DES VARIABLES POUR INSERTION DANS REQUETTE SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//VERIFICATION SI PSEUDO CHOISI DEJA EXISTANT
$dn = mysql_fetch_array(mysql_query('select count(*) as nb from users where username="'.$username.'"'));
//VERIFICATION CHANGEMENT DE PSEUDO ET SI PSEUDO CHOISI DEJA EXISTANT
if($dn['nb']==0 or $_POST['username']==$_SESSION['username'])
{
//MODIFICATION NOUVELLES INFORMATIONS UTILISATEUR
if(mysql_query('update users set username="'.$username.'", password="'.$password.'", email="'.$email.'", avatar="'.$avatar.'" where id="'.mysql_real_escape_string($_SESSION['userid']).'"'))
{
//PAS D'AFFICHAGE DE FORMULAIRE SI FONCTIONNEMENT CORRECT
$form = false;
//SUPPRESSION SESSIONS USERNAME ET USERID SI PSEUDO MODIFIE
unset($_SESSION['username'], $_SESSION['userid']);
?>
<div class="utilisateur-modifie">MODIFICATIONS ENREGISTREES
<br />
<br />
<a href="connexion.php"><img class="bouton-reconnexion" src="Bouton/reconnexion.gif" ></a>
</div>
<?php
}
else
{
//MESSAGE SI ERREUR PENDANT MODIFICATION
$form = true;
$message = 'ERREUR LORS DES MODIFICATIONS<br />MERCI DE RECOMMENCER';
}
}
else
{
//MESSAGE SI PSEUDO DEJA UTILISE
$form = true;
$message = 'PSEUDO DEJA UTILISE<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
///MESSAGE SI EMAIL INVALIDE
$form = true;
$message = 'EMAIL INVALIDE<br />MERCI DE LE VERIFIER';;
}
}
else
{
//MESSAGE SI MOT DE PASSE TROP COURT
$form = true;
$message = 'MOT DE PASSE AVEC MOINS DE 6 CARACTERES<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI MOT DE PASSE ET CONFIRMATION DE MOT PASSE NON IDENTIQUES
$form = true;
$message = 'MOTS DE PASSE NON IDENTIQUES<br />MERCI DE RECOMMENCER';
}
}
else
{
$form = true;
}
if($form)
{
//AFFICHAGE MESSAGE SI BESOIN EST
if(isset($message))
{
echo '<div class="modification-erreur">'.$message.'</div>';
}
//RECUPERATION DONNEES DEJA INSEREES SI FORMULAIRE DEJA ENVOYE
if(isset($_POST['username'],$_POST['password'],$_POST['email']))
{
$username = htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');
if($_POST['password']==$_POST['passverif'])
{
$password = htmlentities($_POST['password'], ENT_QUOTES, 'UTF-8');
}
else
{
$password = '';
}
$email = htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');
$avatar = htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');
}
else
{
//AFFICHAGE INFORMATIONS DEJA DANS BASE DE DONNEES
$dnn = mysql_fetch_array(mysql_query('select username,password,email,avatar from users where username="'.$_SESSION['username'].'"'));
$username = htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8');
$password = htmlentities($dnn['password'], ENT_QUOTES, 'UTF-8');
$email = htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8');
$avatar = htmlentities($dnn['avatar'], ENT_QUOTES, 'UTF-8');
}
//AFFICHAGE FORMULAIRE
?>
<div class="utilisateur-modification">
<form action="modification-profil-membre.php" method="post">
<h1>MODIFICATION DE VOS INFORMATIONS</h1>
</div>
<div class="utilisateur-modification">
<label for="username">NOM D'UTILISATEUR</label><input type="text" name="username" id="username" value="<?php echo $username; ?>" /><br />
<label for="password">MOT DE PASSE<span class="indication">(6 caractères min.)</span></label><input type="password" name="password" id="password" value="<?php echo $password; ?>" /><br />
<label for="passverif">MOT DE PASSE<span class="indication">(Vérification)</span></label><input type="password" name="passverif" id="passverif" value="<?php echo $password; ?>" /><br />
<label for="email">EMAIL</label><input type="text" name="email" id="email" value="<?php echo $email; ?>" /><br />
<label for="avatar">AVATAR<span class="indication">(Facultatif)</span></label><input type="file" name="avatar" id="avatar" value="<?php echo $avatar; ?>" /><br />
</div>
<div class="utilisateur-modification-bouton">
<input type="image" class="bouton-enregistrer" src="Bouton/enregistrer.gif" >
</div>
</form>
<?php
}
}
else
{
?>
<div class="notification-non-connecte">DESOLE<br />LA CONNEXION DOIT ETRE ETABLIE<br />POUR L'ACCES A CETTE PAGE<br />
<a href="connexion.php"><img class="retour-index" src="Bouton/connexion.gif" ></a></div>
<?php
}
?>
A noter que la présence de multiples balises "div" n'est certes pour certaines mais était là pour me repérer afin d'effectuer mon design pour tous les navigateurs principaux et c'est encore et pour l'instant là de façon à donner des repères à ma femme qui m'aide notamment lorsque je lui rajoute des bordures afin de mieux lui faire comprendre et afin qu'elle puisse mieux me donner son avis lorsque je lui montre où j'en suis et pourquoi ceci ou cela est comme cela et pas comme cela.
Merci donc d'être indulgent et surtout merci de votre aide...
Cordialement,
=
|
|
samedi 20 août 2011 à 09:27:08 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

cod57
|
Réponse acceptée !
bonjour
ça c'est déjà pas top
Code HTML :
<input type="file" name="avatar" value="<?php if(isset($_POST['avatar'])){echo htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
vu que les fichiers type="file" transite par un tableau $_FILES
il faut laisser
<input type="file" name="avatar" /><br />
 Bonne programmation !
|
|
samedi 20 août 2011 à 09:36:20 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

cod57
|
Réponse acceptée !
d'abord l'inscription
il manquer
<form action="inscription.php" method="post" enctype="multipart/form-data" >
j'ai fait une correction pour que tu conprenne comment commencer
Code PHP :
<?php
if(isset($_FILES['avatar'])){
echo '<pre>';
print_r($_FILES['avatar']);
echo '</pre>';
}else{
}
?>
<div id="inscription">
<?php
//VERIFICATION ENVOI DU FORMULAIRE
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['username']!='')
{
//SI GET_MAGIC_QUOTES_GPC ACTIVE, ENLEVEMENT DE L'ECHAPPEMENT
if(get_magic_quotes_gpc())
{
$_POST['username'] = stripslashes($_POST['username']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//VERIFICATION MOT DE PASSE ET CONFIRMATION MOT DE PASSE
if($_POST['password']==$_POST['passverif'])
{
//VERIFICATION MOT DE PASSE AVEC 6 CARACTERES OU PLUS
if(strlen($_POST['password'])>=6)
{
//VERIFICATION VALIDITE EMAIL
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//ECHAPPEMENT DES VARIABLES POUR INSERTION DANS REQUETTE SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//VERIFICATION SI PSEUDO CHOISI DEJA EXISTANT
$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"'));
if($dn==0)
{
//RECUPERATION NOMBRE UTILISATERURS POUR DONNER IDENTIFIANT A UTILISATEUR ACTUEL
$dn2 = mysql_num_rows(mysql_query('select id from users'));
$id = $dn2+1;
//ENREGISTREMENT INFORMATIONS DANS BASE DE DONNEES
if(mysql_query('insert into users(id, username, password, email, avatar, signup_date) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{
//PAS D'AFFICHAGE DE FORMULAIRE SI FONCTIONNEMENT CORRECT
$form = false;
?>
<div class="utilisateur-inscrit">MERCI DE VOTRE INSCRIPTION<br />
<a href="connexion.php"><img class="retour-index" src="Bouton/reconnexion.gif" ></a></div>
<?php
}
else
{
//MESSAGE SI ERREUR PENDANT INSCRIPTION
$form = true;
$message = 'ERREUR LORS L\'INSCRIPTION<br />MERCI DE RECOMMENCER';
}
}
else
{
//MESSAGE SI PSEUDO DEJA UTILISE
$form = true;
$message = 'PSEUDO DEJA UTILISE<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI EMAIL INVALIDE
$form = true;
$message = 'EMAIL INVALIDE<br />MERCI DE LE VERIFIER';
}
}
else
{
//MESSAGE SI MOT DE PASSE TROP COURT
$form = true;
$message = 'MOT DE PASSE AVEC MOINS DE 6 CARACTERES<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI MOT DE PASSE ET CONFIRMATION DE MOT PASSE NON IDENTIQUES
$form = true;
$message = 'MOTS DE PASSE NON IDENTIQUES<br />MERCI DE RECOMMENCER';
}
}
else
{
$form = true;
}
if($form)
{
//AFFICHAGE MESSAGE SI BESOIN EST
if(isset($message))
{
echo '<div class="inscription-erreur">'.$message.'</div>';
}
//AFFICHAGE FORMULAIRE
?>
<div class="utilisateur-inscription">
<form action="inscription.php" method="post" enctype="multipart/form-data" >
<h1>INSCRIPTION</h1>
</div>
<div class="utilisateur-inscription">
<label for="username">NOM D'UTILISATEUR
</label>
<input type="text" name="username" value="<?php if(isset($_POST['username'])){echo htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="password">MOT DE PASSE
<span class="indication">(6 caractères min.)
</span>
</label>
<input type="password" name="password" /><br />
<label for="passverif">MOT DE PASSE
<span class="indication">(Vérification)
</span>
</label>
<input type="password" name="passverif" /><br />
<label for="email">EMAIL
</label>
<input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="avatar">AVATAR
<span class="indication">(facultatif)
</span>
</label>
<input type="file" name="avatar" /><br />
</div>
<div class="utilisateur-inscription_bouton">
<input type="image" class="bouton-enregistrer" src="Bouton/enregistrer.gif" >
</div>
</form>
<?php
}
?>
</div>
 Bonne programmation !
|
|
samedi 20 août 2011 à 13:26:22 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

MALINOIS77
|
Réponse acceptée !
Bonjour,
Merci en premier lieu de cette réponse même si elle ne m'aide pas encore...
En ce qui concerne la ligne suivante:
Code PHP : <form action="inscription.php" method="post" enctype="multipart/form-data" >
Le problème est que j'ai déjà mis cette ligne dans mes deux pages lors de mes différents essais, je l'ai retiré suite au fait que lorsque j'effectuais des essais, notamment avec la page liée à la modification du profil, cela refusait du coup l'enregistrement de mes modifications en ne prenant également pas en compte l'image alors qu'en ne mettant pas (provisoirement) cette fin de ligne les inscriptions et les modifications de profil se font bien et ma base de données indiquent bien la présence d'une ligne indiquant la présence d'un avatar même si dans ma page d'affichage du profil cela est pris encompte sans pouvoir l'afficher puisque je n'arrive pas à faire enregistrer l'avatar dans un dossier prévu dans le site.
J'ai du coup retiré cette fin de ligne en attendant de trouver la solution à mon problème.
En ce qui concerne la seconde réponse, j'ai déjà essayé la chose suivante mais le problème est que cela m'affiche une erreur à chaque essai et cela quelque soit le fichier choisi, que ce soit par rapport à la hauteur, à la largeur et à la grosseur et même en ajoutant des "0" pour les essais, ou alors cela m'indique bien que l'upload a bien été effectué en restant sur la même page alors qu'il doit être proposer ensuite de se reconnecter habituellement pour ensuite m'afficher que l'avatar est incorrect quand je fais l'envoi à nouveau alors qu'il l'avait accepté la fois d'avant en restant malheureusement sur la même page.
A force de chercher et de chercher encore et de ne plus avoir la tête "neuve", je fais surement une erreur qui est bête et où je vais dire ensuite comme beaucoup de fois "pourquoi chercher compliquer alors que la réponse était toute simple" et c'est pourquoi j'ai posté mon message.
Le second bout de code que j'ai déjà essayé longuement et retiré pour l'instant est le suivant:
Code PHP : <?php
$dossier = 'Site-Avatar/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 1000000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.bmp', '.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//VERIFICATION SECURITE
//EXTENSION INCORRECTE
if(!in_array($extension, $extensions))
{
$erreur = 'TYPE AVATAR INCORRECT<br />MERCI DE VERIFIER';
}
//TAILLE INCORRECTE
if($taille>$taille_maxi)
{
$erreur = 'AVATAR TROP VOLUMINEUX<br />MERCI D\'EN CHOISIR UN AUTRE';
}
//UPLOAD SI ABSENCE D'ERREUR
if(!isset($erreur))
{
//FORMATAGE NOM AVATAR
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
//PROCESSUS ACCOMPLI CORRECTEMENT
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier))
{
echo 'Upload effectué avec succès !';
}
//ERREUR DANS PROCESSUS
else
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
Ensuite le premier cas d'exemple de message d'erreur que j'ai obtenu lorsque je n'ai pas multiples oobligations de rester sur la même du fait que l'avatar est accepté la première fois et non les fois suivantes:
Code PHP : Array
(
[name] => LOGO AVATAR.BMP
[type] => image/bmp
[tmp_name] => C:\wamp\tmp\php1F4.tmp
[error] => 0
[size] => 843654
)
Je suis donc toujours avec les mêmes problèmes suivants:
- Que lors de l'inscription ou de la modification du profil, le script vérifie que la taille du fichier, la hauteur, la largeur et l'extension sont acceptées.
- Que si l'un de ses paramêtres n'est pas conforme, un message d'erreur s'affiche selon la situation comme pour ceux liés à la vérification du pseudo, du mot de passe, etc., soit donc un message d'erreur indiquant qu'il y a eu une erreur lors de l'enregistrement de l'avatar, un autre indiquant que l'avatar est trop volumineux, un autre indiquant qu'il est trop haut, un autre indiquant qu'il est trop large et un autre que l'extension n'est pas du "jpg", du "gif", du "png" ou du "bmp".
- Que l'enregistrement de l'avatar s'effectue en même temps que le reste et que cela s'intègre donc au tout.
- Que l'avatar puisse être enregistré dans un dossier prévu à cet effet et puisse donc alors s'afficher réellement dans ma page d'affichage du profil dans un premier temps pour peut-être ensuite le faire également afficher dans un coin de toutes mes autres pages lorsque la personne sera connectée...
Merci d'avance à nouveau...
Cordialement,
|
|
samedi 20 août 2011 à 14:00:49 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

cod57
|
Réponse acceptée !
l'afficher puisque je n'arrive pas à faire enregistrer l'avatar dans un dossier prévu dans le site.
voila le problème !
en fait enregistrer et updater c'est presque pareil au niveau de la façon
de faire ... il faudrait conserver la trace de l'image et faire une fonction je regarde ça a++
 Bonne programmation !
|
|
samedi 20 août 2011 à 14:58:51 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

cod57
|
inscription.php exemple
pour modifier.php
faut d'abord recuperr la ligne du user
la mettre dans un tableau
puis dans les values du form
puis comme inscription.php -->
Code PHP :
<?php
session_start();
/*stockons un identifiant valable 1 heure*/
$_SESSION['client']=md5( $_SERVER['REMOTE_ADDR'].date('YmdH') );
function copierImageAvatar($fichier=null,$repertoire='./lesavatars/'){
if(isset($fichier) && !empty($fichier['name'])){
// si formulaire soumis
$content_dir = $repertoire; // dossier où sera déplacé le fichier
$tmp_file = $fichier['tmp_name'];
if( !is_uploaded_file($tmp_file) ){
exit('Le fichier est introuvable <a href="javascript:history.back();">retour</a>');
}
// on vérifie maintenant l'extension
$type_file = $fichier['type'];
if( !strstr($type_file, 'pjpeg') && !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') ){
exit('Le fichier n est pas une image jpg <a href="javascript:history.back();">retour</a>');
}
// on copie le fichier dans le dossier de destination
$name_file = $_SESSION['client'].'.jpg';
if( !move_uploaded_file($tmp_file, $where =$content_dir . $name_file) ){
exit('Impossible de copier le fichier dans '.$content_dir.' <a href="javascript:history.back();">retour</a>');
}
/*redimensionner à la volée*/
$taille_min=120;
$donnees=getimagesize($where);
$image=imagecreatefromjpeg($where);
if ($donnees[0] > $donnees[1]) { //paysage
$largeur_finale=round(($taille_min/$donnees[1])*$donnees[0]);
$hauteur_finale=$taille_min;
}else{
//portrait
$hauteur_finale=round(($taille_min/$donnees[0])*$donnees[1]);
$largeur_finale=$taille_min;
}
$image_mini = imagecreatetruecolor($largeur_finale, $hauteur_finale); //création image finale
imagecopyresampled($image_mini, $image, 0, 0, 0, 0, $largeur_finale, $hauteur_finale, $donnees[0], $donnees[1]);//copie avec redimensionnement
imagejpeg ($image_mini, $content_dir.$name_file);
ImageDestroy($image_mini);
$_SESSION['avatar']=$content_dir.$name_file ;
unset($fichier);
header('Location: inscription.php');
}else{
return false;
}
}
if(isset($_FILES['avatar'])){
//echo '<pre>';
//print_r($_FILES['avatar']);
//echo '</pre>';
/*un fichier est envoyé copiant le*/
echo copierImageAvatar($_FILES['avatar']);
}else{
}
?>
<div id="inscription">
<?php
//VERIFICATION ENVOI DU FORMULAIRE
if(isset($_POST['username'],$_POST['password'],$_POST['passverif'],$_POST['email']))
{
//anti xss
foreach($_POST as $k => $v){
$v=htmlentities(strip_tags($v));
$_POST[$k]=$v;
}
//SI GET_MAGIC_QUOTES_GPC ACTIVE, ENLEVEMENT DE L'ECHAPPEMENT
/*ça sert à rien c'est tjs à off en 2011
if(get_magic_quotes_gpc())
{
$_POST['username'] = stripslashes($_POST['username']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
//$_POST['avatar'] = stripslashes($_POST['avatar']);
}
*/
//VERIFICATION MOT DE PASSE ET CONFIRMATION MOT DE PASSE
if($_POST['password']==$_POST['passverif'])
{
//VERIFICATION MOT DE PASSE AVEC 6 CARACTERES OU PLUS
if(strlen($_POST['password'])>=6)
{
//VERIFICATION VALIDITE EMAIL
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
/*attention il faut etre connecter pour utiliser mysql_real_escape_string*/
mysql_connect('localhost','root',''); /*mettre tes identifiants*/
//ECHAPPEMENT DES VARIABLES POUR INSERTION DANS REQUETTE SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
echo $avatar = mysql_real_escape_string($_SESSION['avatar']); /*il faut un varchar 100 dans la table*/
//VERIFICATION SI PSEUDO CHOISI DEJA EXISTANT
$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'" limit1'));
if($dn===0)
{
//RECUPERATION NOMBRE UTILISATERURS POUR DONNER IDENTIFIANT A UTILISATEUR ACTUEL
//$dn2 = mysql_num_rows(mysql_query('select id from users'));
//$id = $dn2+1;
/*id dans la table doit etre primary autoincrement*/
echo $sql="insert into users(
id,
username,
password,
email,
avatar,
signup_date
)values(
NULL,
'".$username."',
'".$password."',
'".$email."',
'".$avatar."',
'".time()."'
)";
//ENREGISTREMENT INFORMATIONS DANS BASE DE DONNEES
if(mysql_query($sql))
{
//PAS D'AFFICHAGE DE FORMULAIRE SI FONCTIONNEMENT CORRECT
$form = false;
?>
<div class="utilisateur-inscrit">MERCI DE VOTRE INSCRIPTION<br />
<a href="connexion.php"><img class="retour-index" src="Bouton/reconnexion.gif" ></a></div>
<?php
}
else
{
//MESSAGE SI ERREUR PENDANT INSCRIPTION
$form = true;
$message = 'ERREUR LORS L\'INSCRIPTION<br />MERCI DE RECOMMENCER';
}
}
else
{
//MESSAGE SI PSEUDO DEJA UTILISE
$form = true;
$message = 'PSEUDO DEJA UTILISE<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI EMAIL INVALIDE
$form = true;
$message = 'EMAIL INVALIDE<br />MERCI DE LE VERIFIER';
}
}
else
{
//MESSAGE SI MOT DE PASSE TROP COURT
$form = true;
$message = 'MOT DE PASSE AVEC MOINS DE 6 CARACTERES<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI MOT DE PASSE ET CONFIRMATION DE MOT PASSE NON IDENTIQUES
$form = true;
$message = 'MOTS DE PASSE NON IDENTIQUES<br />MERCI DE RECOMMENCER';
}
}
else
{
$form = true;
}
if($form===true)
{
//AFFICHAGE MESSAGE SI BESOIN EST
if(isset($message))
{
echo '<div class="inscription-erreur">'.$message.'</div>';
}
//AFFICHAGE FORMULAIRE
?>
<div class="utilisateur-inscription">
<form action="inscription.php" method="post" enctype="multipart/form-data" >
<h1>INSCRIPTION</h1>
</div>
<div class="utilisateur-inscription">
<label for="username">NOM D'UTILISATEUR
</label>
<input type="text" name="username" value="<?php if(isset($_POST['username'])){echo htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="password">MOT DE PASSE
<span class="indication">(6 caractères min.)
</span>
</label>
<input type="password" name="password" /><br />
<label for="passverif">MOT DE PASSE
<span class="indication">(Vérification)
</span>
</label>
<input type="password" name="passverif" /><br />
<label for="email">EMAIL
</label>
<input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="avatar">AVATAR
<span class="indication">(facultatif)
</span>
</label>
<input type="file" name="avatar" /><br />
<?php
if(file_exists($file='./lesavatars/'.$_SESSION['client'].'.jpg')){
echo '<img src="'.$file.'" width="120" />';
}else{
//rien
}
?>
</div>
<div class="utilisateur-inscription_bouton">
<input type="image" class="bouton-enregistrer" src="Bouton/enregistrer.gif" >
</div>
</form>
<?php
}
?>
</div>
 Bonne programmation !
|
|
samedi 20 août 2011 à 16:05:40 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

cod57
|
Réponse acceptée !
j'ai testé comme ça
il faut crypter le password sinon si quelqu'un recupere ta table il peut voir tes passwords ...
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`password` varchar(32) NOT NULL,
`email` varchar(50) NOT NULL,
`avatar` varchar(100) NOT NULL,
`dateinscription` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Code PHP :
<?php
session_start();
/*stockons un identifiant valable 1 heure*/
$_SESSION['client']=md5( $_SERVER['REMOTE_ADDR'].date('YmdH') );
function copierImageAvatar($fichier=null,$repertoire='./lesavatars/'){
if(isset($fichier) && !empty($fichier['name'])){
// si formulaire soumis
$content_dir = $repertoire; // dossier o¨ sera dÚplacÚ le fichier
$tmp_file = $fichier['tmp_name'];
if( !is_uploaded_file($tmp_file) ){
exit('Le fichier est introuvable <a href="javascript:history.back();">retour</a>');
}
// on vÚrifie maintenant l'extension
$type_file = $fichier['type'];
if( !strstr($type_file, 'pjpeg') && !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') ){
exit('Le fichier n est pas une image jpg <a href="javascript:history.back();">retour</a>');
}
// on copie le fichier dans le dossier de destination
$name_file = $_SESSION['client'].'.jpg';
if( !move_uploaded_file($tmp_file, $where =$content_dir . $name_file) ){
exit('Impossible de copier le fichier dans '.$content_dir.' <a href="javascript:history.back();">retour</a>');
}
/*redimensionner Ó la volÚe*/
$taille_min=120;
$donnees=getimagesize($where);
$image=imagecreatefromjpeg($where);
if ($donnees[0] > $donnees[1]) { //paysage
$largeur_finale=round(($taille_min/$donnees[1])*$donnees[0]);
$hauteur_finale=$taille_min;
}else{
//portrait
$hauteur_finale=round(($taille_min/$donnees[0])*$donnees[1]);
$largeur_finale=$taille_min;
}
$image_mini = imagecreatetruecolor($largeur_finale, $hauteur_finale); //crÚation image finale
imagecopyresampled($image_mini, $image, 0, 0, 0, 0, $largeur_finale, $hauteur_finale, $donnees[0], $donnees[1]);//copie avec redimensionnement
imagejpeg ($image_mini, $content_dir.$name_file);
ImageDestroy($image_mini);
$_SESSION['avatar']=$content_dir.$name_file ;
unset($fichier);
header('Location: inscription.php');
}else{
return false;
}
}
if(isset($_FILES['avatar'])){
//echo '<pre>';
//print_r($_FILES['avatar']);
//echo '</pre>';
/*un fichier est envoyÚ copiant le*/
echo copierImageAvatar($_FILES['avatar']);
}else{
}
?>
<div id="inscription">
<?php
//VERIFICATION ENVOI DU FORMULAIRE
if(isset($_POST['username'],$_POST['password'],$_POST['passverif'],$_POST['email']))
{
//anti xss
foreach($_POST as $k => $v){
$v=htmlentities(strip_tags($v));
$_POST[$k]=$v;
}
//VERIFICATION MOT DE PASSE ET CONFIRMATION MOT DE PASSE
if($_POST['password']===$_POST['passverif'])
{
//VERIFICATION MOT DE PASSE AVEC 6 CARACTERES OU PLUS
if(strlen($_POST['password'])>=6)
{
//VERIFICATION VALIDITE EMAIL
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
/*attention il faut etre connecter pour utiliser mysql_real_escape_string*/
mysql_connect('localhost','root',''); /*mettre tes identifiants*/
mysql_select_db('ausers');
//ECHAPPEMENT DES VARIABLES POUR INSERTION DANS REQUETTE SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_SESSION['avatar']); /*il faut un varchar 100 dans la table*/
//VERIFICATION SI PSEUDO CHOISI DEJA EXISTANT
$dn = mysql_num_rows(mysql_query("select id from users where username='".$username."'"));
if($dn===0){
$sql="insert into users(
id,
username,
password,
email,
avatar,
dateinscription
)values(
NULL,
'".$username."',
'".md5($password)."',
'".$email."',
'".$avatar."',
now()
)";
//ENREGISTREMENT INFORMATIONS DANS BASE DE DONNEES
if(mysql_query($sql)){
//PAS D'AFFICHAGE DE FORMULAIRE SI FONCTIONNEMENT CORRECT
$form = false;
?>
<div class="utilisateur-inscrit">MERCI DE VOTRE INSCRIPTION<br />
<a href="connexion.php"><img class="retour-index" src="Bouton/reconnexion.gif" ></a></div>
<?php
}else{
//MESSAGE SI ERREUR PENDANT INSCRIPTION
$form = true;
$message = 'ERREUR LORS L\'INSCRIPTION<br />MERCI DE RECOMMENCER';
}
}
else
{
//MESSAGE SI PSEUDO DEJA UTILISE
$form = true;
$message = 'PSEUDO DEJA UTILISE<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI EMAIL INVALIDE
$form = true;
$message = 'EMAIL INVALIDE<br />MERCI DE LE VERIFIER';
}
}
else
{
//MESSAGE SI MOT DE PASSE TROP COURT
$form = true;
$message = 'MOT DE PASSE AVEC MOINS DE 6 CARACTERES<br />MERCI D\'EN CHOISIR UN AUTRE';
}
}
else
{
//MESSAGE SI MOT DE PASSE ET CONFIRMATION DE MOT PASSE NON IDENTIQUES
$form = true;
$message = 'MOTS DE PASSE NON IDENTIQUES<br />MERCI DE RECOMMENCER';
}
}
else
{
$form = true;
}
if($form===true)
{
//AFFICHAGE MESSAGE SI BESOIN EST
if(isset($message))
{
echo '<div class="inscription-erreur">'.$message.'</div>';
}
//AFFICHAGE FORMULAIRE
?>
<div class="utilisateur-inscription">
<form action="inscription.php" method="post" enctype="multipart/form-data" >
<h1>INSCRIPTION</h1>
</div>
<div class="utilisateur-inscription">
<label for="username">NOM D'UTILISATEUR
</label>
<input type="text" name="username" value="<?php if(isset($_POST['username'])){echo htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="password">MOT DE PASSE
<span class="indication">(6 caractères min.)
</span>
</label>
<input type="password" name="password" /><br />
<label for="passverif">MOT DE PASSE
<span class="indication">(Vérification)
</span>
</label>
<input type="password" name="passverif" /><br />
<label for="email">EMAIL
</label>
<input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="avatar">AVATAR
<span class="indication">(facultatif)
</span>
</label>
<input type="file" name="avatar" /><br />
<?php
if(file_exists($file='./lesavatars/'.$_SESSION['client'].'.jpg')){
echo '<img src="'.$file.'" width="120" />';
}else{
//rien
}
?>
</div>
<div class="utilisateur-inscription_bouton">
<input type="image" class="bouton-enregistrer" src="Bouton/enregistrer.gif" >
</div>
</form>
<?php
}
?>
</div>
 Bonne programmation !
|
|
dimanche 21 août 2011 à 02:49:35 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

MALINOIS77
|
Réponse acceptée !
Bonjour cod57,
Merci de ce travail et donc de ta réponse qui m'a vraiment beaucoup aidé.
J'ai eu un petit souci mais le problème a été résolu.
Celui-ci était que la page n'allait ne m'affichait plus ensuite la confirmation d'enregistrement mais le problème venait de moi car en copiant les partie de ton script qui m'intérressait j'avais oublié un ";".
Je dis "les parties" car je ne voulais pas seulement effectuer un copier-coller complèt sans essayer de comprendre et j'avais donc ajouter chaque partie étape par étape.
Un second et un troisième merci en ce qui concerne la date d'inscription et surtout en ce qui concerne le cryptage du mot de passe car j'avoue que c'est quelque chose que je ne connais pas encore et que je commence à essayer de comprendre depuis que j'ai lu ton script et que j'a vu les changements dans ma base de données.
Je n'ai pas encore modifié ma page liée à la modification du profil mais avec ce que tu m'as donné, je ne pense pas rencontré de problème pour cette autre page.
En plus, pour l'instant je me retrouve avec deux autres petits soucis qui, je crois, sont liés au cryptage du mot de passe.
Le premier est que ma page connexion refuse mes identifiants malgré que l'enregistrement dans la base de données a bien été effectué et le second est que ma page qui affiche les profils des membres m'indique maintenant pour tous les profils testés que ceux-ci sont inexistant.
Peut-être pourras-tu me dire si ceci est bien lié au cryptage du mot de passe.
Ma page "connexion":
Code PHP :
<div id="connexion">
<?php
//DECONNEXION UTILISATEUR CONNECTE
if(isset($_SESSION['username']))
{
//DECONNEXION AVEC SUPPRESSION SIMPLE DES SESSIONS USERNAME ET USERID
unset($_SESSION['username'], $_SESSION['userid']);
?>
<div class="utilisateur-deconnexion">DECONNEXION EFFECTUEE<br />
<a href="<?php echo $url_home; ?>"><img class="retour-index" src="Bouton/accueil.gif" ></a></div>
<?php
}
else
{
$ousername = '';
//VERIFICATION ENVOI FORMULAIRE
if(isset($_POST['username'], $_POST['password']))
{
//ECHAPPEMENT DES VARIABLES POUR INSERTION DANS REQUETTE SQL
if(get_magic_quotes_gpc())
{
$ousername = stripslashes($_POST['username']);
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
}
//RECUPERATION MOT DE PASSE UTILISATEUR
$req = mysql_query('select password,id from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//VERIFICATION EXISTENCE MOT DE PASSE UTILISATEUR
if($dn['password']==$password and mysql_num_rows($req)>0)
{
//PAS D'AFFICHAGE FORMULAIRE SI MOT DE PASSE CORRECT
$form = false;
//ENREGISTREMENT PSEUDO DANS SESSION USERNAME ET MOT DE PASSE DANS SESSION USERID
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
?>
<div class="utilisateur-connexion">CONNEXION ETABLIE<br />
<a href="<?php echo $url_accueil; ?>"><img class="entree-sommaire" src="Bouton/entree.gif" ></a></div>
<?php
}
else
{
//MESSAGE SI ERREUR PENDANT CONNEXION
$form = true;
$message = 'LES INFORMATIONS ENTREES SONT INCORRECTES';
}
}
else
{
$form = true;
}
if($form)
{
//AFFICHAGE MESSAGE SI BESOIN EST
if(isset($message))
{
echo '<div class="connexion-erreur">'.$message.'</div>';
}
//AFFICHAGE FORMULAIRE
?>
<div class="utilisateur-connexion">
<form action="connexion.php" method="post">
<h1>MERCI DE VOUS IDENTIFIEZ</h1>
</div>
<div class="utilisateur-connexion-enregistrement">
<label for="username">NOM D'UTILISATEUR</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
<label for="password">MOT DE PASSE</label><input type="password" name="password" id="password" /><br />
</div>
<div class="utilisateur-connexion">
<input type="image" class="bouton-connexion" src="Bouton/connexion.gif" >
</div>
</form>
</div>
<?php
}
}
?>
Ma page "liste des membres":
Code PHP :
<div id="liste-membres">
<h1>LISTE DES MEMBRES DU SITE</h1>
<table border="8" bordercolor="#ffffff" cellspacing="10" cellpadding="10">
<tr>
<th class="th-id" width="100">ID</th>
<th class="th-nom-utilisateur" width="250">NOM UTILISATEUR</th>
<th class="th-adresse-email" width="250">ADRESSE EMAIL</th>
</tr>
<?php
//RECUPERATION IDENTIFIANTS, PSEUDOS ET EMAILS
$req = mysql_query('select id, username, email from users');
while($dnn = mysql_fetch_array($req))
{
?>
<tr>
<td class="td-id"><?php echo $dnn['id']; ?></td>
<td class="td-nom-utilisateur"><a href="profil-membre.php?id=<?php echo $dnn['id']; ?>"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td class="td-adresse-email"><?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td>
</tr>
<?php
}
?>
</table>
</div>
Ma page "profil des membres":
Code PHP :
<div id="profil-membre">
<?php
//VERIFICATION IDENTIFIANT DEFINI
if(isset($_GET['id']))
{
$id = intval($_GET['id']);
//VERIFICATION EXISTENCE UTILISATEUR
$dn = mysql_query('select username, email, avatar, signup_date from users where id="'.$id.'"');
if(mysql_num_rows($dn)>0)
{
$dnn = mysql_fetch_array($dn);
//AFFICHAGE INFORMATIONS UTILISATEUR
?>
<h1>PROFIL DE: "<?php echo htmlentities($dnn['username']); ?>"</h1>
<table border="8" bordercolor="#ffffff" cellspacing="10" cellpadding="10">
<tr>
<td class="td-avatar" rowspan=2><?php
if($dnn['avatar']!='')
{
echo '<img src="'.htmlentities($dnn['avatar'], ENT_QUOTES, 'UTF-8').'" alt="avatar-utilisateur" />';
}
else
{
echo '<h1>UTILISATEUR<br /><br />SANS<br /><br />AVATAR</h1>';
}
?></td>
<td class="td-pseudo" align="center"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></td></tr>
<tr><td class="td-identite">EMAIL: <?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?><br />
UTILISATEUR INSCRIT DEPUIS LE:<br /><?php echo date('d/m/Y',$dnn['signup_date']); ?></td>
</tr>
</table>
<?php
}
else
{
echo '<div class="profil-erreur">UTILISATEUR INEXISTANT</div>';
}
}
else
{
echo '<div class="profil-erreur">IDENTIFIANT UTILISATEUR NON DEFINI</div>';
}
?>
</div>
Merci encore à toi et/ou aux autres personnes qui viendrait me donner un petit coup de main...
Cordialement,
|
|
dimanche 21 août 2011 à 03:22:01 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

MALINOIS77
|
Réponse acceptée !
Re-bonjour,
Au cas où, je pense avoir oublié de notifier que j'ai également une page "configuration" qui est en "include" dans chaque page.
Ma page "configuration":
Code PHP :
<?php
//DEMARRAGE DES SESSIONS
session_start();
//CONNEXION BASE DE DONNEES
mysql_connect('localhost', 'root', '');
mysql_select_db('dossier-test-provisoire');
//ADRESSE EMAIL
$mail_webmaster = 'intitulé-email@non-encore-defini.fr';
//ADRESSE DOSSIER SITE
$url_root = 'http://www.adresse-du-site-non-encore-definie.fr/';
/******************************************************
----------------Configuration Optionelle---------------
******************************************************/
//DENOMINATION FICHIER INDEX - ACCUEIL
$url_home = 'index.php';
//DENOMINATION FICHIER SOMMAIRE
$url_accueil = 'sommaire.php';
?>
Merci encore et d'avance...
Cordialement,
|
|
dimanche 21 août 2011 à 09:43:18 |
Re : PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"

cod57
|
Réponse acceptée !
bonjour
je croyais que tu es en phase de developpement ... pour le md5 ...
mais tes clients peuvent garder leur identifiants tel qu'ils les ont
c'est juste toi qui doit crypter des password avec md5
ex:
$pass="toto12";
echo $newpass = md5($pass);
/*tu auras une chaine de 32 caractères alpha numériques indechiffrable*/
mais attention on peut pas décrypter à part les connus de tous genre md5(toto) qui sont dans des dictionnaires ... mais c'est surtout pour pas faciliter la tache à un attaquant possible
donc si c'est déjà une table avant modification
d'abord sauver la table par phpmyadmin --> exporter
au cas ou il faudrait faire marche arriere
pour l'identification md5 juste ça
Code PHP :
<?php
//VERIFICATION EXISTENCE MOT DE PASSE UTILISATEUR
if($dn['password']===md5($password) and mysql_num_rows($req)>0)
?> {
 Bonne programmation !
|
|
Cette discussion est classée dans : message, mysql, email, post, username
Répondre à ce message
Sujets en rapport avec ce message
Modifier les enregistrements d'une base donée [ par GillesWebmaster ]
Bonjour,j'aimerais savoir comment on fait pour créer un petit "module" qui modifie les enregsitrement d'un livre d'or:2pages: -livreor.php
probleme dans le code [ par developvbdebut ]
Bonjour tout le mondeJ'ai deux tabletbl_message_recutbl_messagerie Je voudrai avoir la pos
Parse error [ par CCJ ]
bonjour voila mon code : if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent { if ($_POST['pseudo'] != NULL AN
Textarea [ par CCJ ]
bonjour.je fais actuellement un site et g kelkes blemes pour etre plus calir voici l'adresse : http://assembleur.perso.ados.fr/Acceuil.php?Page=Tchatl
Pb, Formulaire / Mail [ par MaSenCo ]
Bonjour,Je viens de mettre un formulaire / mail sur mon site, et j'ai un petit problème avec la fonction mail, c'est à dire que je reçois bien le mail
page Php+ Mysql qui galère [ par felix_12 ]
Voila, cela fait quelques heures que je galère ssur ce petit code de rien du toutr qui ne marche pas , il n'affiche aucune erreur mais il najoute pas
recuperer dernier message d'une BDD avec requete [ par blinix123 ]
Bonjour à tous,Voila, j'ai un mini-chat, dans le quel les gens poste des messages, or lorsque l'on tape sur F5,c'est a dire la touche rafraichir, le d
contact via formailre mail (ne passe pas) [ par speedylol ]
bonjour j'ai un petit soucis avec mon formailare de contact pat mail , il ne passe pas je reviens toujours a la case réessayez seriez vous m'aider svp
Probleme de code Php dans ma page lors de visualisation [ par brute ]
Bonjour,J'ai un probleme sur une page, le code php apparait en dur lors de la visualisation de la page.Le texte suivant apparait :Votre email doit com
probleme avec mes sessions! [ par drmatox ]
bonjour a vous, je suis trankillement installer dans mon fauteuil et je commence mon script de session, bon bien sur c'est pas simple mais on a connu
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|