Erreur: parse error unexpected $end

Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011 - 13 juin 2006 à 09:40
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 14 juin 2006 à 12:00
Bonjour
Parse error: syntax error, unexpected $end in

Voila l'erreur que j'ai en executant ma page licence.php , qui inclut le fichier function_licence.php.
L'erreur est la derniere ligne de function_licence.php "?>" et je ne comprend pas trop pourquoi , il n'a pas l'air d'avoir des prob d'{} ou () donc je fait appel à vous

voici les derniere ligne de ce fameux fichier posant problème:

/////////////////////////////////////////////////////////////////////////////////////////////////////////
function ad_licence_form() {
 if (isset($_GET['id_log']) && isset($_GET['id_usr']) && isset($_GET['num_licence']) && isset($_GET['d_achat']) ) {
 // Si les champs du formulaire on été remplis
  
  // Insertion des données transmises dans la base
  $id_log = $_GET['id_log'];
  $id_usr = $_GET['id_usr'];
  $num_licence = $_GET['num_licence'];
  $date_achat = $_GET['d_achat'];
  $requete = "INSERT INTO licence (id_licence , num_licence, d_achat_licence, id_log, id_usr) VALUES ('' , ''.$num_licence.'' , '' .$date_achat. '' , '' .$id_log. '' , '' .$id_usr. '')";
  mysl_querry ( $requete );
  echo '<script language="Javascript">alert("La licence à été ajoutée avec succé.");</script>';
  header ('location: licence.php');
 }
 else {
 echo '<script language="javascript">alert("Veuillez remplir tous les champs")</script>;';
 header('location: javascript:history.go(-1)');
 }
}
?>  // c'est sur cette ligne q'il y a une erreur
/////////////////////////////////////////////////////////////////////////////////////////////////////////

Merci poiur votre aide

22 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 09:55
Salut!
Moi j'ai pas d'erreur...

Petit détail,
else {
 echo '<script language="javascript">alert("Veuillez remplir tous les champs")</script>;';
Le ; doit être avant </script>, pas après.

Tu utilises une variable $end? Dans quel fichier?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
13 juin 2006 à 10:10
Heu... je ne sais pas si ca viens de la, mais dans ton fichier, tu fermes ta balise php, mais je ne vois pas ou tu l'ouvre... est tu sur de l'avoir ouverte ?

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juin 2006 à 10:32
Salut,

  echo '<script language="Javascript">alert("La licence à été ajoutée avec succé.");</script>';
  header ('location: licence.php');

faut mettre un header juste AVANT tout envoi de texte....

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

Mon site (articles sur la programmation et programmes)
0
Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011
13 juin 2006 à 10:41
merci pour vos reponse rapide

whitedwarf:
oui j'ouvre bien par <? au debut de mon fichier , mais il n'est pas present car j'ai copier que la derniere fonction!

coucou747:
je comprend pas trop ce que tu me dit???

coockiesch:
bien vu j'avais po trop vu l'erreur sur le javascript, merci

Si non le prob est tjrs present

merci encore
0

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

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juin 2006 à 10:43
Salut,

 header('location: javascript:history.go(-1)');
 
lol
du javascript dans un header, on aura tout vu...

faut mettre :

echo '<script type="text/javascript">
window.history.go(-1);</script>';

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

Mon site (articles sur la programmation et programmes)
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 10:44
whitedwarf >> Si le php n'avait pas été ouvert, on aurait pas eu l'erreur

Ce que dit coucou747 c'est que la fonction header ne soit pas être précédée par du texte envoyé au navigateur ( html, javascript, echo, ... ) car sinon elle ne fonctionnera pas et affichera un zouli message d'erreur... Ton header est donc à mettre avant tout code javascript...

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juin 2006 à 10:45
Salut,

c'est très simple, une requette http, c'est comme un html, ça a un header et un body, et le header est toujours avant le body... donc, si tu fais echo, tu envois le header et un morceau du body, ce qui fait que tu ne peux plus appeler la fonction header...

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

Mon site (articles sur la programmation et programmes)
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 10:45
Lol, coucou747, il me semble qu'à chaque post on voit une erreur de plus, :D

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
13 juin 2006 à 10:54
salut

echo '<script language="javascript">
alert("Veuillez remplir tous les champs") ;
</script>';

je pense qu'il manque un ; après alert
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 juin 2006 à 11:08
Salut,

pour le moment, on s'en fout de son erreur javascript...

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

Mon site (articles sur la programmation et programmes)
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 11:33
Rien n'empêche de corriger JS, même si sidf est en retard puisque j'ai déjà signalé ce ; ;)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011
13 juin 2006 à 15:39
meme quand je vire la ligne avec le header sa me fait tjrs la meme erreur
0
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
13 juin 2006 à 18:54
Tu devrais mettre le code présent avant pour que l'on puisse plus voir ce qui se passe

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0
Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011
13 juin 2006 à 20:36
bonsoir

