Trouve pas l'erreur :( unexpecting $

Résolu
RoX5 Messages postés 87 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 28 septembre 2005 - 29 juil. 2005 à 00:25
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 29 juil. 2005 à 14:07
Bonjour, j'ai fait un formulaire et ici la page pour enregistrer le membre et j'ai un problème, il me met comme erreur Parse error: parse error, unexpected $ in /home.2/rox5/www/membres/inscription2.php on line 71

et je vois vraiment pas ou est l'erreur après 2 heures de recherche :( si vous sauriez m'aider ce serais vraiment super !! (j'ai verif tout les { } et rien :()

<?php
if($_POST["btn_inscription"] == 'newuser'){
include('../config.inc.php');


/***** Récupération *****/
$login = htmlspecialchars($_POST[login]);
$email = $_POST[email]; if(!ereg([mailto:'@',$email)||!ereg('.',$email)){$error='email' '@',$email)||!ereg('.',$email)){$error='email'];}
if(ereg('&amp;',$prenom)||ereg('&quot;',$prenom)){$error='contentprenom'; str_replace('&amp;','&',$prenom); str_replace('&quot;','"',$prenom);}
$nom = htmlspecialchars($_POST[nom]);
$sexe = $_POST[sexe]; if($sexe=='f'){ $sub_sexe='e'; }
if(!ereg('http://',$_POST[url])){ $url='http://'.$_POST[url]; }elseif($_POST[url] == 'http://'){$url=''; }
else{$url = $_POST[url] ;}
$pseudo_irc = htmlspecialchars($_POST[pseudo_irc]);
$jour = $_POST["jour"];
$mois = $_POST["mois"];
$annee = $_POST["annee"];
$validkey = random(20);
$statut = 'membre';
$date_inscr = date("d/m/Y");
$view_profil = 'oui';
$region = htmlspecialchars($_POST[region]);
$loisirs = $_POST["loisirs"];
$description = $_POST["description"];
/***** Fin Récupération *****/


/***** Erreurs *****/
if(empty($login) || empty($_POST[password]) || empty($prenom) || empty($nom)|| empty($sexe)){
$error = 'empty';
if(empty($login)){$empty='login';}
if(empty($_POST[password])){$empty='pass';}
if(empty($prenom)){$empty='prenom';}
if(empty($nom)){$empty='nom';}
if(empty($sexe)){$empty='sexe';}
}
if($_POST[password] != $_POST[confirm_password]){$error='pass'; }else{ $pass = md5($_POST[password]);} $a= $login; $b=$_POST[password];
if($_POST[securepass_verif] != $securepass){$error='securepass'; }
$templogin=ereg_replace('[a-zA-Z0-9]+','',str_replace('-','',str_replace('_','',str_replace('.','',strtolower($login)))));
if(!$templogin){}else{$error = 'content';}


if(strlen($login) < 3){$error = 'logintooshort';}
if(mysql_num_rows(mysql_query("SELECT id from membres WHERE login = '$login'"))){ $error='loginexist'; }
/***** Fin Erreurs *****/


/***** Insertion MySQL + Mail *****/
if(!$error){
while(!mysql_query("INSERT INTO membres (id,prenom,nom,login,password,email,email_orig,pseudo_irc,date_inscription,sexe,statut,valid,validkey,jour,mois,annee,url,view_profil,region,loisirs,description) values('','$prenom','$nom','$login','$password','$email','$pseudo_irc','$date_inscr','$sexe','$statut','$valid','$validkey','$jour','$mois','$annee','$url','$view_profil','$region','$loisirs','$description')")){if($etat !'ok'){ $newid mysql_insert_id();


$message = 'Bonjour '.ucfirst($prenom).',

Tu t\'es inscrit'.$sub_sexe.' sur notre site.br>

Voici un petit récapitulatif de ton compte pour pouvoir t\'identifier:

Ton login : '.$login.'
Ton pass: '.$_POST[password].'

';
$adds = "From: Webmaster <[mailto:webmaster@test.be>\r\n webmaster@test.be>\r\n]"; $adds.="Content-Type: text/html; charset=us-ascii\r\n";
mail($prenom.' '.$nom.' <'.$email.'>','Merci de confirmer ton inscription: '.$login,$message,$adds);

}else/*$error*/{header('location: inscription.php'); mysql_close(); }
/***** Fin Insertion MySQL + Mail *****/
?>

Merci a tous !!!

A bientot

RoX

26 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2005 à 09:01
Question a deux balles :

$validkey = random(20);



random() est une fonction que tu as ecrite ? Parce que sinon, elle n'existe pas en php. Il y a rand, srand, mt_rtand...

Pour tes tableaux associatifs, parfois tu mets des guillemets, parfois non, pour la clef. Il faut toujours en mettre.

Sinon, en examinant ligne a ligne :



if(!$error){
while(!mysql_query("INSERT
INTO membres
(id,prenom,nom,login,password,email,email_orig,pseudo_irc,date_inscription,sexe,statut,valid,validkey,jour,mois,annee,url,view_profil,region,loisirs,description)
values('','$prenom','$nom','$login','$password','$email','$pseudo_irc','$date_inscr','$sexe','$statut','$valid','$validkey','$jour','$mois','$annee','$url','$view_profil','$region','$loisirs','$description')")){if($etat !'ok'){ $newid mysql_insert_id();
$message = 'Bonjour '.ucfirst($prenom).',

Tu t\'es inscrit'.$sub_sexe.' sur notre site.br>

Voici un petit récapitulatif de ton compte pour pouvoir t\'identifier:

Ton login : '.$login.'
Ton pass: '.$_POST[password].'

';
$adds = "From: Webmaster <[mailto:webmaster@test.be%3E%5Cr%5Cn webmaster@test.be>\r\n]"; $adds.="Content-Type: text/html; charset=us-ascii\r\n";
mail($prenom.' '.$nom.' <'.$email.'>','Merci de confirmer ton inscription: '.$login,$message,$adds);

}else/*$error*/{header('location: inscription.php'); mysql_close(); }
/***** Fin Insertion MySQL + Mail *****/
?>


C'est faux. 2 ou 3 accolades ne sont pas fermees. 3 je pense, parce que
je ne vois pas la fermeture de l'accolade du debut de ton script.

et sur la fin, tu fermes le else uniquement, alors que tu ouvres : un
if, un while, et encore un if. Au final, seul le dernier if et ton else
sont fermes. Ni le 1er if, ni le while, ni,

apparemment, ton tout premier if en debut de script.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2005 à 12:48
Que tu essayes d'inserer trop de valeurs par rapport au nombre de champs disponibles dans ta table.
3
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
29 juil. 2005 à 07:30
Bonjour ,
peut tu me dire s'il n'y que ce code dans la page membre?
Merci


<HR SIZE=2>

Si ma réponse te plaît merci de l'accepter
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
29 juil. 2005 à 07:32
Bonjour ,
peux tu nous donner Toute le code de ta page (y compris le html) oualors nous indiquer ou se trouve l'erreur


<HR SIZE=2>

Si ma réponse te plaît merci de l'accepter
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2005 à 08:36
Hello,



ouais c'est illisible, montre les quelques lignes avant et apres la ligne 71.

Tu n'indentes jamais tes codes...? lol? Comment tu fais pour t'y retrouver la-dedans ! :-(
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
29 juil. 2005 à 09:10
Salut,



pense ensuite à utiliser isset :





<?php
if(isset($_POST['btn_inscription']) AND $_POST['btn_inscription'] === 'newuser')

{
include '../config.inc.php';





j'ai pas regardé le reste, c'est trop long mdr
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2005 à 09:15
et a ne pas utiliser la balise font...lol.

etc...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2005 à 09:17
Matinal Antho :-) Bonjour!
0
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
29 juil. 2005 à 09:24
Salut,

$_POST[password] c'est pas bon tu dois mettres $_POST['password']

@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
29 juil. 2005 à 09:27
Bonjour ,
mais moi je préfère mettre $_POST["password"] au lieu de $_POST['password'],
Mais je me demande quel avantage l'un par rapport à l'autre?


<HR SIZE=2>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
29 juil. 2005 à 09:39
Rapidité et propreté



salut malalam :-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
29 juil. 2005 à 09:43
Bonjour ,
Quelle version, avec quillemets ou l'autre?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2005 à 09:46
avec apostrophes.
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
29 juil. 2005 à 09:47
oki
merci
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
29 juil. 2005 à 09:52
Et c'est valable pour tout, pas que pour les noms de variables contenues dans un tableau... Genre pour les echo, etc...



Consulte ce lien : Optimiser PHP

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
RoX5 Messages postés 87 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 28 septembre 2005
29 juil. 2005 à 10:43
Hum lol que yai les '' ou pas sa change rien ^^, la fonction random ouii c'est une fonction à moi :)) et hum y a pas de html avant parce que c une page avant :))

Je doit donner kwa ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2005 à 10:52
Perso j'ai pas parle de html.

Si c'est la ta page complete, comme je te l'ai dit, il te manque des accolades fermantes. Et pas qu'un peu.

Et les tableaux...chez moi, ca change. Un tableau ecrit de cette maniere me donne une erreur.
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
29 juil. 2005 à 10:53
Bonjour ,
oui mais c'est moi qui ai parlé de html avant car je voulais savoir quelle ligne lui générait un erreur!!!
0
RoX5 Messages postés 87 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 28 septembre 2005
29 juil. 2005 à 11:52
Hum voilà lol j'ai refait tout le code, mais toujours une erreur

il me met cette erreur et jvois pas d'ou sa vien :S:

Parse error: parse error, unexpected T_VARIABLE in /home.2/rox/www/membres/inscription2.php on line 50

47 if(empty($_GET["error"])){
48 mysql_query("INSERT INTO membres (id,prenom,nom,login,password,email,email_orig,pseudo_irc,date_inscription,sexe,statut,valid,validkey,jour,mois,annee,url,view_profil,region,loisirs,description) values ('','$prenom','$nom','$login','$password','$email','$pseudo_irc','$date_inscr','$sexe','$statut','$valid','$validkey','$jour','$mois','$annee','$url','$view_profil','$region','$loisirs','$description')")


49
50 $message = 'Bonjour '.ucfirst($prenom).',

51 Tu t\'es inscrit'.$sub_sexe.' sur notre site.

... Si vous sauriez m'aider ou du moin me traduire le message d'erreur mdr :D

A++ encore merci à touss

RoX
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 juil. 2005 à 11:56
T'as oublie un ; a la fin de la ligne 49.

Parse error veut dire une erreur de parsing. Que la syntaxe est
mauvaise, donc l'interpreteur php n'arrive pas a parser ton code, et il
indique ou il bute.

generalement l'erreur se trouve a la ligne du dessus.
0