erreur surement simple?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur surement simple?

Re: erreur surement simple?

par xTG » 27 janv. 2012, 18:58

La seconde méthode ne veut rien dire et ne fonctionnera jamais, on ne mélange pas le métal et le bois. ;)
PDO != fonctions mysql

Pour la première, okay sauf que...
Tu n'as pas mis de block try..catch dans ton code et tu n'affiches pas les exceptions.
Donc il peut toujours y en avoir, si ton niveau d'erreur PHP est mal configuré tu ne verras rien.
http://www.siteduzero.com/tutoriel-3-34 ... x-bdd.html

Re: erreur surement simple?

par Damb34 » 27 janv. 2012, 17:07

Au final, j'ai recodé en pdo, mais toujours cette meme histoire qui me fait desespérer.

Le but étant toujours d'uploader un avatar lors d'une inscription dans un répertoire et récuperer le lien dans la base de donnée.

Voici le nouveau code :
<?php


require('config.php');	 
require('include/imgClass.php');
require('include/functions.inc.php');
	  
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     $erreurCritique = 0; 
	 
     if(isset($_POST["username"]) AND isset($_POST["password"]) AND isset($_POST["passverif"]) AND isset($_FILES['email']))
    {
            
         
         // Vérification de la validité des champs
           
		        if(!preg_match("/^[A-Za-z0-9\sÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ@'.;,)(?!_+=-]{1,}$/", $_POST['username']))
          {
                $aErrors['username'] = "Votre pseudo n'est pas correctement rempli.";
                $erreurCritique++;                          
          }
                 
                  if($_POST['password']==$_POST['passverif'])
          {
		  
                $aErrors['password'] = "Votre mot de passe n'est pas correcte.";
                $erreurCritique++;                 
          }
                
                  if(strlen($_POST['password'])>=6)
         {
		 
                $aErrors['password'] = "Votre mot de passe possède moins de 6 caractères.";
				$erreurCritique++;				
         }		 

		 //Vérification de la photo :
 if(!empty($_FILES['avatar']['size']))
    {
	  
        //On définit les variables :
        $maxsize = 3145728; //Poid de l'image        
        $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' ); //Liste des extensions valides
        
        if ($_FILES['avatar']['error'] > 0)
        {
		        $erreurCritique++;
                $aErrors['photo'] = "Erreur lors du transfert de votre avatar : ";
				
        }
        if ($_FILES['avatar']['size'] > $maxsize)
        {
                $erreurCritique++;
                $aErrors['photo'] = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong>    contre <strong>".$maxsize." Octets</strong>)";
        }

        
        $extension_upload = strtolower(substr(  strrchr($_FILES['avatar']['name'], '.')  ,1));
        if (!in_array($extension_upload,$extensions_valides) )
        {
                $erreurCritique++;
                $aErrors['photo'] = "Extension de la photo incorrecte";
        }
		 
    }
  
		  
   
           		
            if( $erreurCritique == 0 )
          {
		     
		    $username = htmlspecialchars($_POST['username']);
			$password = htmlspecialchars($_POST['password']);
			$email = htmlspecialchars($_POST['email']);
			$adresse_web = htmlspecialchars($_POST['adresse_web']);
			$adresse_msn = htmlspecialchars($_POST['adresse_msn']);
			$avatar=(!empty($_FILES['avatar']['size']))?move_img($_FILES['avatar']):''; 
			$adresse_aim = htmlspecialchars($_POST['adresse_aim']);
			$prenom = htmlspecialchars($_POST['prenom']);
			$nom = htmlspecialchars($_POST['nom']);
			$ville = htmlspecialchars($_POST['ville']);
			$signature = htmlspecialchars($_POST['signature']);
			$sexe_inscription = htmlspecialchars($_POST['sexe_inscription']);
			$lettres = "abcdefghijklmnopqrstuvwxyz0123456789AZERTYUIOPMLKJHGFDSQWXCVBN";
			$date= date("Y-m-d");
			$heure= date("H:i:s");
			srand(time());
			for ($i=0;$i<$taille;$i++)
				{
				@$idm.=substr($lettres,(rand()%(strlen($lettres))),1);
				}
					$date = date("Y-m-d");
			$heure = date("H:i:s");
     		
	     		  	
			                // Création du compte utilisateur
						 					 					 						 
						  $query=$db->prepare('INSERT INTO users (
						             id
                                   , username
                                   , password
                                   , email
                                   , adresse_web
                                   , adresse_msn
                                   , avatar
                                   , adresse_aim
                                   , prenom	
								   , nom	
								   , ville	
								   , signature	
								   , sexe_inscription
								   , insdate
								   , insheure
								   , signup_date
                                     )
                                     VALUES (:id, :username, :password, :email, :adresse_web, :adresse_msn, :avatar, :adresse_aim, :prenom, :nom, :ville, :signature, :date, :heure, :.time()., NOW())');
							$query->bindValue(':id', $_SESSION['id'], PDO::PARAM_INT);		   
                        	$query->bindValue(':username', $username, PDO::PARAM_STR);	                        
	                        $query->bindValue(':password', $password, PDO::PARAM_STR);
                         	$query->bindValue(':email', $email, PDO::PARAM_STR);
                          	$query->bindValue(':adresse_web', $adresse_web, PDO::PARAM_STR);
							$query->bindValue(':adresse_msn', $adresse_msn, PDO::PARAM_STR);
							$query->bindValue(':avatar', $avatar, PDO::PARAM_STR);
							$query->bindValue(':adresse_aim', $adresse_aim, PDO::PARAM_STR);
							$query->bindValue(':prenom', $prenom, PDO::PARAM_STR);
							$query->bindValue(':nom', $nom, PDO::PARAM_STR);
							$query->bindValue(':ville', $ville, PDO::PARAM_STR);
							$query->bindValue(':signature', $signature, PDO::PARAM_STR);
							$query->bindValue(':date', $date, PDO::PARAM_STR);
							$query->bindValue(':heure', $heure, PDO::PARAM_STR);
                            $query->execute();
							$query = $PDO->query($sql) or die (mysql_error()); // pour voir l'erreur renvoyée

			             if(!$query)
                         {
						                           // Si une erreur survient
                              $messageok = "Erreur d'accès à la base de données lors de votre inscription";
                         }
					
			             else
						 {                                  
                                         // Message de confirmation
                                  $messageok = "Votre inscription a correctement été créé";
							  
                                         // On masque le formulaire
                                  $masquer_formulaire = true;                  				  
					     }			     				     					   
		   }
		 
	 } 
	     
						 
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

           <title>Mon site</title>


                                                                <!--Metas-->

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="fr" />

