begin process at 2012 05 31 12:52:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

Autre

 > 

PROBLEME ENREGISTREMENT AVATAR DANS PAGES "INSCRIPTION" ET "MODIFICATION-PROFIL-MEMBRE"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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&egrave;res min.)</span></label><input type="password" name="password" /><br />
            <label for="passverif">MOT DE PASSE<span class="indication">(V&eacute;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&egrave;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&eacute;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&egrave;res min.)
      </span>
    </label>
    <input type="password" name="password" /><br />            
    <label for="passverif">MOT DE PASSE
      <span class="indication">(V&eacute;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&egrave;res min.)
      </span>
    </label>
    <input type="password" name="password" /><br />            
    <label for="passverif">MOT DE PASSE
      <span class="indication">(V&eacute;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&egrave;res min.)
      </span>
    </label>
    <input type="password" name="password" /><br />            
    <label for="passverif">MOT DE PASSE
      <span class="indication">(V&eacute;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 !

1 2

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales