Intereting Posts
Сортировка многомерного массива с использованием PHP Как получить последнюю часть заданного пути? Избегайте использования isset в PHP при доступе к $ _POST, $ _GET и другим переменным? Как преобразовать выражения ereg в preg в PHP? Почему этот код не увеличивает счетчик правильно? PDOException SQLSTATE Нет такого файла или каталога Почему jQuery.parseJSON () не работает на всех серверах? Как организовать различные версии REST API-контроллеров в Laravel 4? Функция get_status () возвращает 1 вместо true или false, почему? Что такое PHP track_errors? MCRYPT_DEV_RANDOM замерзает, но MCRYPT_DEV_URANDOM работает Создать новый PDF из шаблона с PHP Добавить кнопку после добавления в корзину и перенаправить ее на какую-то пользовательскую ссылку в WooCommerce Две команды успешно выполняются вручную, но не выполняются при запуске в shell_exec (), что дает ошибку TimeOut Как вычислить самую длинную непобежденную полосу с использованием MySQL?

На этой веб-странице есть проблема PHP с перенаправлением?

Я использую следующие коды в login.php и index.php .

Я получаю. This webpage has a redirect loop error в браузере.

Я знаю, что проблема вызвана логикой в ​​файле login.php по следующему коду:

 $existCount = mysqli_num_rows($query); // count the row nums if ($existCount == 1) { // evaluate the count $row = mysqli_fetch_array($query, MYSQLI_ASSOC); $_SESSION["id"] = $row["id"]; $_SESSION["manager"] = $manager; $_SESSION["password"] = $password; header("location: http://$storeShop.mysite.com/index.php"); exit(); } else { echo 'That information is incorrect, try again <a href="login">Click Here</a>'; exit(); } 

в частности, эту строку: header("location: http://$storeShop.mysite.com/index.php");

Я просто не знаю, как я могу исправить эту проблему!

login.php

 <?php session_start(); ob_start(); if (isset($_SESSION["manager"])) { /* IF THE USER IS LOGGED IN THE CODE BELOW SENDS THEM TO THEIR OWN SUBDOMAIN NAME WHICH IS STORED IN $_SESSION["storeShop"]. CHANGE "REST_OF_URL" TO THE VALID DOMAIN IN THE HEADER FUNCTION. BUT DON'T REMOVE THE . (DOT) */ header("Location: http://$_SESSION[storeShop].mysite.com/index.php"); exit(); // END OF EDIT. } ?> <?php if (isset($_POST["email"]) && isset($_POST["password"])) { $manager = $_POST["email"]; // filter everything but numbers and letters $password = (!empty($_POST['password'])) ? sha1($_POST['password']) : ''; // filter everything but numbers and letters $storenameTable = $_REQUEST['storeShop']; // Connect to the MySQL database include "config/connect.php"; $sql = "SELECT members.id, members.email, members.password, members.randKey, members.storeShop, storename.email, storename.password, storename.randKey, storename.storeShop FROM members INNER JOIN storename ON members.randKey = storename.randKey WHERE members.email = '$manager' AND members.password = '$password' "; $result = mysqli_query($db_conx,"SELECT storeShop FROM members WHERE email='$manager' AND password='$password'"); while($row = mysqli_fetch_array($result)) { $email = $row["email"]; $password = $row["password"]; $storeShop = $row["storeShop"]; $_SESSION['email'] = $email; $_SESSION['password'] = $password; $_SESSION['storeShop'] = $storeShop; } // query the person // ------- MAKE SURE PERSON EXISTS IN DATABASE --------- $query = mysqli_query($db_conx, $sql); if (!$query) { die(mysqli_error($db_conx)); } $existCount = mysqli_num_rows($query); // count the row nums if ($existCount == 1) { // evaluate the count $row = mysqli_fetch_array($query, MYSQLI_ASSOC); $_SESSION["id"] = $row["id"]; $_SESSION["manager"] = $manager; $_SESSION["password"] = $password; header("location: http://$storeShop.mysite.com/index.php"); exit(); } else { echo 'That information is incorrect, try again <a href="login">Click Here</a>'; exit(); } } ?> 

index.php

 <?php session_start(); ob_start(); if (!isset($_SESSION["manager"])) { header("location: login"); exit(); } /* THE CODE BELOW COMPARES THE SUBDOMAIN TO THE USER'S STORESHOP SESSION IF THEY DON'T MATCH IT REDIRECTS THEM TO THEIR SUBDOMAIN. CHANGE "REST_OF_URL" TO THE VALID DOMAIN IN THE HEADER FUNCTION. BUT DON'T REMOVE THE . (DOT) */ else { $url = $_SERVER["HTTP_HOST"]; $user_subdomain = explode(".", $url); if($_SESSION["storeShop"] != $user_subdomain[0]) { header("Location: http://$_SESSION[storeShop].mysite.com/index.php"); } } ob_end_flush(); // Be sure to check that this manager SESSION value is in fact in the database $managerID = preg_replace('#[^0-9]#i', '', $_SESSION["id"]); // filter everything but numbers and letters $manager = $_POST["email"]; // filter everything but numbers and letters $password = (!empty($_POST['password'])) ? sha1($_POST['password']) : ''; // filter everything but numbers and letters $storenameTable = $_REQUEST['storeShop']; // Run mySQL query to be sure that this person is an admin and that their password session var equals the database information // Connect to the MySQL database include "config/connect.php"; $sql = "SELECT members.id, members.email, members.password, members.randKey, members.storeShop, storename.email, storename.password, storename.randKey, storename.storeShop FROM members INNER JOIN storename ON members.randKey = storename.randKey WHERE members.email = '$manager' AND members.password = '$password' "; // query the person // ------- MAKE SURE PERSON EXISTS IN DATABASE --------- $query = mysqli_query($db_conx, $sql); if (!$query) { die(mysqli_error($db_conx)); } $result = mysqli_query($db_conx,"SELECT storeShop FROM members WHERE email='$manager' AND password='$password'"); while($row = mysqli_fetch_array($result)) { $email = $row["email"]; $password = $row["password"]; $storeShop = $row["storeShop"]; $_SESSION['email'] = $email; $_SESSION['password'] = $password; $_SESSION['storeShop'] = $storeShop; } ?> 

Может кто-нибудь, пожалуйста, укажите мне в правильном направлении?

Заранее спасибо.