Erreur sur { dans une fonction !!!??? [Résolu/Fermé]

Signaler
Messages postés
98
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
-
-RoRo-
Messages postés
98
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
-
Bonjour à toutes et à tous. J'ai un script qui exécute une fonction selon une condition. Par contre, il m'affiche le message suivant :

Parse error: syntax error, unexpected '{' in /var/www/PROJET_BTS/WEB_SALMAGNE/account/createFirst.php on line

Et pourtant, je ne vois pas de "{" en trop !!!

voici la partie de mon script :

<?php

session_start();

if (isset($_SESSION['ID']))
{
if(empty($_SESSION['prenomCTRL']))
{ prenom_error(); }

php nom_error() { echo "prénom non saisi <br>"; } // erreur ici sur "{"
}

session_unset();
. . . . .

?>

Pouvez-vous m'aidez SVP ?
Merci d'avance...
Messages postés
8896
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1376
Cette ligne:

php nom_error() { echo "prénom non saisi <br>"; }


n'a pas beaucoup de sens... :-)

Tu voulais faire quoi au juste?
Messages postés
27
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
17 janvier 2010
1
Hello,

Je ne comprend pas bien ta ligne:
php nom_error() { echo "prénom non saisi <br>"; } // erreur ici sur "{" 


bon hormis que je ne comprenne pas le sens de la ligne (car j'ai jamais eu de ligne commenceant par "php", il manque ";" après nom_error()
donc pour le serveur le nom_error() et pas terminé puisqu'îl manque son ; et donc il est bizarre d'avoir une accolade après...

Voilà à mon avis c'est ça...
Bonne continuation
Messages postés
98
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
1
Salut et merci pour votre aide !
Je voulais que ma condition exécute la fonction dans un endroit précis de ma page web :

<html>
<title>createFirst.php</title>

<?php

session_start();

if (isset($_SESSION['ID']))
{
if(empty($_SESSION['prenomCTRL']))
{ prenom_error(); }
...
...
}
session_unset();
?>

<div id="formulaire">

<form name='formulaire' method='post' action='createSecond.php'>
Nom <input type='texte' name='nom' /> </br></br>
<?php nom_error() { echo "prénom non saisi <br>"; } ?>
Prénom <input type='texte' name='prenom' /> <br></br>
<?php prenom_error() { echo "nom non saisi <br>"; } ?>
Adresse mail <input type='texte' name='adresseMail' /> </br></br>
<?php mail_error() { echo "prénom non saisi <br>"; } ?>
Instrument joué <input type='texte' name='instrument' /> </br></br>
<?php instrument_error() { echo "prénom non saisi <br>"; } ?>
Identifiant <input type='texte' name='identifiant' /> </br></br>
<?php identifiant_error() { echo "prénom non saisi <br>"; } ?>
Mot de passe <input type='texte' name='passwd' /> </br></br>
<?php passwd_error() { echo "prénom non saisi <br>";} ?>

<center><input type='submit' name='validation' value=' valider '/></form></center>
</div>
...
..
.
Messages postés
98
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
1
Bonjour tout le monde ! je me suis organisé autrement et ça fonctionne comme je voulais. Il ne me reste donc plus qu'à créer une interface plus agréable ^^ !
Voici mon script si ça peut aider certains :


<?php

session_start();

if (isset($_SESSION['ID']))
{
if(empty($_SESSION['prenomCTRL']))
{ $prenom_error=1; }
if(empty($_SESSION['nomCTRL']))
{ $nom_error=1; }
if(empty($_SESSION['adresseMailCTRL']))
{ $mail_error=1; }
if(empty($_SESSION['instrumentCTRL']))
{ $instrument_error=1; }
if(empty($_SESSION['identifiantCTRL']))
{ $identifiant_error=1; }
if(empty($_SESSION['passwdCTRL']))
{ $passwd_error=1;}
}

session_unset();

?>

<div id="formulaire">

<form name='formulaire' method='post' action='createSecond.php'>

Nom <input type='texte' name='nom' />
<?php if($prenom_error==1)
echo "nom non saisi"; ?>
</br></br>

Prénom <input type='texte' name='prenom' />
<?php if($nom_error==1)
echo "prénom non saisi"; ?>
<br></br>

Adresse mail <input type='texte' name='adresseMail' />
<?php if($mail_error==1)
echo "adresse mail non saisie"; ?>
</br></br>

Instrument joué <input type='texte' name='instrument' />
<?php if($instrument_error==1)
echo "instrument non saisi"; ?>
</br></br>

Identifiant <input type='texte' name='identifiant' />
<?php if($identifiant_error==1)
echo "identifiant non saisi"; ?>
</br></br>

Mot de passe <input type='texte' name='passwd' />
<?php if($passwd_error==1) echo "mot de passe non saisi"; ?>
</br></br>


<center><input type='submit' name='validation' value=' valider '/></form></center>
</div>
</body>
......
....
...
..
.
Messages postés
27
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
17 janvier 2010
1
Hello,

cool que t'ai trouvé une soluce ;)

Par contre il y a un truc que je comprend pas là, car si je prend un de tes champs en exemple:
Nom <input type='texte' name='nom' /> 


quand tu veux traiter le champ, genre pour vérifier s'il est vide ça donnerait genre:
if(!empty($_POST['nom']))
{
       // le champ n'est pas vide, tant mieux xd
}
else
{
      // le champ est vide...
}


Là ce que je comprend pas c'est que tu testes des variable de session, mais je ne vois pas où tu les as créer...
Mais si tu fais comme ça, vaudrait mieux traiter les champ avant de les passer en session plutot que de les passer en session puis les traiter, enfin c'est mon avis...

Ensuite pour ta vérif, tu met un message d'erreur pour chaque cas, et tu l'affiche s'il vaut 1...
Pourquoi ne pas créer un message d'erreur unique qui s'afficherais en haut du form avec le nom du champ...

Genre:
if(!empty($_POST['nom']))
{
     // champ rempli on continue
     if(!empty($_POST['prenom']))
      {
          // champ rempli on continue.....
      }
      else
      {
              $msg_error = "prenom";
      }
}
else
{
      $msg_error = "nom";
}


// partie formulaire

if(!empty($msg_error))
{
     print "<p><font color='red'>Vous avez homis de remplir le champ <b>".$msg_error."</b></font></p>";
}

print "<form method='post' .........";


et pour tes input, ce serait bien de mettre les valeurs des post, comme ça si durant le traitement il y a un champ vide ou autre, quand il réaffiche le formulaire pour qu'il remplisse le champ manquant, ben lesd autres champs sont rempli avec ce qu'il avait mis, pour les grand formulaire ça évite de devoir tout reremplir...
ex:
<?php
print "Nom <input type='text' name='nom' value='".$_POST['nom']."' />";
?>


Voilà c'est juste des idées ;)
bonne continuation!
Messages postés
98
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
1
Salut ! Merci pour ton idée à la fin de ton commentaire car j'y pensais. Mais pour l'instant, je fais les bases ensuite, la sécu et enfin, le graphisme avec ajax, javascript et DOM HTML (j'ai même commandé des bouquins pour me former). Sinon J'ai vu au début de ton commentaire que tu me demandais ou se situait mes variables de sessions. Celles-ci se situent dans un deuxième fichier :

<?php
session_start();
...
..
.

$Firstname=$_POST["nom"];
$Name=$_POST['prenom'];
$Addressmail=$_POST["adresseMail"];
$Instrument=$_POST["instrument"];
$Login=$_POST["identifiant"];


$Password=$_POST["passwd"];
$_SESSION['prenomCTRL']=$Firstname;
$_SESSION['nomCTRL']=$Name;
$_SESSION['adresseMailCTRL']=$Addressmail;
$_SESSION['instrumentCTRL']=$Instrument;
$_SESSION['identifiantCTRL']=$Login;
$_SESSION['passwdCTRL']=$Password;

if(($Firstname=="")OR($Name=="")OR($Addressmail=="")OR($Instrument=="")OR($Login=="")OR($Password==""))
{
$_SESSION['ID']="1";
require ('createFirst.php');
exit;
}


else

{
mysql_connect("$host","$user","$pass");
mysql_select_db($DataBase);

$query="INSERT INTO ..............
....
..
Messages postés
27
Date d'inscription
vendredi 4 septembre 2009
Statut
Membre
Dernière intervention
17 janvier 2010
1
Re,

Oki je vois ;)
Juste un conseil pour racourcir ton code, plutot que de mettre :
$Name=$_POST['prenom'];  
$_SESSION['nomCTRL']=$Name; 

Pourquoi pas simplement...
$_SESSION['nomCTRL']=$_POST['prenom']; 


Bonne continuation
Messages postés
98
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
1
Merci