Problème avec les " apostrophes "

Eléphant du PHP | 257 Messages

12 déc. 2005, 10:51

Voilà j'ai un formulaire en update, mais lorsqu'il y a une phrase avec un apostrophe ca ne marche pas.
<?
session_start();
session_register(sess_id);

include_once("../../config/conf.inc.php");

//On créé la liste agences
$agence_taille = count($agences);
for ($i=0; $i<$agence_taille; $i++){
	$agences_definies .= $agences[$i];
	$agences_definies .= ":";
}

//sécurisation du système --> On empeche l'insertion de tags html
$mail=strip_tags($mail);
$is_inscrit=strip_tags($is_inscrit);
$actualite=strip_tags($actualite);
$tel_perso=strip_tags($tel_perso);
$tel_pro=strip_tags($tel_pro);
$site=strip_tags($site);
$adresse=strip_tags($adresse);
$cp=strip_tags($cp);
$ville=strip_tags($ville);
$agent=strip_tags($agent);
$autre_agence = strip_tags($autre_agence);
$agence_pub=strip_tags($agences_definies);
$adj1=strip_tags($adj1);
$adj2=strip_tags($adj2);
$adj3=strip_tags($adj3);
$adj4=strip_tags($adj4);
$mobilite=strip_tags($mobilite);



//construction de la query SQL
$sql = "UPDATE membres SET actualite='$actualite', last_modif=now() WHERE id='$sess_id' ";

//echo $sql;
$base = new class_db($sql);


//redirection sur la loge
echo 	"<script language='JavaScript'>
        	document.location.replace('./../tableau.php');
       	</script>";


?>
Voici par exemple le message d'erreur que je reçois après avoir rempli mon formulaire update:
Erreur Base de donnée : Invalid SQL: UPDATE membres SET actualite='Bonjour, je profite de ce mois pour vous faire part de mon actualité récente et en cours. Court métrage: Je vais bientôt tourner dans La Bombe Humaine de Jordane Oudin. J'y interprète un psychiatre interné dans un asile ', last_modif=now() WHERE id='176' (1064 You have an error in your SQL syntax near 'y interprète un psychiatre interné dans un asile ', last_modif=now() WHER' at line 1)
.

Quelqu'un aurait-il la bonté de m'expliquer ?
Merci

:cry:

Eléphant du PHP | 153 Messages

12 déc. 2005, 10:57

tu dois utiliser la fonction
addslashes($actualite);
qui a pour effet de rajouter des \ devant les caractères spéciaux

et pour les afficher ensuite tu utilises
stripslashes($x) qui enlevera les \

Eléphant du PHP | 257 Messages

12 déc. 2005, 11:00

merci pitt mais peux tu me donner un exemple avec mon script stp ?

:oops:

Eléphant du PHP | 257 Messages

12 déc. 2005, 11:02

comme cela ? $actualite=addslashes($actualite); ????

:oops:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 déc. 2005, 23:05

oui comme cela, mais le meilleur moyen de verifier reste tout de meme la lecture de la doc :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 257 Messages

13 déc. 2005, 21:18

Merci pitt et truc ... ça marche !

ElePHPant