Validation inscription espace membre
novice100
Messages postés
12
Statut
Membre
-
novice100 Messages postés 12 Statut Membre -
novice100 Messages postés 12 Statut Membre -
Bonjour,
Je suis en train de réaliser un espace membre en php.
J'utilise Dreamweaver CS4.
Ma base de donnée est : espace_membre
Ma table est : membre
Voici ma page "inscription"
<h1>Inscription 1/2</h1>
<form method="post" action="registerok.php" enctype="multipart/form-data">
<fieldset><legend>Identifiants</legend>
<label for="pseudo">* Pseudo :</label> <input name="pseudo" type="text" id="pseudo" /> (le pseudo doit contenir entre 3 et 15 caractères)<br />
<p><input type="submit" value="S'inscrire" /></p>
</form>
Voici ma page "verification" (ici pseudo):
<?php
$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
?>
<?php
$i = 0;
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM membre WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if ($nombrepseudo != 0)
{
$pseudo_erreur1 = "votre pseudo est déjà utilisé par un membre";
Si++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15
{
$pseudo_erreur2 = "votre pseudo est soit trop grand, soit trop petit";
Si++;
}
?>
<?php
if ($i == 0)
{
echo'<h1>Inscription terminée</h1>';
}
?>
J'ai l'erreur suivante :
Parse error: parse error in C:\wamp\www\Site_Test\registerok.php on line 30
Quelqu'un peut-il m'aider à résoudre ce problème?
Merci d'avance.
Je suis en train de réaliser un espace membre en php.
J'utilise Dreamweaver CS4.
Ma base de donnée est : espace_membre
Ma table est : membre
Voici ma page "inscription"
<h1>Inscription 1/2</h1>
<form method="post" action="registerok.php" enctype="multipart/form-data">
<fieldset><legend>Identifiants</legend>
<label for="pseudo">* Pseudo :</label> <input name="pseudo" type="text" id="pseudo" /> (le pseudo doit contenir entre 3 et 15 caractères)<br />
<p><input type="submit" value="S'inscrire" /></p>
</form>
Voici ma page "verification" (ici pseudo):
<?php
$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
?>
<?php
$i = 0;
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM membre WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if ($nombrepseudo != 0)
{
$pseudo_erreur1 = "votre pseudo est déjà utilisé par un membre";
Si++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15
{
$pseudo_erreur2 = "votre pseudo est soit trop grand, soit trop petit";
Si++;
}
?>
<?php
if ($i == 0)
{
echo'<h1>Inscription terminée</h1>';
}
?>
J'ai l'erreur suivante :
Parse error: parse error in C:\wamp\www\Site_Test\registerok.php on line 30
Quelqu'un peut-il m'aider à résoudre ce problème?
Merci d'avance.
8 réponses
-
Si++;
$ et S ne sont pas les mêmes choses :) -
merci, je viens de changer comme ceci, mais cette fois il y a le message ci-dessous :
Messager erreur :
Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\Site_Test\registerok.php on line 26
<?php
$i = 0;
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM membre WHERE membre_pseudo = "'.$pseudo.'"'), 0); (ligne 26)
if ($nombrepseudo != 0)
{
$pseudo_erreur1 = "votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
$pseudo_erreur2 = "votre pseudo est soit trop grand, soit trop petit";
$i++;
}
if ($i == 0)
{
echo'<h1>Inscription terminée</h1>';
}
?> -
Ta requête SQL doit être erronnée.
Essaye en utilisant AS pour écrire COUNT(*) dans un champ.$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) AS nb FROM membre WHERE membre_pseudo = "'.$pseudo.'"'), 0);Comme apparemment tu n'es qu'au début de ton projet, je te conseil d'apprendre PDO. -
j'ai maintenant l'erreur :
Parse error: parse error in C:\wamp\www\Site_Test\registerok.php on line 47
ligne 47, c'est </html>, qui ferme ma balise d'ouverture située avant head. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Tu as sans doute oublié de fermer une accolade (condition, boucle, ...).
-
non, car j'avais tout vérifier.
Mais je pense que mon problème vient de la connexion avec la base de donnée.
Voici les éléments :
base de donnée : espace_membre
table : membre
pseudo : membre_pseudo
et voici le code :
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) AS nb FROM espace_membre WHERE membre = "'.$pseudo.'"'), 0) or exit(mysql_error());
Quelqu'un peut-il résoudre ce problème ? Merci d'avance. -
Après le FROM, il faut mettre la table, pas la base de données.
<?php $erreurs = ''; $nbErreurs = 0; mysql_connect('localhost','root',''); mysql_select_db('espace_membre'); $pseudo = mysql_real_escape_string($_POST['pseudo']); $sql = 'SELECT COUNT(*) AS nb FROM membre WHERE pseudo = "'.$pseudo.'"'; $req = mysql_query($sql); $data = mysql_fetch_assoc($req); $nb = $data['nb']; ... ?> -
j'ai aussi utilisé cette solution, mais cela ne fonctionne pas :
Je suis perdu
<?php
$i = 0;
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) AS nb FROM membre WHERE membre_pseudo = "'.$pseudo.'"'), 0) or exit(mysql_error());
?>