Probleme de sintaxe code php
Résolu/Fermé
brutalus
Messages postés
16
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
10 septembre 2010
-
9 sept. 2010 à 14:46
brutalus Messages postés 16 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 10 septembre 2010 - 10 sept. 2010 à 18:21
brutalus Messages postés 16 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 10 septembre 2010 - 10 sept. 2010 à 18:21
A voir également:
- Probleme de sintaxe code php
- Code ascii de a - Guide
- Code puk bloqué - Guide
- Code de déverrouillage oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
7 réponses
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
705
9 sept. 2010 à 15:31
9 sept. 2010 à 15:31
Bonjour,
essaye de mettre des acolade a ton if:
sinon quel est le message d'erreur?
essaye de mettre des acolade a ton if:
<?php <script language="Javascript"> if( ($_POST['date_livraison']) > (date('Y/m/d', strtotime('+7 day'))) ) { return true; } else { alert('La date de livraison doit être dune semaine au plus tôt.'); return false; } </script> ?>
sinon quel est le message d'erreur?
brutalus
Messages postés
16
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
10 septembre 2010
9 sept. 2010 à 18:24
9 sept. 2010 à 18:24
Merci du coup de main, alors j'ai essayer avec les accolades et le message d'erreur persiste, voici le message d'erreur :
Parse error: syntax error, unexpected '<' in C:\Program Files\EasyPHP-5.3.2i\www\cible.php on line 29
Et la ligne 29 correspond a la ligne <script language="Javascript">
Parse error: syntax error, unexpected '<' in C:\Program Files\EasyPHP-5.3.2i\www\cible.php on line 29
Et la ligne 29 correspond a la ligne <script language="Javascript">
Stouffi
Messages postés
62
Date d'inscription
mercredi 8 septembre 2010
Statut
Membre
Dernière intervention
8 janvier 2011
40
9 sept. 2010 à 19:54
9 sept. 2010 à 19:54
Salut,
Tu ne te rends pas compte de ce que tu as fais ^^ ?
Tu as écris du code JavaScript à l'intérieur de <?php ?> !!!
Le PHP est un langage, le JavaScript en est un autre. Là tu es en train d'essayer de faire exécuter du code JavaScript par le serveur, le hic c'est qu'il ne sait pas le lire ^^. tu dois écrire ton code JavaScript à l'extérieur de <?php ?> ou alors l'écrire dans le flux de sortie avec l'instruction echo par exemple :
c'est clair ?
Bye
Tu ne te rends pas compte de ce que tu as fais ^^ ?
Tu as écris du code JavaScript à l'intérieur de <?php ?> !!!
Le PHP est un langage, le JavaScript en est un autre. Là tu es en train d'essayer de faire exécuter du code JavaScript par le serveur, le hic c'est qu'il ne sait pas le lire ^^. tu dois écrire ton code JavaScript à l'extérieur de <?php ?> ou alors l'écrire dans le flux de sortie avec l'instruction echo par exemple :
<?php echo 'code html (oui car <script ...> c'est du html en revanche ce qui est dedans c'est bien du JavaScript)'; ?>
c'est clair ?
Bye
bobox87
Messages postés
32
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
25 juillet 2011
1
9 sept. 2010 à 20:33
9 sept. 2010 à 20:33
Salut essaye ça
<?php if( ($_POST['date_livraison']) > (date('Y/m/d', strtotime('+7 day'))) ) return true; else { echo 'alert(\'La date de livraison doit être dune semaine au plus tôt.\')'; return false; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
brutalus
Messages postés
16
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
10 septembre 2010
9 sept. 2010 à 21:02
9 sept. 2010 à 21:02
@Stouffi : Merci du coup de main, j'ai essayer ta solution maintenant sa me met une erreur au niveau des simples quotes :s
@bobox87 : On m'a dis qu'alert fesait parti du langage JS et donc qu'il fallait que je mette les balises comme je les ai mises, j'ai aussi essayer ta proposition mais sa ne marche toujours pas :s
@bobox87 : On m'a dis qu'alert fesait parti du langage JS et donc qu'il fallait que je mette les balises comme je les ai mises, j'ai aussi essayer ta proposition mais sa ne marche toujours pas :s
Stouffi
Messages postés
62
Date d'inscription
mercredi 8 septembre 2010
Statut
Membre
Dernière intervention
8 janvier 2011
40
9 sept. 2010 à 22:27
9 sept. 2010 à 22:27
@brutalus : Tu n'as pas bien exploité ma solution, voici le code équivalent au tien qui devrait fonctionner (en tout cas être exécuté côté php)
là c'est bien écris (en considérant que seule la ligne alert... est en javascript).
Je le répète : Attention à bien séparer le langage serveur (PHP) interprété par la machine serveur, et les langages clients (HTML et JavaScript dans notre cas) interprété par la machine cliente (celle du visiteur et plus précisément par le navigateur internet). dans le code ci-dessus, on voit bien que le code HTML (+ JavaScript) est écrit hors des tags <?php ?> à l'intérieur de ces tags, ils ne doit y avoir que du PHP. l'alternative c'est d'écrire :
On n'oublie pas d'échapper les simple quotes du JavaScript sinon forcément ça met fin à la chaîne et PHP fait la tronche !
Dernière remarque : l'attribut de la balise script c'est type="text/javascript", l'attribut language que tu utilises est obsolète.
<?php if( ($_POST['date_livraison']) > (date('Y/m/d', strtotime('+7 day'))) ) { return true; } else { ?> <script type="text/javascript"> alert('La date de livraison doit être dune semaine au plus tôt.'); </script> <?php return false; } ?>
là c'est bien écris (en considérant que seule la ligne alert... est en javascript).
Je le répète : Attention à bien séparer le langage serveur (PHP) interprété par la machine serveur, et les langages clients (HTML et JavaScript dans notre cas) interprété par la machine cliente (celle du visiteur et plus précisément par le navigateur internet). dans le code ci-dessus, on voit bien que le code HTML (+ JavaScript) est écrit hors des tags <?php ?> à l'intérieur de ces tags, ils ne doit y avoir que du PHP. l'alternative c'est d'écrire :
<?php if( ($_POST['date_livraison']) > (date('Y/m/d', strtotime('+7 day'))) ) { return true; } else { echo '<script type="text/javascript">alert(\'La date de livraison doit être dune semaine au plus tôt.\');</script>'; return false; } ?>
On n'oublie pas d'échapper les simple quotes du JavaScript sinon forcément ça met fin à la chaîne et PHP fait la tronche !
Dernière remarque : l'attribut de la balise script c'est type="text/javascript", l'attribut language que tu utilises est obsolète.
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
705
10 sept. 2010 à 09:15
10 sept. 2010 à 09:15
Pour ton probleme de simple quote et double quote, si tu met en debut de chaine et fin de chaine simple ou double quote, tu devra mettre à l'intérieur l'inverse.
bobox87
Messages postés
32
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
25 juillet 2011
1
Modifié par bobox87 le 9/09/2010 à 22:12
Modifié par bobox87 le 9/09/2010 à 22:12
J'avais déjà fais un truc dans le genre mais c'était peut être bien avec le onclick en fait. Bon sinon remplace la ligne avec le alert par ça:
?><script>javascript:alert('La date de livraison doit être dune semaine au plus tôt.')</script><?php
Tu coupes le script php en 2 mais bon je pense pas que ça soit trop grave, et le <script language="Javascript"> n'est pas nécessaire.
?><script>javascript:alert('La date de livraison doit être dune semaine au plus tôt.')</script><?php
Tu coupes le script php en 2 mais bon je pense pas que ça soit trop grave, et le <script language="Javascript"> n'est pas nécessaire.
brutalus
Messages postés
16
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
10 septembre 2010
10 sept. 2010 à 18:21
10 sept. 2010 à 18:21
Parfait Stouffi, en gros si je veux utiliser du JS il faut absolument que je le sépare du php merci bien.
Merci varfendell et bobox87 aussi pour votre coup de main, maintenant j'ai d'autres erreur mais je vais essayer de corriger sa tout seul merci a tous.
Merci varfendell et bobox87 aussi pour votre coup de main, maintenant j'ai d'autres erreur mais je vais essayer de corriger sa tout seul merci a tous.