2017-02-20 7 views
0

Мне нужна ваша помощь относительно моего кода на PHP. Я делаю простую форму входа, но я получаю сообщение об ошибке при успешном входе в систему. Я хочу перенаправить на другую веб-страницу, когда я войду в систему.page redirection (header) issue in PHP

Ошибка браузера: (смотрите прикрепленный файл) enter image description here страницы локальной не работает локальные перенаправлены вас слишком много раз. Попробуйте очистить свои файлы cookie. ERR_TOO_MANY_REDIRECTS

<?php 

$errors = array(); 
if(isset($_POST['submit'])) { 
    $username = trim($_POST["username"]); 
    $password = trim($_POST["password"]); 

    if(!isset($username) || empty($username) || !isset($password) || empty($password)) { 
     $errors['$blank'] = "Fields can't be blank."; 
    } 

    else { 
     $errors = ""; 
    } 

    $min = 6; 
    if(strlen($username) < $min || strlen($password) < $min) { 
     $errors['$minAllowed'] = "Only minimum of 6 characters is allowed"; 
    } 

    $max = 12; 
    if(strlen($username) > $max || strlen($password) > $max) { 
     $errors['$minAllowed'] = "Only maximum of 12 characters is allowed"; 
    } 

} 

function form_errors($errors=array()) { 
    $output = ""; 
    if(!empty($errors)) { 
     $output = "<div class=\"error\">"; 
     $output .= "Please fix the following errors:"; 
     $output .= "<ul>"; 
      foreach ($errors as $key => $error) { 
       $output .= "<li>{$error}</li>"; 
      } 
     $output .= "</ul>"; 
     $output .= "</div>";  
    } 
    else { 
     header("Location: " . "p1.php"); 
    } 


    return $output; 
} 

?> 
+0

, что означает 'заголовок ("Location:". "P1.php");'? – Nawin

+0

проверить строку заголовка на инструкции else – Akintunde007

+0

'header (" Location: "." P1.php ");' должен быть 'header (" Location: p1.php ");' –

ответ

0

переадресацией Синтаксис не является правильным. Используйте так:

header("Location: http://www.example.com/p1.php"); 
+2

Всегда используйте 'die()' после перенаправления также! читайте, почему здесь: https://aaronsaray.com/2013/it-is-important-to-use-die-after-a-header-redirect-heres-why –

+0

Привет, спасибо! Это уже работает. – studentAir02

0

Использование так:

function redirect_to($location) 
    { 
     if (!headers_sent()) { 
      header('Location: ' . $location); 
      exit; 
     } else { 
      echo '<script type="text/javascript">'; 
      echo 'window.location.href="' . $location . '";'; 
      echo '</script>'; 
      echo '<noscript>'; 
      echo '<meta http-equiv="refresh" content="0;url=' . $location . '" />'; 
      echo '</noscript>'; 
    }} 


redirect_to('http://www.example.com/p1.php');