<meta name="description" content="Ceci est mon site" />
<meta name="keywords" content="mon site" />
<meta name="indentifier-URL" content="www.monsite.com" />
<meta name="copyright" content="mon-site" />

<link rel="stylesheet" media="all" type="text/css" href="css/espacemembre.css" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />


</head>


<body>
<div class="content">
  <?php
	//On affiche un message de bienvenue, si lutilisateur est connecte, on affiche son pseudo
?>
	<?php 
		if(isset($_SESSION['username'])){echo ' Bonjour '.htmlspecialchars($_SESSION['username'], ENT_QUOTES, 'UTF-8');} ?>
  	<?php
	
	//Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter

	if(isset($_SESSION['username']))
	{
	//On compte le nombre de nouveaux messages que lutilisateur a
	$nb_new_pm = mysql_fetch_array(mysql_query('select count(*) as nb_new_pm from pm where ((user1="'.$_SESSION['userid'].'" and user1read="no") or 	(user2="'.$_SESSION['userid'].'" and user2read="no")) and id2="1"'));

	//Le nombre de nouveaux messages est stoque dans la variable $nb_new_pm
	$nb_new_pm = $nb_new_pm['nb_new_pm'];

	//On affiche les liens
	?>
      
  <a href="list_pm.php"> | Vous avez <?php echo $nb_new_pm; ?> messages</a> | <a href="edit_infos.php">Mon compte | </a>
  <a href="connexion.php">Se d&eacute;connecter</a>
  
  <?php
	}
	else
	{
	//Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter
	?>
  <a href="inscription.php">Inscription</a>
  <a href="connexion.php">Se connecter</a>
  <?php
	}
	?>
	</div>
    
	<?php 
		include('include/header.inc.php'); 
	?>

	<?php 
		if(isset($messageok)) { 
	?>

<h3 class="rouge"><?php echo htmlspecialchars($messageok); ?></h3>
<a href="connexion.php">Se connecter</a>
<?php } if($masquer_formulaire != true) { ?>

		<div class="titre_pour_inscription">
			<form action="" method="post" enctype="multipart/form-data">
        Veuillez remplir ce formulaire pour vous inscrire:<br />
        <div class="center">
        <p class="double">
            <label for="username">Nom d'utilisateur</label><input type="text" name="username" value="value="<?php if(isset($_POST['username'])){echo htmlspecialchars($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /><br /></p>
            <p class="double">
            <label for="password">Mot de passe<span class="small">(6 caract&egrave;res min.)</span></label><input type="password" name="password" /><br /></p>
            <p class="double">
            <label for="passverif">Mot de passe<span class="small">(v&eacute;rification)</span></label><input type="password" name="passverif" /><br /></p>
            <p class="double">
            <label for="email">Email</label><input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlspecialchars($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br /></p>
            
            <p class="double"><label for="adresse_web">Site web(sans http://)</label><input type='text' name='adresse_web'  id='adresse_web'></p>
 					<p class="double"><label for="adresse_msn">MSN</label><input type='text' name='adresse_msn'  id='adresse_msn'></p>
                    <p class="double"><label for="adresse_aim">AIM</label><input type='text' name='adresse_aim'  id='adresse_aim'></p>
 <p class="double"><label for="prenom">Prénom</label><input type='text' name='prenom'  id='prenom'></p>
                    <p class="double"><label for="nom">Nom</label><input type='text' name='nom'  id='nom'></p>
 					<p class="double"><label for="ville">Ville *</label><input type='text' name='ville'  id='ville'></p>
                  <p class="double"><label for="signature">Signature *</label><input type='text' name='signature'  id='signature'></p>
		
					<center>Selectionnez le type d'avatar que vous désirez :</center>
                    
                    
   <fieldset>
 <legend>Votre photo :</legend>
 <p>Taille maxi 3Mo</p>
<p>            
     <strong>Photo :</strong> <input type="file" name="avatar" />
	 <?php if(isset($aErrors['photo'])) { ?>
<p class="rouge"><?php echo ($aErrors['photo']); ?></p> <?php }?> 

    
 </fieldset>
	
    	<p class="double"><label for="sexe">Votre sexe</label>Homme : <input type='radio' name='sexe_inscription'  value="homme" checked="checked">&nbsp;Femme : <input name='sexe_inscription' type='radio' value='femme'></p>
        
            <input type="submit" value="Envoyer" />
		</div>
    </form>
</div>
</div>
</div>
<?php
}
?>
</body>
</html>

Le probleme : Quand je clique sur envoyé, les champs que j'ai rempli sont vidés, aucun message d'erreur. Etant tout aussi débutant dans le pdo, j'ai cherché et j'ai trouvé l'équivalence du or die qui serait : soit
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
ou bien
$query = $PDO->query($sql) or die (mysql_error()); // pour voir l'erreur renvoyée
dans les deux cas, j'ai toujours le meme probleme et aucun message n'apparait.

J'oserais dire que c'est pire qu'avant, meme si le code me parait plus propre d'un coup ^^

Re: erreur surement simple?

par Damb34 » 27 janv. 2012, 15:20

J'ai regardais deux fois le code, et je ne vois pas d'accolade en trop.

Re: erreur surement simple?

par sirakawa » 27 janv. 2012, 13:26

il y a des chances qu'il y ait une accolade en trop avant le else
if ()
{
}
else
{
}

Re: erreur surement simple?

par Damb34 » 27 janv. 2012, 12:01

Je viens de mettre tout dans le "design" du site, sur la page d'inscription, comme ca, j'ai pas de mise a jour à faire puisque ca part avec l'inscription.
Mais maintenant j'ai deux erreurs :( la premiere est un : ( ! ) Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\test\inscription.php on line 195 et le second toujours le Column count doesn't match value count at row 1. la ligne 195 est au passage de :
			//le format d'image
			$form = true;
			if(!in_array($ext_origin,$ext)){
			$message = 'Les formats acceptés sont : jpg, png, gif.';}
		}
	}
	else
		{
			//Sinon, on dit que le mot de passe nest pas assez long
			$form = true;
			if($taille_origin>$taille_max){
			$message = 'fichier trop volumineux.';}
A la base mon code marchait impécablement avant que je mette le systeme d'upload. le T_ELSE ne serait pas parce que j'ai mal placé mon code ?
	<?php
include('config.php');
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

           <title>DBA PRODUCTION FILMS : LA REALISATION AUDIOVISUELLE</title>


                                                                <!--Metas-->

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="fr" />

<meta name="description" content="Réalisation audiovisuelle dans la france entière" />
<meta name="keywords" content="Cinéma, Audiovisuel, animation 3d, Son, DBA, Prod, Esma, Studio M, Supinfograph, métiers du cinéma, école de cinéma, ecole de cinema, école d audiovisuel, école supérieur de réalisation audiovisuelle, formation, formation son, formation audiovisuelle, formation cinema, after, effects, adobe, avid, xpress pro, composer, premiere, première, Autodesk, 3ds Max,réalisation, film d'entreprise, film pour entreprise, film, entreprise, vidéo, video professionnelle, video numerique, video, videos, films video, reportage video, tournage vidéo, montagevideo , video pro, reportage, société production audiovisuelle, vidéo coaching, réalisation films entreprise, communication interne, effets spéciaux, film salon, video d'entreprise, presentation video d'entreprise, film process, doublage son, film institutionnel, reportage evenementiel, film nantes, film paris, video sur internet, DVD, CD-Rom, duplication, avfactory, paris, boulogne, billancourt, boulogne billancourt, capitale, montpellier, saint mathieu de tréviers, nimes, marseille, lyon, caen, nantes, corse, ajaccio, bastia, france, entière, entiere, france entière, europe, tuto, tutorial, tutoriel, didacticiel, best, better, meilleur, sud, de, la, france, sud de la france, languedoc roussillon, captation spetacle" />
<meta name="robots" content="index, follow" />
<meta name="indentifier-URL" content="www.dba-prod.com" />
<meta name="copyright" content="Dba production film 2011" />

<link rel="stylesheet" media="all" type="text/css" href="css/espacemembre.css" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />


</head>


<body>
<div class="content">
  <?php
//On affiche un message de bienvenue, si lutilisateur est connecte, on affiche son pseudo
?>
	<?php if(isset($_SESSION['username'])){echo ' Bonjour '.htmlspecialchars($_SESSION['username'], ENT_QUOTES, 'UTF-8');} ?>
  <?php
//Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter
if(isset($_SESSION['username']))
{
//On compte le nombre de nouveaux messages que lutilisateur a
$nb_new_pm = mysql_fetch_array(mysql_query('select count(*) as nb_new_pm from pm where ((user1="'.$_SESSION['userid'].'" and user1read="no") or (user2="'.$_SESSION['userid'].'" and user2read="no")) and id2="1"'));
//Le nombre de nouveaux messages est stoque dans la variable $nb_new_pm
$nb_new_pm = $nb_new_pm['nb_new_pm'];
//On affiche les liens
?>
      
  <a href="list_pm.php"> | Vous avez <?php echo $nb_new_pm; ?> messages</a> | <a href="edit_infos.php">Mon compte | </a>
  <a href="connexion.php">Se d&eacute;connecter</a>
  <?php
}
else
{
//Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter
?>
  <a href="inscription.php">Inscription</a>
  <a href="connexion.php">Se connecter</a>
  <?php
}
?>
</div>
<?php include('include/header.inc.php'); ?>

		<!-- corps -->
	<div id="corps">
		<div id="titre"><font color="#000000">Inscrip</font><font color="#ba2c3a">tion</font>
        </div>
        
        <div id="descriptif_inscription"> Vous avez aimé nos tutoriaux? Vous désirez participer aux forums, à une news? Pour cela rien de plus simple. Remplissez les informations demandées, cela ne vous prendra que deux minutes.
        </div>
	
    <div id="inscription">
<?php



//On verifie que le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['username']!='')

	$rep = 'video_tuto/';
$fichier = basename($_FILES['avatar']['name']);
$taille_max = 2000000;
$taille_origin = filesize($_FILES['avatar']['tmp_name']);
$ext = array('.png','.jpg','.jpeg','.JPG','.JPEG');
$ext_origin = strchr($_FILES['avatar']['name'], '.');
{
	//On enleve lechappement si get_magic_quotes_gpc est active
	if(get_magic_quotes_gpc())
	{
				$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']);
				$adresse_web = mysql_real_escape_string($_POST['adresse_web']);
				$adresse_msn = mysql_real_escape_string($_POST['adresse_msn']);
				$adresse_aim = mysql_real_escape_string($_POST['adresse_aim']);
				$prenom = mysql_real_escape_string($_POST['prenom']);
				$nom = mysql_real_escape_string($_POST['nom']);
				$ville = mysql_real_escape_string($_POST['ville']);
				$signature = mysql_real_escape_string($_POST['signature']);
				$sexe_inscription = mysql_real_escape_string($_POST['sexe_inscription']);
				
	}
	//On verifie si le mot de passe et celui de la verification sont identiques
	if($_POST['password']==$_POST['passverif'])
	{
		//On verifie si le mot de passe a 6 caracteres ou plus
		if(strlen($_POST['password'])>=6)
		{
			//On verifie si lemail est valide
			if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
			
			
			{
				//On echape les variables pour pouvoir les mettre dans une 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']);
				$adresse_web = mysql_real_escape_string($_POST['adresse_web']);
				$adresse_msn = mysql_real_escape_string($_POST['adresse_msn']);
				$adresse_aim = mysql_real_escape_string($_POST['adresse_aim']);
				$prenom = mysql_real_escape_string($_POST['prenom']);
				$nom = mysql_real_escape_string($_POST['nom']);
				$ville = mysql_real_escape_string($_POST['ville']);
				$signature = mysql_real_escape_string($_POST['signature']);
				$sexe_inscription = mysql_real_escape_string($_POST['sexe_inscription']);
				$taille = 40;
			$lettres = "abcdefghijklmnopqrstuvwxyz0123456789AZERTYUIOPMLKJHGFDSQWXCVBN";
			$date= date("Y-m-d");
			$heure= date("H:i:s");
			srand(time());
			for ($i=0;$i<$taille;$i++)
				{
				@$idm.=substr($lettres,(rand()%(strlen($lettres))),1);
				}
					$date = date("Y-m-d");
		$heure = date("H:i:s");
				//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
				$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"'));
				if($dn==0)
				{
					//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
					$dn2 = mysql_num_rows(mysql_query('select id from users'));
					$id = $dn2+1;
					//On enregistre les informations dans la base de donnee
					if(mysql_query('insert into users(id, adresse_web, adresse_msn, adresse_aim, username, password, email, prenom, nom, ville, signature, avatar, sexe_inscription, insdate, insheure, signup_date) values ('.$id.', "'.$adresse_web.'", "'.$adresse_msn.'", "'.$adresse_aim.'", "'.$username.'", "'.$password.'", "'.$email.'", "'.$prenom.'", "'.$nom.'", "'.$ville.'", "'.$signature.'", "'.$avatar.'", "'.$sexe_inscription.'", "'.$date.'", "'.$heure.'",  "'.time().'")'))
					{
						//Si ca a fonctionne, on naffiche pas le formulaire
						$form = false;
						if(move_uploaded_file($_FILES['avatar']['tmp_name'],$rep . $fichier))
?>
<div class="message">Vous avez bien &eacute;t&eacute; inscrit. Vous pouvez dor&eacute;navant vous connecter.<br />
<a href="connexion.php">Se connecter</a></div>
<?php
					}
					else
					{
						//Sinon on dit quil y a eu une erreur
						$form = true;
						$message = 'Une erreur est survenue lors de l\'inscription.';
					}
				}
				else
				{
					//Sinon, on dit que le pseudo voulu est deja pris
					$form = true;
					$message = 'Un autre utilisateur utilise d&eacute;j&agrave; le nom d\'utilisateur que vous d&eacute;sirez utiliser.';
				}
			}
			else
			{
				//Sinon, on dit que lemail nest pas valide
				$form = true;
				$message = 'L\'email que vous avez entr&eacute; n\'est pas valide.';
			}
		}
		else
		{
			//Sinon, on dit que le mot de passe nest pas assez long
			$form = true;
			$message = 'Le mot de passe que vous avez entr&eacute; contien moins de 6 caract&egrave;res.';
		}
	}
	else
		{
			//le format d'image
			$form = true;
			if(!in_array($ext_origin,$ext)){
			$message = 'Les formats acceptés sont : jpg, png, gif.';}
		}
	}
	else
		{
			//Sinon, on dit que le mot de passe nest pas assez long
			$form = true;
			if($taille_origin>$taille_max){
			$message = 'fichier trop volumineux.';}
		}
	}
	else
	{
		//Sinon, on dit que les mots de passes ne sont pas identiques
		$form = true;
		$message = 'Les mots de passe que vous avez entr&eacute; ne sont pas identiques.';
	}
}
else
{
	$form = true;
}
if($form)
{
	//On affiche un message sil y a lieu
	if(isset($message))
	{
		echo '<div class="message">'.$message.'</div>';
	}
	//On affiche le formulaire
	
	
?>

		<div class="titre_pour_inscription">
			<form action="inscription.php" method="post" enctype="multipart/form-data" />
        Veuillez remplir ce formulaire pour vous inscrire:<br />
        <div class="center">
        <p class="double">
            <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 /></p>
            <p class="double">
            <label for="password">Mot de passe<span class="small">(6 caract&egrave;res min.)</span></label><input type="password" name="password" /><br /></p>
            <p class="double">
            <label for="passverif">Mot de passe<span class="small">(v&eacute;rification)</span></label><input type="password" name="passverif" /><br /></p>
            <p class="double">
            <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 /></p>
            
            <p class="double"><label for="adresse_web">Site web(sans http://)</label><input type='text' name='adresse_web'  id='adresse_web'></p>
 					<p class="double"><label for="adresse_msn">MSN</label><input type='text' name='adresse_msn'  id='adresse_msn'></p>
                    <p class="double"><label for="adresse_aim">AIM</label><input type='text' name='adresse_aim'  id='adresse_aim'></p>
 <p class="double"><label for="prenom">Prénom</label><input type='text' name='prenom'  id='prenom'></p>
                    <p class="double"><label for="nom">Nom</label><input type='text' name='nom'  id='nom'></p>
 					<p class="double"><label for="ville">Ville *</label><input type='text' name='ville'  id='ville'></p>
                  <p class="double"><label for="signature">Signature *</label><input type='text' name='signature'  id='signature'></p>
		
					<center>Selectionnez le type d'avatar que vous désirez :</center>
                    
                    
    <label for="avatar">Image perso<span class="small">(facultatif)</span></label><input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
Avatar : <input type="file" name="avatar" value="<?php if(isset($_POST['avatar'])){echo htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
	
    	<p class="double"><label for="sexe">Votre sexe</label>Homme : <input type='radio' name='sexe_inscription'  value="homme" checked="checked">&nbsp;Femme : <input name='sexe_inscription' type='radio' value='femme'></p>
        
            <input type="submit" value="Envoyer" />
		</div>
    </form>
</div>
</div>
</div>
<?php
}
?>
</body>
</html>

Re: erreur surement simple?

par xTG » 27 janv. 2012, 09:30

Donc c'est bien le champ avatar DE CET utilisateur qui faut modifier.
Et non pas rajouter un n-uplet avec uniquement un champ avatar...

C'est une requête UPDATE qu'il faut utiliser, et il te faudra la clé primaire identifiant l'utilisateur dans la clause WHERE pour ne mettre à jour que l'utilisateur en question.

Re: erreur surement simple?

par Damb34 » 26 janv. 2012, 23:55

Le but final est que lutilisateur puisse uploader un avatar tout simplement.

Re: erreur surement simple?

par xTG » 26 janv. 2012, 21:39

Euh... C'est pas plutôt une mise à jour que tu veux faire dans ce cas ?
Car c'est une table renseignant la liste des utilisateurs non ?
Recréer une ligne pour chaque avatar n'a aucun sens.

Re: erreur surement simple?

par Damb34 » 26 janv. 2012, 20:57

Autant pour moi, ca ne m'étais pas venu a l'esprit. Voici l'erreur : Column count doesn't match value count at row 1.

D'apres la trad, j'ai un probleme de Nombre de colonnes qui ne correspondrait pas à la valeur de la ligne 1. Mais la traduction programmeur donne? Parce qu'il est vrai que ma bdd possede 7champs, mais je n'en veux qu'un celui de l'avatar pour le moment. Comment modifier cela? (si c'est ca)

Re: erreur surement simple?

par xTG » 26 janv. 2012, 20:23

De base les erreurs ne sont pas affichées comme je te l'ai dit.
Il faut rajouter la gestion avec par exemple :
mysql_query('insert into users(avatar) values ("'.$rep.$fichier.'","'.time().'")') or die(mysql_error());
Et là tu vas la voir l'erreur de syntaxe.

Re: erreur surement simple?

par Damb34 » 26 janv. 2012, 18:54

Le probleme justement c'est qu'il me dit "upload ok" j'ai bien la photo dans le repertoire, mais le lien ne s'affiche pas dans la base de donnée.

mais wamp me sort pas d'erreur il est la le gros probleme, sinon j'aurais regardé, c'est comme si la ligne query n'existé pas

Re: erreur surement simple?

par xTG » 26 janv. 2012, 18:27

Sous MySQL c'est pas des doubles quotes mais des simples quotes pour les chaînes de caractères.
Il doit donc te générer une erreur t'indiquant cela. Sauf que t'affiches pas les erreurs. :P

Re: erreur surement simple?

par Damb34 » 26 janv. 2012, 17:28

L'image s'envoie dans le répertoire que j'ai demandé, mais ne figure pas dans ma base de donnée :( aurais je fais une erreur de code, ou oublier quelque chose?
<?php


if($_POST){
	
	$rep = 'video_tuto/';
$fichier = basename($_FILES['avatar']['name']);
$taille_max = 2000000;
$taille_origin = filesize($_FILES['avatar']['tmp_name']);
$ext = array('.png','.jpg','.jpeg','.JPG','.JPEG');
$ext_origin = strchr($_FILES['avatar']['name'], '.');

	if(!in_array($ext_origin,$ext)){
		$erreur = 'Vous devez uploader un fichier de type png,jpg et jpeg';
	}
	if($taille_origin>$taille_max){
		$erreur = 'le fichier est trop volumineux';
	}
	if(!isset($erreur)){
		if(move_uploaded_file($_FILES['avatar']['tmp_name'],$rep . $fichier)){
			echo 'upload ok';
		mysql_connect('localhost', 'root', '');
mysql_select_db('esma');
mysql_query('insert into users(avatar) values ("'.$rep.$fichier.'","'.time().'")');
		
		}
		
		else{
			echo 'upload pas ok';
		}
	}
		if(isset($erreur)){
			echo $erreur;
		}
}


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
<form method="post" action="upload_test.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
Avatar : <input type="file" name="avatar"/>
<input type="submit" value="envoyer"/>
</body>
</html>

Re: erreur surement simple?

par Damb34 » 26 janv. 2012, 15:50

Je te remercie, parce que j'avais deja vu avec FFmpeg mais il fallait linux, ou quelque chose comme ca.

Une derniere chose : Comment d'une image uploader dans un dossier, je peux récuperer le lien?

Par exemple : Un membre poste un avatar. L'image est stocker dans un dossier "avatar", mais comment dans la base de donnée faire en sorte d'avoir le lien, afin de mettre l'avatar du membre sur sa page?

Re: erreur surement simple?

par sirakawa » 26 janv. 2012, 15:37

FFMPEG
version en ligne, je pense, mais pour des conversions simples ça devrait suffire
http://ffmpeg.zeranoe.com/builds/
Il existe un interface Windows win ffmpeg, que je n'aime pas trop mais qui simplifie la vie...