Je veux créer une zone membre. Mais j'ai beau tester de m'inscrire, il me marque "Une erreur est survenue lors de l'inscription.". Comment la résoudre ?
fichier sign_up.php
Voici l'erreur
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\carte\sign_up.php on line 30
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\carte\sign_up.php on line 34
Modifié par doc mcfly (04 Mar 2011 - 10:28)
fichier sign_up.php
<?php
include('config.php');
?>
<?php
//On verifie que le formulaire a ete envoye
if(isset($_POST['email'], $_POST['password'], $_POST['passverif']) and $_POST['email']!='')
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
}
//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
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$dn = mysql_num_rows(mysql_query('select id from card where email="'.$email.'"'));
if($dn==0)
{
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
$dn2 = mysql_num_rows(mysql_query('select id from card'));
$id = $dn2+1;
//On enregistre les informations dans la base de donnee
if(mysql_query('insert into card(id, password, email) values ("'.$id.'", "'.$password.'", "'.$email.'")'))
{
//Si ca a fonctionne, on naffiche pas le formulaire
$form = false;
?>
<div class="message">Vous avez bien été inscrit. Vous pouvez doré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éjà le meême email que vous désirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entré 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é contien moins de 6 caractères.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mots de passe que vous avez entré 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="content">
<form action="sign_up.php" method="post">
Veuillez remplir ce formulaire pour vous inscrire:<br />
<div class="center">
<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="password">Mot de passe<span class="small">(6 caractères min.)</span></label><input type="password" name="password" /><br />
<label for="passverif">Mot de passe<span class="small">(vérification)</span></label><input type="password" name="passverif" /><br />
<input type="submit" value="Envoyer" />
</div>
</form>
</div>
<?php
}
?>
<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a>
</body>
</html>
Voici l'erreur
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\carte\sign_up.php on line 30
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\carte\sign_up.php on line 34
Modifié par doc mcfly (04 Mar 2011 - 10:28)