Problème avec fonction addslashes()

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 : Problème avec fonction addslashes()

par Kelem » 23 mai 2006, 19:55

Ca fait quelques mois que j'ai pas de fait, je comprends plus rien. Normalement quand on insère une chaîne de caractères, on utilise addslashes() pour l'enregistrement dans la base (les slashes sont normalement insérés dans la base) et stripslashes() pour l'affichage et enlever les slashes ?

Je commence à être perdu là. :( Mon hébergement Free nécessitait auparavant ces deux fonctions et là ça fonctionne sans. Mon cerveau s'embrouille :)

En local, je dois utiliser addslashes() maintenant, normalement ça enregistre les / dans la base non ? Par contre pour afficher pas besoin de stripslashes

par Truc » 23 mai 2006, 18:36

C'est normal de pas retrouver les anti-slashes dans la base puisqu'ils servent surtout lors de l'enregistrement des données. Lors de la lecture tu n'auras pas de problème avec les apostrophes.

par Invité » 23 mai 2006, 12:09

Quelle solution serait à ma disposition ? J'ai essayé de réinstaller EasyPhp mais pas plus de résultats. Y a t'il une solution ? Installer un autre environnement ?

par Kelem » 23 mai 2006, 07:15

Merci bien, j'arrive à enregistrer la requête et d'ailleurs c'est bien plus logique de mettre les addslashes de la sorte.

Cependant toujours un problème avec Magic quotes quand j'affiche ma requête, je vois les slashs dans celle-ci, mais une fois celle-ci executée, ils n'y sont plus dans la base.

J'ai pourtant désactivé les 3 magic quotes dans le .ini.

Je ne vois pas bien là. :)

par Ultim4T0m » 22 mai 2006, 23:02

Et en faisant comme ça ?
<? 

//Récupération des variables du formulaire d'inscription 
if (isset($_POST["date"])) {$date = addslashes($_POST["date"]);} 
if (isset($_POST["event"])) {$event = addslashes($_POST["event"]);} 
if (isset($_POST["lieu"])) {$lieu = addslashes($_POST["lieu"]);} 
if (isset($_POST["modalites"])) {$modalites = addslashes($_POST["modalites"]);} 
?> 

par Kelem » 22 mai 2006, 22:35

Voilà un morceau de code :
<?

//Récupération des variables du formulaire d'inscription
if (isset($_POST["date"])) {addslashes($date = $_POST["date"]);}
if (isset($_POST["event"])) {addslashes($event = $_POST["event"]);}
if (isset($_POST["lieu"])) {addslashes($lieu = $_POST["lieu"]);}
if (isset($_POST["modalites"])) {addslashes($modalites = $_POST["modalites"]);}

//Connexion à la base de données
include ("include/connexion.php") ;

//Création de la requête pour ajouter un évènement
$sql_ajout_evenement = "INSERT evenement (date_event, nom_event, lieu_event, modalites_event) VALUES ('$date','$event','$lieu','$modalites');";
		
//Exécution de la requête pour ajouter un évènement
$req_ajout_evenement = mysql_query($sql_ajout_evenement) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

?>

par Truc » 22 mai 2006, 22:23

Montre un bout de code de test.

J'ai pas souvenir dune manipulation spéciale sous Easy pour addslashes.

par Kelem » 22 mai 2006, 22:21

Salut,

Que signifie "ne fonctionne pas" ? un message d'erreur ou effet nul ?
Effet nul, ça ne rajoute pas les slashs.

par Truc » 22 mai 2006, 22:20

Salut,

Que signifie "ne fonctionne pas" ? un message d'erreur ou effet nul ?

Problème avec fonction addslashes()

par Kelem » 22 mai 2006, 22:11

Salut à tous,

J'ai un problème avec ma fonction addslashes qui ne fonctionne pas en local. J'ai pourtant désactivé les magic quotes dans le fichier php.ini mais rien à faire.

A titre d'information, je dispose d'EasyPhp 1.8 avec PHP 4.3.

Quelqu'un peut me donner un coup de main ?

Merci d'avance.