Javascript dans html
Fermé
rim2004m
-
28 mars 2014 à 11:06
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 28 mars 2014 à 15:32
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 28 mars 2014 à 15:32
A voir également:
- Javascript dans html
- Telecharger javascript - Télécharger - Langages
- Editeur html - Télécharger - HTML
- Espace html ✓ - Forum HTML
- Espace en html - Astuces et Solutions
- [**] Balise pour un espace vide en hml. Merci ✓ - Forum Webmastering
2 réponses
Bonjour,
Houla vous mélangez bien des choses qui n'ont rien à voir!
Si vous avez un formulaire celui ci sert à envoyer des informations.
Qui dit envoi dit réception ou traitement de celles ci, c'est là qu'intervient javascript ou PHP.
On peut le voir grâce aux attributs de votre balise FORM:
<form action="{{ path('sifastform_progression')}}" method="post" name="form1" >
L'attribut de balise action indique quelle page va recevoir les informations.
L'attribut method permet d'indiquer dans quelles variables de PHP celles ci sont envoyées(ici en POST donc prévu pour une autre page, la méthode GET est utilisé pour le traitement dans la même page -donc le PHP doit être dans la page du formulaire et ça pose un problème de sécurité: il ets facile en GET d'écrire des valeurs dans l'URL de la page et d'accéder à la base de données ; la méthode GET est donc moins recommandée).
Dans la création de site Internet on considère avant tout l'utilisateur. Ainsi si vous avez un formulaire une fois celui ci envoyé il faut avertir l'utilisateur et changer de page puisqu'une fois celui ci envoyé il ne va pas en renvoyer un autre. Or vous voulez faire l'inverse ce qui pose des problèmes de cohérences: Comment l'utilisateur ayant envoyé son formulaire va voir que celui ci est bien envoyé? Il y a des chances qu'il appuie une seconde fois (ou plus) sur le bouton d'envoi ce qui fera des doublons dans le traitement des informations envoyées. Même si l'utilisateur pense que le formulaire est bien envoyé il devra cliquer pour changer de page, l'ergonomie s'en trouve alourdie pour lui, tandis que le rediriger vers la page d'accueil ou une simple page indiquant que le formulaire est bien parti va plus l'inciter à continuer de naviguer sur le site.
Selon l'écriture de votre formulaire les données transmis par celui ci le sont dans la page indiqué par action de la balise form.
C'est donc un traitement en PHP et non en javascript, le javascript à ici d'autres utilités comme indiquer l'avancement du remplissage du formulaire.
En javascript il est pas possible de transférer des informations d'une page à l'autre directement, les variables(mise en mémoire d'information par l'ordinateur) sont internes à chaque page(sauf dans le cas des cookies mais c'est un autre sujet), il faut donc que vous vous tourniez vers le script PHP concernés et que vous le modifiez pour le mettre en GET si vous voulez l'utiliser sur la même page.
Compte tenu des explications que j'ai fournies il est peu probable que vous ayez intérêt à changer en GET, quell est le but?
Éventuellement vous pouvez utiliser la fonction PHP header(); pour rediriger vers une autre page(celle de votre choix donc le formulaire si vous y tenez)en indiquant celle ci (la fonction header de php) à la suite de votre traitement et avant tout affichage.
Je vous conseille de vous tourner vers :
des cours de PHP et javascript destiné à votre niveau et de consulter le manuel PHP(disponible en ligne) qui vous décrira comment utiliser la fonction header.
Houla vous mélangez bien des choses qui n'ont rien à voir!
Si vous avez un formulaire celui ci sert à envoyer des informations.
Qui dit envoi dit réception ou traitement de celles ci, c'est là qu'intervient javascript ou PHP.
On peut le voir grâce aux attributs de votre balise FORM:
<form action="{{ path('sifastform_progression')}}" method="post" name="form1" >
L'attribut de balise action indique quelle page va recevoir les informations.
L'attribut method permet d'indiquer dans quelles variables de PHP celles ci sont envoyées(ici en POST donc prévu pour une autre page, la méthode GET est utilisé pour le traitement dans la même page -donc le PHP doit être dans la page du formulaire et ça pose un problème de sécurité: il ets facile en GET d'écrire des valeurs dans l'URL de la page et d'accéder à la base de données ; la méthode GET est donc moins recommandée).
Dans la création de site Internet on considère avant tout l'utilisateur. Ainsi si vous avez un formulaire une fois celui ci envoyé il faut avertir l'utilisateur et changer de page puisqu'une fois celui ci envoyé il ne va pas en renvoyer un autre. Or vous voulez faire l'inverse ce qui pose des problèmes de cohérences: Comment l'utilisateur ayant envoyé son formulaire va voir que celui ci est bien envoyé? Il y a des chances qu'il appuie une seconde fois (ou plus) sur le bouton d'envoi ce qui fera des doublons dans le traitement des informations envoyées. Même si l'utilisateur pense que le formulaire est bien envoyé il devra cliquer pour changer de page, l'ergonomie s'en trouve alourdie pour lui, tandis que le rediriger vers la page d'accueil ou une simple page indiquant que le formulaire est bien parti va plus l'inciter à continuer de naviguer sur le site.
Selon l'écriture de votre formulaire les données transmis par celui ci le sont dans la page indiqué par action de la balise form.
C'est donc un traitement en PHP et non en javascript, le javascript à ici d'autres utilités comme indiquer l'avancement du remplissage du formulaire.
En javascript il est pas possible de transférer des informations d'une page à l'autre directement, les variables(mise en mémoire d'information par l'ordinateur) sont internes à chaque page(sauf dans le cas des cookies mais c'est un autre sujet), il faut donc que vous vous tourniez vers le script PHP concernés et que vous le modifiez pour le mettre en GET si vous voulez l'utiliser sur la même page.
Compte tenu des explications que j'ai fournies il est peu probable que vous ayez intérêt à changer en GET, quell est le but?
Éventuellement vous pouvez utiliser la fonction PHP header(); pour rediriger vers une autre page(celle de votre choix donc le formulaire si vous y tenez)en indiquant celle ci (la fonction header de php) à la suite de votre traitement et avant tout affichage.
Je vous conseille de vous tourner vers :
des cours de PHP et javascript destiné à votre niveau et de consulter le manuel PHP(disponible en ligne) qui vous décrira comment utiliser la fonction header.
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
526
28 mars 2014 à 15:32
28 mars 2014 à 15:32
Salut,
Si tu veux mettre à jour ta page sans recharger celle-ci, tu vas devoir te tourner vers le concept Ajax : https://developer.mozilla.org/fr/docs/Web/Guide/AJAX/Premiers_pas
Bonne journée
Si tu veux mettre à jour ta page sans recharger celle-ci, tu vas devoir te tourner vers le concept Ajax : https://developer.mozilla.org/fr/docs/Web/Guide/AJAX/Premiers_pas
Bonne journée
28 mars 2014 à 15:30
Enfin il est également très facile de modifier les valeurs des paramètres POST. Celle-ci n'est donc absolument pas plus sécurisé que la méthode GET.