Тест формы PHP - PullRequest
       15

Тест формы PHP

1 голос
/ 28 августа 2010

Тест, чтобы увидеть, если произошел POST. Если это так, то проверьте учетные данные; если правильно, то перенаправить на страницу назначения; если неверно, отобразите сообщение об ошибке на странице формы. Затем выведите форму.

Ответы [ 2 ]

1 голос
/ 28 августа 2010

Лучше сделать это объектно-ориентированным способом, я делаю это в своих проектах следующим образом:

//check if user logged in
if(isset($_POST['sign_in'])):
    try
    {
        $userlogin = new User();
        $userlogin->loginusername = mysqli_real_escape_string($link, $_POST['username']);
        $userlogin->password = mysqli_real_escape_string($link, $_POST['password']);
        $userlogin->login();
    }
    catch(Exception $e)
    {
        header("Location: ".$siteurl."login.php?login=failed");
    }//end of catch exception
endif;//end of if user logged in

в функции login () в моем классе пользователя. Я проверяю правильность имени пользователя, если нетсгенерирует исключение (ошибку), которое будет поймано ведьмой (см. catch (исключение ...)).Затем я перенаправляю на другую страницу, но вы можете сохранить сообщение об ошибке в такой переменной, как это:

$feedback = $e->getMessage();

, а затем просто отправить отзыв в любом месте на вашей странице

РЕДАКТИРОВАТЬ: это моефункция входа в мой класс пользователя (просто подумал, что добавлю и ее)

public function login()
    {
        global $link;
        $sql = mysqli_query($link, "SELECT userid, unique_id, username, password FROM user_extra WHERE username='".$this->loginusername."' AND password='".md5($this->password)."'");
        //there can only be one user with this username and password
        if(mysqli_num_rows($sql) == 1):
            $result = mysqli_fetch_object($sql);
            //sessions
            $_SESSION['userid'] = $result->userid;
            $_SESSION['username'] = $result->username;
            $_SESSION['unique_id'] = $result->unique_id;

            //cookies
            $expire=time()+60*60*24*30;
            setcookie("userid", $result->userid, $expire, "/");
            setcookie("password", $result->password, $expire, "/");
        else:
            throw new exception("Login failed");
        endif;
    }//end of function login 
1 голос
/ 28 августа 2010

В самом основном виде:

if (!empty($_POST))

Другие способы:

// check if one of the fields are present;
if (!empty($_POST['password']))

// attach a hidden field then
<input type="hidden" name="myHidden" value="yes">
if ($_POST['myHidden'] == 'yes')

// give a name and value to the submit button, then
<input type="submit" name="subBtton" value="Send">
if ($_POST['subButton'] == 'Send')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...