par
Ryle » 08 déc. 2006, 16:56
Pour savoir où la placer, il faut te demander à quel moment tu en as besoin et donc vérifier les valeurs de tes variables tout au long du traitement
En supposant que les antislashes soient ajoutés lorsque tu soumets le formulaire (ce qui se configure dans php et qui est très pratique pour protéger apostrophes et caractères spéciaux lorsque l'on veut les insérer directement en base), il te suffit donc de les virer entre le moment où tu récupères les données du formulaire et celui où tu les stockes dans ton fichier. L'endroit exact dépend de toi, de ce qui te semble le plus logique, le plus lisible, le plus évident... entre la récupération de la variable et GET ou POST et son utilisation
Quant au comment, si tu regardes la doc de a fonction stripslashes(), tu vas voir qu'elle fonctionne simplement en prenant la chaine à traiter en paramètre et qu'elle retourne la chaine modifiée en résultat. Il te suffit donc de lui passer la valeur issue de ton textarea et de récupérer le résultat que tu utiliseras dans le reste du traitement...
Tout se passe donc au niveau du fichier admin9.3.php (qui entre nous pourrait avoir un nom plus explicite, pour la maintenance c'est quand même plus agréable

)
N'hésite pas si ça ne te parrais pas clair ou si tu as des questions
Par ailleurs quelques remarques et conseils en vrac :
- Tu devrais prendre l'habitude de sortir tes variables de tes chaines en php, c'est toujours mieux, et plus lisible :
<?php
print("<form action=\"admin9.3.php\"><br><textarea cols=\"82\" rows=\"15\" name=\"mod\">".$contenu2."</textarea><br><br>
<input type=\"hidden\" name=\"passwords\" value=\"".$passwords."\">
<input type=\"hidden\" name=\"nb\" value=\"".$nb."\">
<input type=\"submit\" value=\"modifier\"></form>");
?>
Personnellement j'en profite même pour délimiter mes chaines contenant du html par des apostrophes, ce qui évite d'avoir à protéger les guillemets, et facilite la lecture :
<?php
print('<form action="admin9.3.php"><br><textarea cols="82" rows="15" name="mod">'.$contenu2.'</textarea><br><br>
<input type="hidden" name="passwords" value="'.$passwords.'">
<input type="hidden" name="nb" value="'.$nb.'">
<input type="submit" value="modifier"></form>');
?>
- Pense à utiliser les variables superglobales quand tu récupères les données provenant d'une autre page $_GET['variable'] (ou $_POST) plutôt que $variable. En effet, selon la configuration du serveur, cela pourrait ne pas fonctionner et générer des alertes, alors qu'avec GET et POST tu es tranquile
- Il est inutile de mettre des guillemets autour d'une variable quand tu affiche celle-ci. Concerve les uniquement pour les chaines de caractère :
print("$passwords");
$conten ="$mod";
// revient au même que
print($passwords);
$conten = $mod;
- ...
Pour savoir où la placer, il faut te demander à quel moment tu en as besoin et donc vérifier les valeurs de tes variables tout au long du traitement :)
En supposant que les antislashes soient ajoutés lorsque tu soumets le formulaire (ce qui se configure dans php et qui est très pratique pour protéger apostrophes et caractères spéciaux lorsque l'on veut les insérer directement en base), il te suffit donc de les virer entre le moment où tu récupères les données du formulaire et celui où tu les stockes dans ton fichier. L'endroit exact dépend de toi, de ce qui te semble le plus logique, le plus lisible, le plus évident... entre la récupération de la variable et GET ou POST et son utilisation :)
Quant au comment, si tu regardes la doc de a fonction stripslashes(), tu vas voir qu'elle fonctionne simplement en prenant la chaine à traiter en paramètre et qu'elle retourne la chaine modifiée en résultat. Il te suffit donc de lui passer la valeur issue de ton textarea et de récupérer le résultat que tu utiliseras dans le reste du traitement...
Tout se passe donc au niveau du fichier admin9.3.php (qui entre nous pourrait avoir un nom plus explicite, pour la maintenance c'est quand même plus agréable ;))
N'hésite pas si ça ne te parrais pas clair ou si tu as des questions :)
Par ailleurs quelques remarques et conseils en vrac :
- Tu devrais prendre l'habitude de sortir tes variables de tes chaines en php, c'est toujours mieux, et plus lisible :
[php]<?php
print("<form action=\"admin9.3.php\"><br><textarea cols=\"82\" rows=\"15\" name=\"mod\">".$contenu2."</textarea><br><br>
<input type=\"hidden\" name=\"passwords\" value=\"".$passwords."\">
<input type=\"hidden\" name=\"nb\" value=\"".$nb."\">
<input type=\"submit\" value=\"modifier\"></form>");
?>[/php]
Personnellement j'en profite même pour délimiter mes chaines contenant du html par des apostrophes, ce qui évite d'avoir à protéger les guillemets, et facilite la lecture :
[php]<?php
print('<form action="admin9.3.php"><br><textarea cols="82" rows="15" name="mod">'.$contenu2.'</textarea><br><br>
<input type="hidden" name="passwords" value="'.$passwords.'">
<input type="hidden" name="nb" value="'.$nb.'">
<input type="submit" value="modifier"></form>');
?>[/php]
- Pense à utiliser les variables superglobales quand tu récupères les données provenant d'une autre page $_GET['variable'] (ou $_POST) plutôt que $variable. En effet, selon la configuration du serveur, cela pourrait ne pas fonctionner et générer des alertes, alors qu'avec GET et POST tu es tranquile :)
- Il est inutile de mettre des guillemets autour d'une variable quand tu affiche celle-ci. Concerve les uniquement pour les chaines de caractère :
[php]print("$passwords");
$conten ="$mod";
// revient au même que
print($passwords);
$conten = $mod;[/php]
- ...