par
sadeq » 06 mars 2006, 09:49
mon problème ce n'est pas le champ vide car pour sa j'ai:
if (!empty($recherche))
{
echo"le champ de reecherche est vide!";
mon problème c'est la touche [espace] elle n'est pas considérer comme champ vide une fois rentrer, mais un caractére

si je tape espace dans le champ recherche tout le contenue de ma table ou je fait la recherche ...sa na pas de lien avec
urldecode ou urlencode ?
MERCI
Nos amis n'ont pas céssé de t'expliquer qu'il faut utiliser un trim() pour transformer le fameux espace dont tu parle en vide pourque ton if fonctionne et n'affiche plus ta table quand tu tape espace.
Ecrit plutôt :
if ( empty( trim($recherche) ) ) //tu avais une erreur ici, correction : pas de ! (not)
{
echo"le champ de reecherche est vide!";
Quant au problème de remplacement, tu doit remplacer tes caractères (+ ...) par un espace et non un vide en écrivant :
$mots = str_replace(array('+', '"', ',', ':'), " ", trim($recherche));
$tab=explode(" " , $mots);
Moi à ta place je remplacerai par un caractère spécial sur lequel peut s'appuier explode pour construire le tableau $tab.
Regarde, j'utilise par exemple la tabulation (\t):
//Remplacer des caractères précis par un seul délimiteur (ici la tabulation)
$mots = str_replace(array('+', '"', ',', ':'), "\t", trim($recherche));
$tab=explode("\t" , $mots); //construire un tableau se basant sur le marqueur \t
[quote="knops"]mon problème ce n'est pas le champ vide car pour sa j'ai:
[php]if (!empty($recherche))
{
echo"le champ de reecherche est vide!";[/php]
mon problème c'est la touche [espace] elle n'est pas considérer comme champ vide une fois rentrer, mais un caractére :roll: si je tape espace dans le champ recherche tout le contenue de ma table ou je fait la recherche ...sa na pas de lien avec [quote]urldecode ou urlencode ?[/quote]
MERCI[/quote]
Nos amis n'ont pas céssé de t'expliquer qu'il faut utiliser un trim() pour transformer le fameux espace dont tu parle en vide pourque ton if fonctionne et n'affiche plus ta table quand tu tape espace.
Ecrit plutôt :
[php]if ( empty( trim($recherche) ) ) //tu avais une erreur ici, correction : pas de ! (not)
{
echo"le champ de reecherche est vide!";[/php]
Quant au problème de remplacement, tu doit remplacer tes caractères (+ ...) par un espace et non un vide en écrivant :
[php]
$mots = str_replace(array('+', '"', ',', ':'), " ", trim($recherche));
$tab=explode(" " , $mots);
[/php]
Moi à ta place je remplacerai par un caractère spécial sur lequel peut s'appuier explode pour construire le tableau $tab.
Regarde, j'utilise par exemple la tabulation (\t):
[php]
//Remplacer des caractères précis par un seul délimiteur (ici la tabulation)
$mots = str_replace(array('+', '"', ',', ':'), "\t", trim($recherche));
$tab=explode("\t" , $mots); //construire un tableau se basant sur le marqueur \t
[/php]