session et validation w3c

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : session et validation w3c

par lolohe » 29 juil. 2006, 19:08

Aprés essai :

Code : Tout sélectionner

<?php str_replace("&", "&", $text); ?>
ça marche bien avec du texte mais pas dans mon cas, (je commence à douter que la validation est possible) voici le message d'erreur:

Warning Line 28 column 38: cannot generate system identifier for general entity "PHPSESSID".
<li><a href="catalogue.php?page=liens&PHPSESSID=4e4fb3d......
:evil:

par Truc » 29 juil. 2006, 13:02

preg_replace() utilise des expression régulières qui utilisent des délimiteurs pour cette expression, par exemple:
 $str = preg_replace('#&#','&',$str);
Mais str_replace() serait plus adapté ici (sans ces délimiteurs).
Comme conseillé par Cyrano au début :wink:

par lolohe » 29 juil. 2006, 12:10

je viens de faire la modif:
<?php
function replace_et($str) {
  $str = htmlentities($str);
  $str = preg_replace('&','&',$str);
  return html_entity_decode($str);
}
replace_et($str);
?>

erreur: Warning: No ending delimiter '&' found in catalogue.php on line 5

:?:

par Cyrano » 29 juil. 2006, 10:24

Dans ta fonction, tu ne definis aucune chaine a traiter...
Donc ca ne peut fonctionner...
Si je peux me permettre : il définit bien une chaine dans la fonction, c'est dans l'appel à la fonction qu'il manque le paramètre.

par momox » 29 juil. 2006, 10:21

Dans ta fonction, tu ne definis aucune chaine a traiter...
Donc ca ne peut fonctionner...

par lolohe » 29 juil. 2006, 09:51

merci pour l'aide, j'ai essayé ça :

Code : Tout sélectionner

<? session_start(); ?> <?php function replace_et($str) { $str = htmlentities($str); $str = preg_replace('&','&',$str); return html_entity_decode($str); } replace_et(); ?>
mais je comprend pas tout :oops: ça donne des erreurs quelqu'un pour m'aider ? merci.

par Cyrano » 28 juil. 2006, 07:43

Ça veut dire que la fonction ini_set() est désactivée et tu ne peux pas modifier les paramètres de configuration. En mutualisé, il n'y a pas de solution si on considère que tu n'as pas accès au php.ini. Donc il faut trouver une manière de contourner le problème en revoyant éventuellement la manière de programmer certains éléments et dans ce cas précis avec str_replace() par exemple.

session et validation w3c

par lolohe » 28 juil. 2006, 06:37

Bonjour à tous, quelqu'un peut il me mettre sur la voix sur mon problème voilà dans ma page en php j'ai voulu mettre ajouter le code suivant avant l'instruction session start (en vu d'une validation w3c):

Code : Tout sélectionner

<?php //placé avant session_start(); ini_set('arg_separator.output', '&'); ?>
ce qui donne à l'affichage:
Warning: ini_set() has been disabled for security reasons in catalogue.php on line 2
une idée? :shock:
ps:mon hébergeur est online.

merci.