Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

=?iso-8859-1?B?culkdWN0aW9uIGRlcyBjb/t0cw==?

3 réponses
Avatar
EBille
Bonjour,
Qu'est-ce qui est le plus couteux ? Affecter à une variable, le champ
d'un fomulaire, puis la manipuler un peu partout :
$cmini=$_POST['cmini'];
if (isset($cmini)) {
$tcwhere = $tcwhere." AND CMINI='$cmini'";
$tchidden.="<input type='hidden' name='cmini' value='$cmini'>";
$tatemp["Code ministère = "] = $cmini;
}
ou manipuler $_POST[ etc... pour éviter de créer une variable :
if (isset($_POST['cmini'])) {
$tcwhere = $tcwhere." AND CMINI='$_POST['cmini']'";
$tchidden.="<input type='hidden' name='cmini'
value='$_POST['cmini']'>";
$tatemp["Code ministère = "] = $_POST['cmini'];
}
Sachant que le formulaire peut contenir une 15aine de champs... voire
plus.
Merci d'avance
et Cdlt,
EB

3 réponses

Avatar
Olivier Miakinen

Qu'est-ce qui est le plus couteux ? Affecter à une variable, le champ
d'un fomulaire, puis la manipuler un peu partout :
ou manipuler $_POST[ etc... pour éviter de créer une variable :


Cela n'a strictement aucune espèce d'importance, d'autant que si j'en
crois le « " AND CMINI=" » tu vas faire des appels à une base de
données. Si tu veux gagner du temps, tâche d'optimiser ces appels
plutôt que de chercher des pouillèmes de milliseconde dans la gestion
des strings.

En revanche, tu as deux erreurs ici :

$cmini=$_POST['cmini'];
if (isset($cmini)) {
$tcwhere = $tcwhere." AND CMINI='$cmini'";


La première, c'est que tu ne dois pas faire isset() sur $cmini (qui sera
toujours positionné) mais sur $_POST['cmini']. La seconde, c'est de ne
pas contrôler le contenu de $cmini (ou de $_POST['cmini']) avant de
l'injecter dans ta requête SQL.

Cordialement,
--
Olivier Miakinen

Avatar
Christophe Meresse

Bonjour,
Qu'est-ce qui est le plus couteux ? Affecter à une variable, le champ
d'un fomulaire, puis la manipuler un peu partout :
[...]

ou manipuler $_POST[ etc... pour éviter de créer une variable :
[...]

Sachant que le formulaire peut contenir une 15aine de champs... voire
plus.


Tu as tout intérêt à affecter une variable car il faut que tu en
profites pour vérifier que l'utilisateur n'a pas posté nimporte quoi
(string à la place d'un entier, injections... etc...).

D'autre part ca rendra le code plus lisible (c'est juste un avis
personnel) et au niveau CPU je pense que ca ne peut-être que mieux
d'affecter un variable plutôt que d'acceder au tableau surtout si tu
l'utilise dans des boucles (à discuter...)

A+
Christophe

Avatar
EBille
Ok, merci !!!
EB