IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] [ERREUR] T_VARIABLE imcompris


Sujet :

Langage PHP

  1. #1
    Membre averti
    Avatar de CORBASE
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 431
    Points
    431
    Par défaut [Système] [ERREUR] T_VARIABLE imcompris
    J'ai une erreur imcomprise ! :
    Parse error: parse error, unexpected T_VARIABLE in /home/msn/www/test/art_action.php on line 18

    Voici le code qui génère cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <?
    include('connect.php');
     
    if (($action == 'add') || ($action == 'modif'))
    {
    	// Je récupère les variables
    	$nom = $_POST['artiste_nom'];
    	$logo = (isset($_POST['artiste_logo']) ? $_POST['artiste_logo'] : "");
    	$web = (isset($_POST['artiste_url']) ? $_POST['artiste_url'] : "");
    	$desc = $_POST['artiste_desc'];
     
    	// je met à jour les infos ou je les rajoute selon ce que l'on fait
    	connection();
     
    	// on écrit la requête sql 
    	if ($action == 'add')
    	{
    ****	$sql*=*"INSERT*INTO*auteurs VALUES ('', '$nom', '$logo', '$web', '$desc')"; // ERREUR ICI
    	}
    	else
    	{
    		$id = $POST['artiste_id'];
    		$sql = "UPDATE auteurs SET auteur_nom='$nom',
    				auteur_logo='$logo',
    				auteur_web='$web',
    				auteur_desc='$desc'
    				WHERE auteur_id=$id";
    	}
    **** 
    ****// on insère les informations du formulaire dans la table 
    ****mysql_query($sql)*or*die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
    ****// on affiche le résultat pour le visiteur 
    ****echo*'Vos infos on été ajoutées.'; 
     
    	deconnection();
    }
    else if ($action == 'sup')
    {
    }
    else
    {
    	echo 'Non, pas bien !';
    }
     
    ?>
    Et là, voici la page appelante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    <SCRIPT LANGUAGE="JavaScript">
    /* On crée une fonction de verification */
    function verifForm(formulaire)
    {
    	if (formulaire.artiste_nom.value == "") 
    		alert('Remplissez le nom de l\'artiste alors !!'); 
    	else if (formulaire.artiste_desc.value == "") 
    		alert('Remplissez la description de l\'artiste alors !!');
    	else
    	formulaire.submit(); /* sinon on envoi le formulaire */
    }
    </SCRIPT>
    <b><div style="text-align: center"><font size="+6">ARTISTE</font></div></b>
    <font size="+3"><b><div style="text-align: center">ADD</div></b></font>
     
    <br><br><br>
    <form action='art_action.php?action=add' method='post'>
    <table>
     
    <tr>
    <td>Nom de l'artiste :</td>
    <td><input type='text' value='' name='artiste_nom' size=30 class='formulaire'></td>
    </tr>
     
    <tr>
    <td>Logo de l'artiste :</td>
    <td>
    <input type='file' name='artiste_logo' size=30 class='formulaire'>
    </td>
    </tr>
     
    <tr>
    <td>Url du site :</td>
    <td><input type='text' value='' name='artiste_url' size=30 value='http://' class='formulaire'></td>
    </tr>
     
     
    <tr>
    <td>Description :</td>
    <td><textarea name='artiste_desc' cols=35 rows=8 class='formulaire'></textarea></td>
    </tr>
    </table>
    <input type="button" value="OK" onClick="verifForm(this.form)">
     
    </form>
    Merci de m'éclaircir ce point NOIR car je ne m'en sors pas !
    Rien n'est impossible, c'est juste une question de temps
    C'est quoi le PureBasic ?

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ca veut clairement dire que ta variable n'existe pas et je le crois
    Ta variable action est non définie, donc pour y remédier tu dois utiliser les variables superglobales (c'est comme ça que l'on appelle ce genre de variable).

    Donc, vu que tu ne sais pas où est l'erreur, et que l'on connait pas le nombre de ligne dans le fichier inclus je suppose (avec les info que j'ai) que ca vient de $action qui à mon avis est la variable passée dans l'url. Donc au final il faudrait remplacer tout tes $action par $_GET['action']

    Il faut pas se fier au nombre de ligne dans le fichier en cours mais le nombre de ligne contenu dans le fichier en cours plus celui des fichiers inclus. Donc testes ceci, et surtout regarder si le script pour add est exécuté.


    PS : il faudrait retirer toutes ces étoiles

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Variable non définie? Je pense que dans ce cas il aurait eu une notice lui indiquant cela... Là nous sommes dans le cas d'une parse error, il y a un endroit dans ce code où une variable est utilisée alors que le parser ne s'y attend pas (d'où le unexpected T_VARIABLE). Simplement une erreur d'écriture de code en fait...

    De plus, y'a une autre erreur qui traîne dans ce script, tant que je la vois c'est autant que je te la signale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $id = $POST['artiste_id']
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

Discussions similaires

  1. [Système]Erreur Wins 4204 sous Windows Serveur 2003
    Par Invité dans le forum Windows Serveur
    Réponses: 11
    Dernier message: 19/04/2007, 11h03
  2. [Système] Erreur de syntaxe
    Par BnA dans le forum Langage
    Réponses: 3
    Dernier message: 25/05/2006, 15h35
  3. [Système] Erreur d'exécution d'un petit script
    Par couscoussier dans le forum Langage
    Réponses: 3
    Dernier message: 04/04/2006, 10h04
  4. [Système] Erreurs de guillemets
    Par djinko dans le forum Langage
    Réponses: 24
    Dernier message: 17/03/2006, 10h21
  5. [Système] Erreur perso
    Par Anduriel dans le forum Langage
    Réponses: 15
    Dernier message: 15/01/2006, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo