Forum Clubic

Erreur de Syntaxe javascript

Bonjour;
J ai une erreur de syntaxe en javascript et je ne sais vraiment pas comment la resoudre, il y a t il quelqu’un qui aurait une idée?

<?php echo ""; } ?>

Merci pour votre aide.

C’est volontaire, le mélange de guillemets simples et doubles ?
et l’accolade fermante orpheline ?

Désolé j ai fais du copier coller…
Rectification:

<?php echo ''?ag='.$ag.'&ref='.$ref.'&du='.$du.'&au='.$au.'&depart='.$depart; ?>

Merci pour votre reponse.

C’est une erreur de php ou une erreur javascript que tu as ?
Dans le second cas, donne la ligne exacte qui pose problème (avec les valeurs à la place des variables php).
Et l’erreur se produit avec quel navigateur ?

Avec firefox, la console d’erreurs va te dire exactement où se situe ton problème
Edité le 30/10/2008 à 16:53

L’erreur est de javascript .
Je veux envoyer une iframe dans la page parent en envoyant avec des variable url.
Sans variable url ça marche:

Avec des variable cela pose un prbleme de syntaxe au niveau javascript…
Navigateur: Internet Explorer
Edité le 30/10/2008 à 17:12

Si c’est une erreur javascript, tu dois pouvoir visualiser la source de ton code dans IE
En laissant les variables, qu’est-ce que tu trouves dans la source pour ligne en question ?

tu n’aurais pas des caractères “spéciaux” dans $ag, $ref etc ?, du genre ’ ou & par exemple ?

Voici un exemple des varible transmise,
index3.php?ag=1&ref=664478-12-320&du=2008-10-31&au=2008-11-05&depart=Marina%20Smir

J ai testé sur Mozilla elle ne signale aucune erreur et pire elle ne charge pas la page dans parent, tandisque IE charge la page en parent mais les variables ne sont pas transmises.
Alors je pose la question il ya pas un autre moyen pour charger une page dans parent en lui trasmettant des variables url.Je pense que ça devrai exister.

[quote=""]

<?php echo 'parent.location.href=index3.php[b][/b]'?ag='.$ag.'&ref='.$ref.'&du='.$du.'&au='.$au.'&depart='.$depart; ?>"

Tout ce qui est derrière ne fait pas partie du javascript, donc je ne vois pas comment tu peux récupérer une ligne du type de l’exemple que tu fournis
Tu l’as prise où, dans la barre d’adresses ?

Ton erreur c’est ça :

<?php
echo '<script
language=javascript>parent.location.href=index3.php</script>'?ag='.$ag.'&ref='.$ref.'&du='.$du.'&au='.$au.'&depart='.$depart;
?>

–>

<script type="text/javascript">
parent.location.href = 'index3.php?ag=<?php echo addslashes(htmlspecialchars($ag)); ?>&amp,ref=<?php echo addslashes(htmlspecialchars($ref)); ?>&amp,du=<?php echo addslashes(htmlspecialchars($du)); ?>&amp,au=<?php echo addslashes(htmlspecialchars($au)); ?>&amp,depart=<?php echo addslashes(htmlspecialchars($depart)); ?>';
</script>

En gros :

  1. index3.php indique à javascript : cherche la variable index3, puis sa propriété php… pas du tout ce que tu veux donc
  2. il faut que tu utilises addslashes sur toutes variables PHP car elles peuvent contenir des apostrophes - ce qui signifie fin de chaine en Javascript. Quant à htmlspecialchars, et les & c’est juste pour que ta source soit valide au niveau HTML
  3. c’est script type, et pas script language.(cf. www.w3.org… )

Merci pour vos réponses, pour les addslashes et htmlentities c était déja fait le probleme ce n’est pas au niveau de php mais au niveau du javascript. Voici le morceau du code concerné:

<?php if (isset($_SESSION['user'])) { echo ''; } else { header("Location: inscription.php?ag=".$ag.'&ref='.$ref.'&du='.$du.'&au='.$au.'&depart='.$depart); } ?>

Le probleme vient juste aprés le echo . les guillemets je pense…

Merci encore pour vos efforts.

tu ne peux pas utiliser le guillemet simple pour délimiter ta chaine echo, puisque tu veux qu’il soit transmis au javascript
(language=‘text/javascript’)

Dans ce cas, reprends mon exemple et vire les appels des htmlspecialchars & stripslashes tout simplement.

Et quand tu as une erreur Javascript, oublie IE qui n’indique souvent rien, prend Firefox + Firebug ou Opera (quoique je ne sais pas comment il fonctionne niveau débug JS) tu verras de suite où est l’erreur JS…

J ai repris ton exemple et enlevé les htmlspecialchars & stripslashes mais c est attendu qu il y ait une erreur php:

<?php echo ''; ?>

Parse error: parse error, expecting ','' or‘;’’
Je suis obligee de passer par php et d’utiliser le echo.

Heu non, t’as pas repris mon exemple.

Car tu aurais vu que je sors le code javascript de php, afin d’éviter ce genre d’erreur.

Copie/colle le, plutôt que le répliquer :slight_smile:

Enfin ça marche, merci pour votre aide.
Il fallait sortir le javascript du php comme a dit “Sans-Nom”.
Donc le tout cela devient:

<?php if (isset($_SESSION['user])) { } ?> <?php } else { header("Location: inscription.php?ag=".$ag.'&ref='.$ref.'&du='.$du.'&au='.$au.'&depart='.$depart); } ?><?php ; ?>

J ai du afficher le & avec le php (sinon ça donne &, dans l’url).
Sinon ça marche nikel merciiiiiiiiiiiiiii.

J’ai pas pigé pourquoi tu t’entêtes :

<script type="text/javascript">
parent.location.href = 'index3.php?ag=<?php echo addslashes(htmlspecialchars($ag)); ?>&ref=<?php echo addslashes(htmlspecialchars($ref)); ?>&du=<?php echo addslashes(htmlspecialchars($du)); ?>&au=<?php echo addslashes(htmlspecialchars($au)); ?>&depart=<?php echo addslashes(htmlspecialchars($depart)); ?>';
</script>

Cela sert à rien de sortir javascript de php si c’est pour laisser les constantes gérées par PHP (donc <?php echo 'toto'; ?> c’est débile, autant écrire “toto” directement).

J’ai cru que c était fini…
le Code:

donne des erreurs au niveau url du type:
index3.php?ag=1&,ref=54489-B-12&,du=2008-11-01&,au=2008-11-28&,depart=Marina%20Smir
alors quand je gere avec php ça donne :
index3.php?ag=1&ref=54489-B-12&du=2008-11-01&au=2008-11-28&depart=Marina%20Smir

D’ou vient la virgule apres le & aucune idée.(Je l ai testé une dizaine de fois!)
Mais si je le gere en php ça marche.(Et oui C’est débile)
Edité le 31/10/2008 à 22:17

Honnêtement, pour le &, je ne vois pas.

Ceci dit, tu as une balise code (sélectionne ton code, puis clique sur le bouton [<?]) qui nous permettrait d’y voir un peu plus clair. Sinon tu as pastebin.com…

Le code que je t’ai filé devrait afficher l’url correctement. Ton problème doit se trouver ailleurs.

Merci pour ton aide ça m’a permis de gagner beaucoup de temps pour mon application.
Si tu as envie de jetter un coup d’oeil sur mon travail (Je pense que c est bien fait meme si ce n est pas encore fini) tu me fais signe.