par
Greg » 11 févr. 2005, 16:16
On parlait d'économie de bande passante, mais on peut aussi faire de l'économie de traitement PHP et SQL à l'aide de JavaScript, sans compromettre l'intégrité des données transmises.
Je vois que je vous intrigue, donc avant de me faire incendier, je vais vous expliquer.
Pour info, j'en avais parlé à Perrick (
http://www.onpk.net), qui m'a dit qu'il utilisait déjà cette technique.
Imaginez un petit formulaire HTML:
Code : Tout sélectionner
<form name="formulaire" action="page.php" method="post">
<input type="hidden" name="javascript_valide" value="0" />
<input type="text" name="champ" value="<?php echo $valeur; ?>" onchange="formulaire.champ_modifie.value=1"/>
<input type="hidden" name="champ_modifie" value="0" />
</form>
(Je précise que je suis une quiche en JavaScript, apportez vos modifications si besoin)
Lors du chargement de la page, on va positionner un évènement onload() sur la balise <body> qui va mettre "javascript_valide" à 1 si le JavaScript est activé. Si ce n'est pas le cas, ça laissera la valeur à 0.
De la même manière, l'évènement onchange() sur le champ texte détectera si le champ à été modifié.
Dans la page page.php, il suffira de d'abord regarder ce que vaut $_POST[javascript_valide']. S'il est à un, on peut tenir compte de $_POST['champ_modifie'] pour faire ou nom une requete pour mettre à jour un champ d'une table.
Si $_POST['javascript_valide'] est égal à 0, on fait la requete quoi qu'il arrive.
De la même manière, avec plusieurs champ, on peut essayer de faire une requete composée pour ne mettre à jour que les champs qui auront changé.
Donc, je suis pour JavaScript (même si je suis une brèle), à condition que les traitements coté serveur soient fait ensuite, et que ça ne m'entrave pas ma navigation sur un site.
On parlait d'économie de bande passante, mais on peut aussi faire de l'économie de traitement PHP et SQL à l'aide de JavaScript, sans compromettre l'intégrité des données transmises.
Je vois que je vous intrigue, donc avant de me faire incendier, je vais vous expliquer.
Pour info, j'en avais parlé à Perrick (http://www.onpk.net), qui m'a dit qu'il utilisait déjà cette technique.
Imaginez un petit formulaire HTML:
[code]
<form name="formulaire" action="page.php" method="post">
<input type="hidden" name="javascript_valide" value="0" />
<input type="text" name="champ" value="<?php echo $valeur; ?>" onchange="formulaire.champ_modifie.value=1"/>
<input type="hidden" name="champ_modifie" value="0" />
</form>
[/code]
(Je précise que je suis une quiche en JavaScript, apportez vos modifications si besoin)
Lors du chargement de la page, on va positionner un évènement onload() sur la balise <body> qui va mettre "javascript_valide" à 1 si le JavaScript est activé. Si ce n'est pas le cas, ça laissera la valeur à 0.
De la même manière, l'évènement onchange() sur le champ texte détectera si le champ à été modifié.
Dans la page page.php, il suffira de d'abord regarder ce que vaut $_POST[javascript_valide']. S'il est à un, on peut tenir compte de $_POST['champ_modifie'] pour faire ou nom une requete pour mettre à jour un champ d'une table.
Si $_POST['javascript_valide'] est égal à 0, on fait la requete quoi qu'il arrive.
De la même manière, avec plusieurs champ, on peut essayer de faire une requete composée pour ne mettre à jour que les champs qui auront changé.
Donc, je suis pour JavaScript (même si je suis une brèle), à condition que les traitements coté serveur soient fait ensuite, et que ça ne m'entrave pas ma navigation sur un site.