Base pour les entrées & sorties

Eléphant du PHP | 299 Messages

11 juin 2005, 17:46

Bonjours

Je suis en train de refaire mon site et j'aimerai que vous m'aidiez sur un point.

En fait, dés que ma premiere version a marché, je l'ai laissé tel quelle mais, pour ma V2, je voudrais faire un peut mieu ...

C.a.d faire une fonction pour filtrer les données qui doivent entrer dans la bdd et un fonction pour les ressortir en vue d'affichage.

Mon problème est que je ne sais pas si il faut par exemple faire addslashes avant d'entrer les données dans la bdd ou juste avant de les traiter...
Des bases quoi .

De plus je pense qu'en temps que codeur professionel (et pas codeur du dimanche comme moi) vous auriez ce genre de fonction toute prete...

Merci de votre aide :)

Mammouth du PHP | 19672 Messages

11 juin 2005, 17:51

L'utilisation du addslashes() se fait avant insertion dans la base, mais c'est inutile si mes magic_quotes_gpc sont à ON, vérifie dans ton php.ini ou le phpinfo().

Ensuite pour l'affichage, si tu utilises addslashes pour l'insertion, il faut faire l'opération inverse avec stripslashes().

Regarde le tuto sur les magic_quotes sur le site ICI
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 299 Messages

11 juin 2005, 17:56

c'est tout ce qu'il faut faire pour le traitement des données qui entre et qui sortent???

ps: heureusement que t'est la, on dirait qu'il y a que toi qui lit mes posts lol

Eléphant du PHP | 299 Messages

11 juin 2005, 18:19

Merci pour le tuto, mais je ne vois pas comment savoir si les magics quotes sont activés chez free...

De plus, j'ai recupéré ces fonctions mais pas leur manuel ... Il me semble qu'elles s'adaptent si les magic quotes sont activés ou pas... M'enfin, je veut bien que l'on m'éclaire...
function fromdb($msg,$strip=false) // de la db vers affichage ou formulaire
{
	if($strip)
		$msg=strip_tags($msg);
	if(get_magic_quotes_runtime()==0)
		$msg=addslashes($msg);
	
	$msg=addslashes($msg);
	return($msg);
}

function todb($msg,$activenl2br=false) // d'un formulaire vers une db
{
	$msg=htmlentities($msg);
	
	if(get_magic_quotes_gpc()==0)
		$msg=addslashes($msg);
	
	if($activenl2br)
		$msg=nl2br($msg);
	return($msg);
}

function htmltodb($msg,$activenl2br=false) // d'un formulaire vers une db
{
	if(get_magic_quotes_gpc()==0)
		$msg=addslashes($msg);
	if($activenl2br)
		$msg=nl2br($msg);
	return($msg);
}

function toform($msg) // d'un formulaire vers un formulaire
{
	if(get_magic_quotes_gpc()==1)
		$msg=stripslashes($msg);
	return($msg);
}
Merci encore

Mammouth du PHP | 19672 Messages

11 juin 2005, 19:45

Tu as songé à regarder le phpinfo chez free ? C'est un des premiers fichiers que j'ai mis à la racine de ma page perso, tu vas y trouver l'informations sur le magic_quotes.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 299 Messages

11 juin 2005, 20:38

donc, les magic quotes sont activé, comment je peut les désactivés??? Je peut changer la config php de free???

Et les fonction??? une explication??

Mammouth du PHP | 19672 Messages

11 juin 2005, 21:54

Desactiver chez free, ça me surprendrait pas mal: je ne l,ai jamais fait et il me semble qu'on peut faire ça avec un .htaccess si j'ai bien suivi ce qui s'est dit aur quelques messages que j'ai survolé, mais je n,ai jamais eu de problème à utiliser le addslashes ou le stripslashes sur free.

Quand aux fonctions, elle font tout le boulot de toute façon en vérifiant d'abord comment sont configurés les magic_quotes, Qu'est-ce que tu ne comprends pas au juste ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

pirquesssa
Invité n'ayant pas de compte PHPfrance

12 juin 2005, 00:13

Ben je vois pas trop ou m'en servir ... et genre les option comme $strip ...

Merci pour tes infos :)