2012-10-22 4 views
0

Je suis nouveau à PHP, en essayant de reproduire un JavaBeans/affectation JSF ...PHP envoyer des valeurs d'entrée en tant que paramètres dans la méthode appel

Je dois appeler une méthode dans le service de classe qui vérifient le nom d'utilisateur et mot de passe.

J'ai ce php dans le haut de mon index.php:

<?php 
include("Service.php"); 
$service = new Service(); 
if($_POST) { 
    if (!$service->checkUser($_POST['name'], $_POST['password'])) { 
     $error = "Username and password incorrect"; 
     echo $error; 
    } 
}?> 

action forme Mu appelle est propre document:

<form action="index.php" method="post"> 

J'ai 2 champs de saisie (nom, mot de passe) comme ceci:

classe Mon Service.php a la fonction checkuser. Il renvoie une chaîne:

public function checkUser($name, $password) { 
    foreach($this->users as $user) { 
     if ($user->getName() == $name && $user->getPassword() == $password) { 
      return "welcome.php"; 
     } 
     else 
      return "error.php"; 
    } 
} 

Comment puis-je utiliser cette chaîne à utiliser la navigation lorsque le formulaire est soumis?

Répondre

3

Peu de questions:

1) $POST devrait être $_POST

2) Est-ce checkUser() retour une chaîne contenant l'action de forme? Comme c'est ce que votre code est en train de faire ..?

Il semble à moi comme vous devriez afficherons à un script PHP, probablement le même nom que vous êtes déjà, puis appelez la méthode checkUser:

Forme:

<form action="/" method="post"> 
.. 
</form> 

Puis, en le côté PHP:

<?php 
if ($service->checkUser($_POST['name'], $_POST['password'])) 
{ 
    // do something 
} 
+0

Je voudrais déplacer la fonction checkuser _out OF_ mon index.php et dans une catégorie distincte Service.php. Oui, checkUser renvoie une chaîne avec un nom de fichier: welcome.php (si OK) ou error.php (s'il n'est pas connecté). Alors comment appeler la fonction checkUser dans Service-php dans l'action attrib. – olefrank

0

gauche la propriété d'action vide et sur le haut de la page écrire le code suivant

<?PHP 
     if($_POST){ 
       if (!$service->checkUser($_POST['name'], $_POST['password'])){ 
        $error = "Username and password incorrect"; 
       } 
     } 
    ?> 

inclure votre fonction ici, et l'écho de cette erreur au-dessus du formulaire

Questions connexes