Page 1 sur 2

unexpected T_VARIABLE

Posté : 02 mai 2009, 18:15
par MissUlie
Bonjour,

J'ai une erreur "Parse error: syntax error, unexpected T_VARIABLE in /xxx/produit.php on line 166" mais je ne comprends pas mon erreur.

Ligne 166 :
$MM_redirectLoginSuccess = "produit.php?id="$row_fiche_produit['id'];
Si quelqu'un voit ce qui cloche... merci de me le signaler. ;)

Posté : 02 mai 2009, 18:17
par Nours312
il manque un point avant le nom de ta variable :
$MM_redirectLoginSuccess = "produit.php?id=".$row_fiche_produit['id']; 

Posté : 02 mai 2009, 18:21
par MissUlie
Merci (je venait juste de réagir).
Et un autre merci pour ta rapidité !

Posté : 02 mai 2009, 18:25
par Nours312
Pour ce qui est de la rapidité, c'est un hasard ... je passais juste par là ;)

Posté : 02 mai 2009, 18:50
par MissUlie
En fait, mon problème n'est pas encore résolu.
Sur ma fiche produit je demande à l'utilisateur de s'identifier pour passer commande. Le problème c'est qu'apès identification je n'arrive pas à réouvrir la fiche produit que l'utilisateur était en train de consulter.
J'ai essayé :
$MM_redirectLoginSuccess = "produit.php?id=".$row_fiche_produit['id'];
et
$MM_redirectLoginSuccess = "produit.php?id=".$GET['id'];
Ce qui donne l'url suivante :
"http://www.xxx.com/boutique/produit.php?id="
sans le n° de l'id. J'ai essayé en rajoutant echo, mais il y a une erreur qui apparaît.

C'est certainement pas très compliqué mais mon niveau de débutante ne m'aide pas beaucoup !

Posté : 02 mai 2009, 19:01
par AB
Maintenant la syntaxe est bonne, si tu n'obtiens rien c'est sans doute que les variables que tu utilises sont vides ...

Posté : 02 mai 2009, 19:36
par djtec
Je dirais plus que sa variable GET n'est pas écrite de la bonne façon.

Posté : 02 mai 2009, 19:36
par MissUlie
Je dirais plus que sa variable GET n'est pas écrite de la bonne façon.
Pourrais-tu me dire comment l'écrire ?

Merci

Posté : 02 mai 2009, 19:41
par djtec
Lit ça et je pense que tu trouvera seul.

http://www.phpsources.org/tutoriel-get-post.htm

Posté : 02 mai 2009, 19:42
par orgerix
Utilise print_r() pour voir ce qu'il y a ddans tes tableaux. Cependant, si on ne sait pas comment $row_fiche_produit est déclaré et avec quel URL tu accède à ta page, on peut pas t'aider.

Posté : 02 mai 2009, 21:24
par AB
Je dirais plus que sa variable GET n'est pas écrite de la bonne façon.
Bien vu, je m'étais arrêté à la correction de la faute de concaténation mais il y en avait d'autres :)


@MissUlie En plus du lien que t'a donné djtec tu peux aussi aller voir le manuel php (la bible) http://fr.php.net/manual/fr/reserved.variables.php

En complément du message d'orgerix pour mieux voir ce que te retourne ces variables qu'on appelle des superglaobales tu peux faire ainsi :
echo '<pre>';
echo 'tableau $_GET = ';
print_r($_GET);
echo '</pre>';
même principe pour les variables $_POST etc.

Posté : 03 mai 2009, 12:02
par MissUlie
Désolée, je ne comprends pas. J'ai lu le "Tutoriel PHP - PHP - POST & GET" mais on parle que de formulaire. Dans mon cas, je pensais qu'il était possible de renvoyer l'internaute sur la page qu'il consulté quand il s'est identifié sans qu'il y ait de formulaire.

Voici l'url avant identification : http://www.xxx.com/boutique/produit.php?id=15
et celle après : http://www.xxx.com/boutique/produit.php?id=

Je suis perdue. :?

Posté : 03 mai 2009, 12:05
par albat
La superglobale "Get" s'écrit $_GET et non $GET. :non:

Posté : 03 mai 2009, 12:15
par MissUlie
Je viens d'essayer ça :

Code : Tout sélectionner

$MM_redirectLoginSuccess = "produit.php?id=".$_GET['id '];
mais j'obtiens toujours : http://www.xxx.com/boutique/produit.php?id=

Y a t-il quelque chose à déclarer avant de la ligne :

Code : Tout sélectionner

$MM_redirectLoginSuccess = "produit.php?id=".$_GET['id '];
?

Posté : 03 mai 2009, 12:25
par albat
Es-tu sûre que $_GET['id '] donne le même résultat que $_GET['id'] ?