Parse error:
yobo
-
zoby44 Messages postés 868 Statut Membre -
zoby44 Messages postés 868 Statut Membre -
Bonjour,Je vient de débuter la création d'un site et a la parti inscription on m'affiche
Parse error: parse error in D:\wamp\www\tests\projet 1\inscriptionok.php on line 100
et mon code est :
et merci
Parse error: parse error in D:\wamp\www\tests\projet 1\inscriptionok.php on line 100
et mon code est :
<?php
//début de la session
session_start();
//connection a mysql
mysql_connect('localhost','root','');
mysql_select_db('espace_membre');
//déclaration des variables
// la varible $i est le nombre d'érreur
@$i = '';
@$nom = mysql_real_escape_string($_POST['nom']);
@$prenom = mysql_real_escape_string($_POST['prenom']);
@$pseudo = mysql_real_escape_string($_POST['pseudo']);
@$motdepasse = mysql_real_escape_string($_POST['motdepasse']);
@$ville = mysql_real_escape_string($_POST['ville']);
@$email = mysql_real_escape_string($_POST['email']);
@$datedenaissance = $_POST['jour']/$_POST['mois']/$_POST['anné'];
@$sexe = $_POST['sexe'];
@$activite = $_POST['activite'];
@$confirmmotdepasse = $_POST['confirmmotdepasse'];
//verification si les champs sont remplis
if (!empty($_POST['pseudo']) and !empty($_POST['prenom']) and !empty($_POST['reglegeneral'])
and !empty($_POST['email']) and !empty($_POST['motdepasse']) and !empty($_POST['confirmmotdepasse'])
and !empty($_POST['nom']) and !empty($_POST['sexe']) );
{
//si les champs sont remplis voici les érreur possible
//le mot de passe et la confirmation ne sont pa identique
if ( $motdepasse != $confirmmotdepasse)
{
echo "les deux mot de passe ne sont pas identique ou vide<br/>";
$i++;
}
//le pseudo est déja utilisé
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM membres WHERE pseudo = "'.$pseudo.'"'), 0);
if($nombrepseudo != 0)
{
echo "Votre pseudo est déjà utilisé par un membre<br/>";
$i++;
}
//le pseudo é ou trop grand ou trop petit
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
echo "Votre pseudo est soit trop grand, soit trop petit<br/>";
$i++;
}
//l'adress mail est déja utilisé
$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM membres WHERE e-mail = "'.$email.'"'), 0);
if ($nombremail != 0)
{
echo "votre adresse e-mail est déja utilisé<br/>";
$i++;
}
//le format de l'adress mail
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email))
{
echo"le format de votre adress e-mail n\'est pas valide<br/>";
$i++;
}
}
else
{
echo"Vous avez '".$i."' erreur<br/>";
echo"veuillez remplire tous les champs<br/>";
echo"appuiez <a href=\"inscription.php\">ici<a> pour revenir a la page d\'inscription<br/>";
}
//On balance le tout dans notre table
mysql_query('
INSERT INTO membres (id, nom, prenom, pseudo, motdepasse, email,
datenaissance, sexe, ville, activite, niveaux)
VALUES ("","'.$nom.'","'.$prenom.'","'.$pseudo.'" , "'.$motdepasse.'" , "'.$email.'" ,
"'.$datedenaissance.'" , "'.$sexe.'" ,"'.$ville.'", "'.$activite.'" ) ') or die(mysql_error());
//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['niveaux'] = 2;
?>
<html>
<head><title>inscription 2/2</title></head>
<body>
<?php
if ( $i = 0; )
{
echo "<p>felicitation vous éte bien inscrit sur le site</p>";
echo "<p>pour revenir a la page d'acceuil appuier <a href=\"index.php\">ici</a></p>";
}
?>
</body>
</html>
et merci
5 réponses
C'est à cause du nom de champs. Le signe - est réservé aux opérations normalement. Donc soit tu le remplace par _ soit tu entoure e-mail par ` (alt Gr + 7)
C'est le petit test que j'ai fait.
A oui, un autre truc. De toute façon, ton script ne fonctionneras pas correctement.
Comme tu l'as mis, tes vérification ne servent à rien, une nouvelle entrée sera quand même créée même si les mot de passe ne correspondent pas ou que le login est déjà utilisé.
Voila un peu la marche à suivre :
Après, je pense qu'on s'en fout un peu du nombre d'erreur, et à toi de remplacer les termes que j'ai mis par les tiens.
$sql = mysql_query('SELECT COUNT(*) FROM test WHERE `test-nom` = "test"');
echo mysql_result($sql, 0);
C'est le petit test que j'ai fait.
A oui, un autre truc. De toute façon, ton script ne fonctionneras pas correctement.
Comme tu l'as mis, tes vérification ne servent à rien, une nouvelle entrée sera quand même créée même si les mot de passe ne correspondent pas ou que le login est déjà utilisé.
Voila un peu la marche à suivre :
<?php
if (verification du remplissage des champs) {
$sqlLogin = mysql_query('SELECT COUNT(*) FROM test WHERE `test-nom` = "test"');
$verifLogin = mysql_result($sqlLogin, 0);
$sqlEmail = mysql_query('SELECT COUNT(*) FROM test WHERE `test-nom` = "test"');
$verifEmail = mysql_result($sqlEmail, 0);
if ($verif != 0) {
erreur
}
elseif ( verification de la différence des mdp) {
erreur
}
elseif (longueur pseudo) {
erreur
}
elseif ($verifEmail != 0) {
erreur
}
elseif (validation du mail) {
erreur
}
else {
Insertion dans la BDD
}
}
?>
Après, je pense qu'on s'en fout un peu du nombre d'erreur, et à toi de remplacer les termes que j'ai mis par les tiens.
Salut, déjà pour commencer, enlève le ";" à la ligne 29.
En gros, ta ligne donne ca :
if (......); {
}
au lieu de :
if(.......) {
}
La ligne 100 correspond justement à la fermeture du IF en question.
En gros, ta ligne donne ca :
if (......); {
}
au lieu de :
if(.......) {
}
La ligne 100 correspond justement à la fermeture du IF en question.
et maintenant on m'affiche
Warning: mysql_result() expects parameter 1 to be resource, boolean given in D:\wamp\www\tests\projet 1\inscriptionok.php on line 73
Column count doesn't match value count at row 1
Warning: mysql_result() expects parameter 1 to be resource, boolean given in D:\wamp\www\tests\projet 1\inscriptionok.php on line 73
Column count doesn't match value count at row 1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question