la je suis sur un autre pc sur lequel je peut tester (avec un easyphp)

et la sa me donne

Parse error: parse error in c:\program files\easyphp1-8\www\www\licence_function.php on line 117

je vous colle la partie du code qui pose problème la fin de ma page ; sachant qu'avant sa y'a d'autre fonction et j'ai deja ouvert par  <?

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function ad_licence_form() {
    $requete_log = 'SELECT nom_log , id_log FROM logiciel';
    $requete_usr = 'SELECT pseudo_usr , id_usr FROM usr';
   
    //formulaire
    ?>
    <table class=tableau_form>
    <tr>
    <form methode="GET" action="licence.php">
   
    <td class=formulaire>Logiciel :</td>
    <td class=formulaire><select name="nom_log" >
        <option value="">Logiciel</option>
            <?
            while($data = mysql_fetch_assoc($resultat_log)) {
                // on affiche les informations de l'enregistrement en cours
                echo '<option value='.$data['id_log'].'>'.$data['nom_log'].'';    
                echo '</option>'.'\n';    
            }
            ?>
        </select>
    </td>
    </tr><tr>
    <td class=formulaire>Utilisateur :</td>
    <td class=formulaire><select name="pseudo_usr" >
        <option value="">Utilisateur</option>
            <?
            while($data = mysql_fetch_assoc($resultat_usr)) {
                // on affiche les informations de l'enregistrement en cours
                echo '<option value='.$data['id_usr'].'>'.$data['pseudo_usr'].'';    
                echo '</option>'.'\n';    
            }
            ?>
        </select>
    </td>
    </tr><tr>
    <td class=formulaire>Numero licence :</td>
    <td class=formulaire></td>
    </tr><tr>
    <td class=formulaire>Date d'achat :</td>
    <td class=formulaire></td>
    </form>
    </tr>
    <?
    exit;
}

//Fonction traiter l'ajout d'une licence
function ad_licence() {
    if (isset($_GET['id_log']) && isset($_GET['id_usr']) && isset($_GET['num_licence']) && isset($_GET['d_achat']) ) {
    // Si les champs du formulaire on été remplis
       
        // Insertion des données transmises dans la base
        $id_log = $_GET['id_log'];
        $id_usr = $_GET['id_usr'];
        $num_licence = $_GET['num_licence'];
        $date_achat = $_GET['d_achat'];
        $requete = "INSERT INTO licence (id_licence , num_licence, d_achat_licence, id_log, id_usr) VALUES ('' , ''.$num_licence.'' , '' .$date_achat. '' , '' .$id_log. '' , '' .$id_usr. '')";
        mysql_query ( $requete ) or die ("Insertion non effectuée !");
        echo '<script language="Javascript">alert("La licence à été ajoutée avec succé.");</script>';
        header ('location: licence.php');
    }
    else {
    echo '<script language="javascript">alert("Veuillez remplir tous les champs");</script>';
    //echo '<script language="javascript">javascript:history.go(-1);</script>';
    //header('location: javascript:history.go(-1)');
    }
}
?>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Encore merci
0
Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011
13 juin 2006 à 20:38
oups, dsl pour les ///// sa fou le bordel

j'ajoute que la ligne 117 c'est la derniere :"?>"

// on peu pas editer les message sur le forum?
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
13 juin 2006 à 23:37
Moi je serais toi, je prendrai un prog avec colorisateur syntaxique ...
Sinon tu vas te faire chier royal !

D'après mon éditeur (Zend pour pas le citer :p), y'a aucun problème à ce niveau du code.
Donc c'est plus haut que ca merde.
0
Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011
14 juin 2006 à 07:50
j'utilise notepad++ mais je vois pas mon erreur
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
14 juin 2006 à 08:07
Tu pourrais nous coller le code qui vient avant?
Voire même, encore mieux, nous mettre tout le fichier à dispo (pas ici, s'il est trop long, mais tu copie colle tout le code dans un .txt et tu le met sur ton serveur) :)

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Rouliendelavegas Messages postés 58 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 7 janvier 2011
14 juin 2006 à 09:08
voici donc les deux fichiers:

licence.php
http://www.twistedproduction.net/tmp/licence.txt

licence_function.php (appeler par licence)
http://www.twistedproduction.net/tmp/licence_function.txt

Merci pour votre aide
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
14 juin 2006 à 09:14
   salut
on est d'accord que là
<form methode= "GET" action="licence.php"> --> method

et là je ne comprends pas la derniere "
echo '<option value='.$data['id_log'].'>'.$data['nom_log']  .'' ;    
echo '</option>'.'\n';  

echo '<option value ='.$data['id_log'].'>'.$data['nom_log'].'</option>'; 

idem pour le select suivant     
0
Rejoignez-nous