Page 1 sur 1

Problème avec fonction addslashes()

Posté : 22 mai 2006, 22:11
par Kelem
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.

Posté : 22 mai 2006, 22:20
par Truc
Salut,

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

Posté : 22 mai 2006, 22:21
par Kelem
Salut,

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

Posté : 22 mai 2006, 22:23
par Truc
Montre un bout de code de test.

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

Posté : 22 mai 2006, 22:35
par Kelem
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());

?>

Posté : 22 mai 2006, 23:02
par Ultim4T0m
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"]);} 
?> 

Posté : 23 mai 2006, 07:15
par Kelem
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à. :)

Posté : 23 mai 2006, 12:09
par Invité
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 ?

Posté : 23 mai 2006, 18:36
par Truc
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.

Posté : 23 mai 2006, 19:55
par Kelem
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