Page 1 sur 1

Page avec formulaire

Posté : 22 déc. 2013, 23:53
par Benji861905
Si quelqu’un peut m'aider sa affiche: Une erreur est survenue lors de l'inscription! quand je m’inscris (ma sql est bonne)
<div id="inscr">
		<center>
		<?php
//On verifie que le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['FilmouJeux']) and $_POST['username']!='')
{
	//On enleve lechappement si get_magic_quotes_gpc est active
	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['FilmouJeux'] = stripslashes($_POST['FilmouJeux']);
	}
	//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']);
				$FilmouJeux = mysql_real_escape_string($_POST['FilmouJeux']);
				time();
				//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, username, password, email, FilmouJeux) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$FilmouJeux.'")')) 
					{
						//Si ca a fonctionne, on naffiche pas le formulaire
						$form = false;
?>
<div class="message"><h3><FONT COLOR="#51006E">Vous avez bien &eacute;t&eacute; inscrit, Vous pouvez dor&eacute;navant vous connecter</font></h3><br />
<div id="boutoninscon2">
			<p><a href="Page connection.php">Connection</a></p>
		</div>
<?php
					}
					else
					{
						//Sinon on dit quil y a eu une erreur
						$form = true;
						$message = '<h3><FONT COLOR="red">Une erreur est survenue lors de l\'inscription!</font></h3>';
					}
				}
				else
				{
					//Sinon, on dit que le pseudo voulu est deja pris
					$form = true;
					$message = '<h3><FONT COLOR="red">Un autre utilisateur utilise d&eacute;j&agrave; le nom d\'utilisateur que vous d&eacute;sirez utiliser!</font></h3>';
				}
			}
			else
			{
				//Sinon, on dit que lemail nest pas valide
				$form = true;
				$message = '<h3><FONT COLOR="red">L\'email que vous avez entr&eacute; n\'est pas valide!</font></h3>';
			}
		}
		else
		{
			//Sinon, on dit que le mot de passe nest pas assez long
			$form = true;
			$message = '<h3><FONT COLOR="red">Le mot de passe que vous avez entr&eacute; contien moins de 6 caract&egrave;res!</font></h3>';
		}
	}
	else
	{
		//Sinon, on dit que les mots de passes ne sont pas identiques
		$form = true;
		$message = '<h3><FONT COLOR="red">Les mots de passe que vous avez entr&eacute; ne sont pas identiques!</font></h3>';
	}
}
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
?>
    <form action="Page inscription.php" method="post">
	<h2>Inscription</h2>
        Veuillez remplir ce formulaire pour vous inscrire:<br />
        <div class="labins">
            <h4><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="small">(6 caract&egrave;res min.)</span></label><input type="password" name="password" /><br />
            <label for="passverif">Confirmation du mot de passe<span class="small">(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 />
			</div>
            <b><input type="submit" value="Envoyer" /></b></h4>
			<input type="text" style="display:none" name="FilmouJeux" value="<?php if(isset($_POST['FilmouJeux'])){echo htmlentities($_POST['FilmouJeux'], ENT_QUOTES, 'UTF-8');} ?>" />
    </form>
<?php
}
?>

Re: Page avec formulaire

Posté : 23 déc. 2013, 08:23
par xTG
Non ta requête n'est pas bonne, en SQL il n'y a que des simples quotes. ;)
Regardes le retour de mysql_error().

Re: Page avec formulaire

Posté : 23 déc. 2013, 13:09
par Benji861905
DSL je me suis mal exprimer je voulais dire que ma base mysql été bonne. comment je peut résoudre le problème?

Re: Page avec formulaire

Posté : 23 déc. 2013, 22:20
par Aureusms
Changes les ' en " et les " en ' :
Ainsi ta requête :
'insert into users(id, username, password, email, FilmouJeux) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$FilmouJeux.'")'
deviendra :
"insert into users(id, username, password, email, FilmouJeux) values (".$id.", '".$username."', '".$password."', '".$email."', '".$FilmouJeux."')"
Les variables en sql, sauf s'il s'agit de nombre doivent être indiquées avec des ' ' . Toi tu les avais indiqué avec des " ".

Re: Page avec formulaire

Posté : 23 déc. 2013, 23:47
par Benji861905
Merci de ta réponse j'ai changer mais le problème persiste :s

Re: Page avec formulaire

Posté : 24 déc. 2013, 00:27
par Aureusms
Quelle est l'erreur ?

Re: Page avec formulaire

Posté : 24 déc. 2013, 01:32
par Benji861905
Bah toujours pareil : Une erreur est survenue lors de l'inscription!

Re: Page avec formulaire

Posté : 24 déc. 2013, 10:34
par xTG
Pour debugguer ton erreur ne nous sert à rien...
Rajoutes mysql_error...

Là en gros tu nous dis "ça marche pas", on peut pas vraiment t'aider sans plus d'informations. ;)

Re: Page avec formulaire

Posté : 24 déc. 2013, 19:02
par Benji861905
Expliquer moi comment faire

Re: Page avec formulaire

Posté : 25 déc. 2013, 02:27
par Benji861905
Je crois que j'ai trouver comment on fait maintenant derrière le message d'erreur il y a marquer: Duplicate entry '5' for key 'PRIMARY'

Re: Page avec formulaire

Posté : 25 déc. 2013, 21:16
par Benji861905
Le problème est regeler merci de toute vos réponse :)

Code a changer (pour ceux que sa peut intéressé) :)
if($dn==0)
				{
					if(mysql_query("insert into users(username, password, email, FilmouJeux) values ('".$username."', '".$password."', '".$email."', '".$FilmouJeux."')"))
					{