2012-05-01 5 views
0

J'essaie d'implémenter la vérification des erreurs dans un script de connexion. Mais, je ne peux pas le faire fonctionner? Je n'ai aucune idée de ce qui se passe, ni pourquoi cela ne fonctionne pas comme je le souhaite. J'ai tout essayé, s'il vous plaît conseiller.Renvoi de la valeur booléenne PHP MongoDB

C'est la méthode que je vous appelle:

public function i_exist($this_username) 
{ 
    //$host_array = null; 
    //$host_array = $this->collection->findOne(array("Username" => $this_username)); 
    //if ($host_array['Username'] = $this_username) 
    //{ 
      return true; 
    //} 

    //return false; 
} 

Voici comment je l'appelle:

if (!empty($_POST['Username'])) 
{   
    $host = new Host();   
    $event = new Event(); 

    if ($host->i_exist($_POST['Username'])) 
    { 
     header("Location: http://www.drink-social.com/error.php?login=duplicate"); 
    } 

Il est censé vérifier la base de données et voir si ce nom d'utilisateur est déjà utilisé . Mais il ne dirige jamais à la page d'erreur? J'ai même essayé de tout commenter et de revenir vrai, et de revenir 1. Rien? Un conseil?

+0

Êtes-vous sûr que la méthode est appelée? Aussi, vous pouvez essayer d'appeler votre page avec curl pour voir/déboguer les en-têtes retournés. (btw, bienvenue à stackoverflow) – ZeissS

+0

Merci pour l'accueil! – nathansizemore

+0

Je ne suis pas sûr si elle s'appelle? Je sais que tout ce qui est ci-dessous est appelé, car il semble juste ignorer cette instruction if et continuer et ajouter l'utilisateur et leur attribue un autre identifiant? Il agit comme si la déclaration n'existe pas ...? – nathansizemore

Répondre

2

Lorsque vous appelez header(); vous devrez également appeler exit(); sinon le script continue à fonctionner.