2010-07-02 3 views
1

i ont écrit un code dans .htaccessdans Réécriture de décodage url htaccess valeurs

RewriteEngine on 
RewriteRule ^category-search/(.*)$ category-search.php?cat_id=$1 

et mon URL actuelle est

www.mydomain.com/category-search/=NA==

Les dernières valeurs (= NA ==) sont codées en base64_encode. Mais quand je suis en train de chercher ces valeurs en php comme ...

$val=mysql_real_escape_string(base64_decode($_REQUEST['cat_id'])); 

Je reçois val $ égale à rien. Quelle est l'erreur derrière cela?

Lorsque je n'étais pas réécrit dans htaccess cela fonctionnait bien.

Répondre

0

ne devrait pas vous être à la recherche à la variable $ _REQUEST c'est ce que vous avez appelé [ « cat_id »] au lieu de $ _REQUEST [ « sub_cat_id »] le paramètre de demande dans le fichier .htaccess ...

+0

désolé c'est un code parfait insted de ci-dessus .. $ val = mysql_real_escape_string (base64_decode ($ _ REQUEST ['cat_id'])); – Ajay

+0

@Ajay: Si vous voulez éditer votre question, cliquez sur le lien "Modifier" ... – Piskvor

1

=NA== n'est pas une chaîne encodée en base64 valide (longueur incorrecte et caractère invalide au début). Vouliez-vous dire NA64==? Cela décode à 4. Dans le cas de =NA==, base64_decode() retournera false, qui sera affiché comme chaîne vide.

+0

oh .. quel blonder j'avais. Merci. Maintenant, cela fonctionne. – Ajay

+0

@Ajay: De rien. (btw, si une réponse a résolu votre problème, cochez sa case (sur la gauche) pour la marquer comme acceptée) – Piskvor