2010-06-30 4 views
1

La fonction check_porn_terms ci-dessous vérifie si une variable contient des termes qui ne sont pas adaptés à la famille, et si c'est le cas, redirige l'utilisateur vers la page principale.Est-ce que deux variables peuvent être utilisées dans une fonction à la fois?

Comme indiqué ci-dessous, il vérifie si la variable $title a des termes non favorables à la famille. Je voudrais effectuer cette vérification sur une autre variable, $cleanurl. Pourrais-je simplement remplacer check_porn_terms($title) ci-dessous par check_porn_terms($title, $cleanurl) ou quelque chose comme ça? Si non, comment dois-je faire?

Merci à l'avance,

John

if(!check_porn_terms($title)) 
{ 

    session_write_close(); 
    header("Location:http://www.domain.com/index.php"); 
    exit; 

} 
+0

pourquoi ne pas utiliser des tableaux? – Cristian

Répondre

2

Vous avez juste besoin d'appeler la fonction deux fois (combiné avec le « ou » opérateur ||) pour vérifier chaque variable:

if(!check_porn_terms($title) || !check_porn_terms($cleanurl)) 
{ 
    session_write_close(); 
    header("Location:http://www.domain.com/index.php"); 
    exit; 
} 
2

Si vous avez écrit la fonction vous, redéfinissent à check_porn_terms() (pas args), puis à l'intérieur de la fonction, boucle sur func_get_args et vérifier si chacun les arguments sont "propres".

Mais oui, vous pourriez avoir deux arguments à la place, si vous le souhaitez. Mon point est, pourquoi s'arrêter à deux heures? Laissez-le prendre n'importe quel nombre d'arguments.

Pendant que vous y êtes, vous pouvez essayer de lire la page et de scanner le corps entier de la page à la recherche de mots sales.

0

Si vous voulez passer des paramètres supplémentaires à check_porn_terms, vous auriez besoin de redéfinir la fonction

function check_porn_terms($first_term, $second_term) 
{ 
    //code to check both terms here 
} 

Vous pouvez également réécrire la fonction d'accepter un tableau pour les paramètres puis foreach sur eux, ou obtenir vraiment de fantaisie avec func_get_args()

Qu'est-ce que vous voulez sans doute faire, et peut le faire sans redéfinir la fonction, est d'appeler la fonction deux fois

// the || means "or" 
if(!check_porn_terms($title) || !check_porn_terms($cleanurl)) 
{ 
} 
Questions connexes