PHP - страница перенаправления - PullRequest
0 голосов
/ 18 мая 2011

All

У меня есть несколько html-страниц в моем приложении, которое находится на WAMP.

Мне нужна была страница входа, которая при успешном входе перенаправляла пользователя на другую страницу приложения.

Я:

1> Невозможно перенаправить. Я должен определить header('Location: /X/Y/abc.html'). Это относительный путь от дома вампов, т.е. C:\wamp\www\. Я думаю, что есть проблема с упомянутым здесь путем.

2> При неудачном входе в систему пользователь должен быть перенаправлен на ту же страницу. Когда я попробовал это, используя header('Location: '.$_SERVER['PHP_SELF']). Попытка выполнить код дает мне

Итак, у меня есть 2 папки:

Папка Z содержит следующий код HTML с именами index.html и abc.php
Папка / X / Y / содержит фактическое приложение, для которого установлена ​​аутентификация.

HTML код:

<html>
   <head>
      <title>
         Login
      </title>
   </head>
   <body>
      <form action="/Z/abc.php" method="post">
         <table id="input">
         <tr>
               <td>Admin Username <input type="text" name="username"></td>
         </tr>
         <tr>
               <td>Password <input type="text" name="passwd"></td>
         </tr>
         <tr>
               <td><input type = "submit" id="submitButton"></td>
         </tr>
      </form>
   </body>
</html>

PHP код:

<?php 
   $username="ab";
   $password="cd";

   if (isset($_POST["username"]) && strcasecmp($username, $_POST["username"]))
   {
      header('Location: /X/Y/navigation.html');
   }
?>

Выполнение кода не перенаправляет меня на navigation.html, но останавливается на abc.php, т.е. остаток URL: http://localhost:81/Z/validate.php

1 Ответ

1 голос
/ 18 мая 2011

Вам нужно будет перенаправить ваш abc.php обратно на страницу входа в систему, если вход не был успешным:

abc.php:

<?php

$username = 'ab';
$password = 'cd';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   if ((isset($_POST['username']) && ($_POST['username'] == $username)) &&
      (isset($_POST['password']) && ($_POST['password'] == $password))) {
         header("Location: /X/Y/navigation.html");
         exit();
   }
}

header("Location: login.html");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...