Validation inscription espace 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.

A voir également:

8 réponses

avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
Si++;

$ et S ne sont pas les mêmes choses :)
0
novice100 Messages postés 12 Statut Membre
 
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>';
}
?>
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
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.
0
novice100 Messages postés 12 Statut Membre
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
Tu as sans doute oublié de fermer une accolade (condition, boucle, ...).
0
novice100 Messages postés 12 Statut Membre
 
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.
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 510
 
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'];

...
?>
0
novice100 Messages postés 12 Statut Membre
 
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());
?>
0