Aide php

cs_abibatou Messages postés 2 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 28 septembre 2007 - 3 sept. 2007 à 23:24
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 4 sept. 2007 à 00:04
Je suis nulle en php et là je dois rendre un projet aidez moi svp voici le message d'erreur que je reçois Parse error: syntax error, unexpected T_ELSEIF in /home.10.17/ijfvyguh/www//modules/Admin/pnadmin.php on line 1110   (en rouge)
et voici le codefunction
<?php
liste_admin_main()
{



   // Création d'une nouvelle instance qui contiendra l'affichage du module.
    $output = new pnHTML();





    // Mode pour la mise en forme des données
    $output->SetInputMode(_PNH_VERBATIMINPUT);


    // Code html qui va etre généré.


    $output->Text(" Liste des Membres
\n
 
                  Choisissez les champs que vous voulez voir dans le tableau :\n
 
          <form action ='http://averoes.math.univ-paris13.fr/THEO/PORTAIL/index.php?module=liste&type=admin&func=recup' method='post'>\n


           UID
\n  //boutons de sélections pour les champs
           Nom
\n
           Prénom
\n
           Pseudo
\n
           E-mail
\n
           Site internet
\n
           Profession
\n
           Loisirs, Intérets
\n
               Signature
\n
               Mot de passe crypté
\n
          
\n
           <SELECT name='selection'>//déclaration d’un champ de choix déroulant
           <OPTION>--choisir une option-- //valeur possible pouvant être choisies
           <OPTION value='speudo'>Speudo
        <OPTION>Nom
        <OPTION>E-mail
        </SELECT>
        Valeur://déclaration d’un champ de saisie pour la valeur de l’objet à rechercher
           </form>\n");


    // On renvoi à PostNuke le contenu du $output.
    return $output->GetOutput();
}


function liste_admin_recup() //fonction qui récupère les champs et valeurs à afficher
{
    // Création d'une nouvelle instance qui contiendra l'affichage du module.
    $output = new pnHTML();


    // Mode pour la mise en forme des données
    $output->SetInputMode(_PNH_VERBATIMINPUT);


    //on récupère les valeurs envoyées par la fonction liste_user_main()
    $uid=$_POST["uid"];
    $name=$_POST["name"];
    $prenom=$_POST["prenom"];
    $uname=$_POST["uname"];
    $email=$_POST["email"];
    $url=$_POST["url"];
    $user_occ=$_POST["user_occ"];
    $user_intrest=$_POST["user_intrest"];
    $user_sig=$_POST["user_sig"];
    $pass=$_POST["pass"];
    $val=$_POST["val"];
    $selection=$_POST["selection"];


    //affichage du tableau dans les différentes conditions
    if($selection=='speudo'){// si le speudo a été sélectionné
    $resultat=pnModAPIFunc('liste','admin','requettespeudo',$val);
// requête qui vas chercher dans la baseles membres ( ici dont le speudo est égal à $val)
//$val étant la valeur entrée par l’administrateur dans le champ de saisie


    $output->Text("Liste des membres
                   \");
    $output->Text(\"----
\n\"); // affichage du nom des colonnes Tr pour sélectionner une colonne
    if ($uid==\"pn_uid\") { $output->Text(\"UID, \n\");} //td pour sélectionner une ligne
    if ($name==\"pn_name\") { $output->Text(\"Nom, \n\");}
    if ($prenom==\"pn_uda_value\") { $output->Text(\"Prénom, \n\");}
    if ($uname==\"pn_uname\") { $output->Text(\"Pseudo, \n\");}
    if ($email==\"pn_email\") { $output->Text(\"E-mail, \n\");}
    if ($url==\"pn_url\") { $output->Text(\"Site internet, \n\");}
    if ($user_occ==\"pn_user_occ\") { $output->Text(\"Profession, \n\");}
    if ($user_intrest==\"pn_user_intrest\") { $output->Text(\"Loisir, \n\");}
    if ($user_sig==\"pn_user_sig\"){ $output->Text(\"Signature, \n\");}
    if ($pass==\"pn_pass\"){ $output->Text(\"Mot de passe crypté, \n\");}
    $output->Text(\"\n\");
    $output->Text(\"Voici la liste des membres dont le $selection est égal à $val:\n\");
    $output->Text(\"
\n\"); // valeur pour laquelle la sélection a été effectuée
    $output->Text(\"
\n\");

    while ($ligne= mysql_fetch_array($resultat)){  // pour chaque ligne du résultat
              extract($ligne); // on extrait la ligne de la base de données

//Annexe 2)

              $output->Text(\"----
\n\"); // affichage des valeurs dans le tableau

              if ($uid==\"pn_uid\") { $output->Text(\"$pn_uid, \n\");}
              if ($name==\"pn_name\") { $output->Text(\"$pn_name, \n\");}
              if ($prenom==\"pn_uda_value\") { $output->Text(\"$pn_uda_value, \n\");}
              if ($uname==\"pn_uname\") { $output->Text(\"$pn_uname, \n\");}
              if ($email==\"pn_email\") { $output->Text(\"$pn_email, \n\");}
              if ($url==\"pn_url\") { $output->Text(\"$pn_url, \n\");}
              if ($user_occ==\"pn_user_occ\") { $output->Text(\"$pn_user_occ, \n\");}
              if ($user_intrest==\"pn_user_intrest\") { $output->Text(\"$pn_user_intrest, \n\");}
              if ($user_sig==\"pn_user_sig\"){ $output->Text(\"$pn_user_sig, \n\");}
              if ($pass==\"pn_pass\"){ $output->Text(\"$pn_pass, \n\");}
              $output->Text(\"\n\");

    }
    $output->Text("
\n"); // fermer la balise table




    // Mode pour envoyer les données à PostNuke dans le bon format.
    $output->SetInputMode(_PNH_PARSEINPUT);
    // On renvoi à PostNuke le contenu du $output.
    return $output->GetOutput();
    }elseif($selection=='Nom'){ // cas on l’on a sélectionner le Nom
    $resultat=pnModAPIFunc('liste','admin','requettenom',$val);
// requête qui sélectionne le nom du membre égal a $val




    $output->Text("Liste des membres

                   \");
    $output->Text(\"----
\n\");
    if ($uid==\"pn_uid\") { $output->Text(\"UID, \n\");}
//…..même traitement que précédemment sauf que la requête a changée..........

              if ($pass==\"pn_pass\"){ $output->Text(\"$pn_pass, \n\");}
              $output->Text(\"\n\");
    }
    $output->Text("
\n");
    $output->SetInputMode(_PNH_PARSEINPUT);
    return $output->GetOutput();
    }elseif($selection=='E-mail'){ // si on choisit l’option e-mail
    $resultat=pnModAPIFunc('liste','admin','requettemail',$val);
// requête qui vas chercher le mêmbre don’t le mail est égal à $val


    $output->Text("Liste des membres

                   \");
    $output->Text(\"----
\n\");

 

    if ($uid==\"pn_uid\") { $output->Text(\"UID, \n\");}
//…..même traitement que précédemment sauf que la requête a changée..........

//Annexe 2)

    $output->Text("
\n");
    $output->SetInputMode(_PNH_PARSEINPUT);
    return $output->GetOutput();
    }else { // dans ce cas on affiche tous les membres
    $resultat=pnModAPIFunc('liste','admin','requette',array());


 


    $output->Text("Liste des membres

                   \");
    $output->Text(\"----
\n\");
    if ($uid==\"pn_uid\") { $output->Text(\"UID, \n\");}

//…..même traitement que précédemment sauf que la requête a changée..........

    }
    $output->Text("
\n");


    $output->Text("
<form action='http://averoes.math.univ-paris13.fr/THEO/PORTAIL/excel.php' method='post'>\n  //script qui génère un fichier CSV lisible par Excel contenant la liste des membres
    Visualiser le fichier Membres.excel

    Entrer les champs à visualiser

    (UID, Nom, Prénom, Pseudo, E-mail,Site internet, Profession, Loisir, Signature passe ou tous): //noms des champs que l’on veut afficher dans le fichier CSV
    </form>\n");
    $output->SetInputMode(_PNH_PARSEINPUT);
    return $output->GetOutput();


 


}


Exemple de fonction traitant de la requête servant à récupérer les membres dont le nom est égal à $val
Fonction contenue dans pnadminapi.php


function liste_userapi_requettenom($val)
{
    //Connection et selection de la bdd.
    $user="root";
    $host="localhost";
    $password="xxxxxxxxxxx";
    $connection=mysql_connect($host,$user,$password) or die ("connection failled"); // connexion a la base
    $db=mysql_select_db("portail") or die ("selection bdd impossible"); // sélection de la base désirée


    //Execution de la requète SQL qui retourne la liste des membres dont le nom est égal à $val.
    $rq="select * from pn_users natural join pn_user_data where pn_name='$val' order by pn_uid";
// on exécute une jointure car comme précisé dans la description du module liste certaines informations optionnelles sont enregistrées dans la table pn_user_data
    $resultat=mysql_query($rq) or die ("execution req impossible récupération du membre ");


    return $resultat;
}


 


 


 




?>











 

2 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
3 sept. 2007 à 23:28
Hello,
Regarde la ligne 1110, l'erreur est dedans... genre un } ou qqch comme ça.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 sept. 2007 à 00:04
Salut

les {} delimittent des blocs...

ton } de ton else if correspond au { de :

function liste_admin_recup() //fonction qui récupère les champs et valeurs à afficher
{

si tu prennais un editeur de texte qui colore et affiche le { qui correspond au }, le ) qui correspond au (, le [ qui correspond au ] et inversement, ce genre de problemes serait facilement evitable...

avoir un code indente, c'est aussi important, par indente, je veux dire decale selon le bloc :

function truc($params){
-> decalage
         $var=functionstrucbidule();
         ....
         return ....;
}

ca permet de mieux pouvoir relire ce genre d'erreurs

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
0
Rejoignez-nous