简体   繁体   English

错误:本地主机重定向你太多次

[英]ERROR: localhost redirected you too many times

Hi I'm a new student and starting to learn coding/programming specially on PHP.嗨,我是一名新学生,开始专门在 PHP 上学习编码/编程。 I tried learning some code and I have encountered this problem.我尝试学习了一些代码,但遇到了这个问题。

This page isn't working此页面无效

localhost redirected you too many times. localhost 将您重定向了太多次。 Try clearing your cookies.尝试清除您的 cookie。 ERR_TOO_MANY_REDIRECTS ERR_TOO_MANY_REDIRECTS

and this is my code:这是我的代码:

session_start();

include('_includes/config.php');
include('_includes/db.php');

    if(isset($_POST['register'])){
        $_SESSION['uname'] = $_POST['uname'];
        $_SESSION['fname'] = $_POST['fname'];
        $_SESSION['lname'] = $_POST['lname'];
        $_SESSION['email'] = $_POST['email'];
        $_SESSION['address'] = $_POST['address'];
        $_SESSION['postal'] = $_POST['postal'];
        $_SESSION['pass'] = $_POST['pass'];
        $_SESSION['con-pass'] = $_POST['con-pass'];
    }

    if(strlen($_POST['uname'])<3){
        header("Location:register.php?err=" . urlencode("The username must be at least 3 characters long"));
        die();
    }

I really don't know what to do I have encountered some errors in php but I haven't encountered this kind of error PLEASE HELP and PLEASE ENLIGHTEN me on what I have done wrong.我真的不知道该怎么办我在 php 中遇到了一些错误,但我还没有遇到过这种错误,请帮助并请让我了解我做错了什么。

Check if user request to register too than redirect, update code like below :检查用户是否请求注册而不是重定向,更新如下代码:

session_start();

include('_includes/config.php');
include('_includes/db.php');

    if(isset($_POST['register'])){
        $_SESSION['uname'] = $_POST['uname'];
        $_SESSION['fname'] = $_POST['fname'];
        $_SESSION['lname'] = $_POST['lname'];
        $_SESSION['email'] = $_POST['email'];
        $_SESSION['address'] = $_POST['address'];
        $_SESSION['postal'] = $_POST['postal'];
        $_SESSION['pass'] = $_POST['pass'];
        $_SESSION['con-pass'] = $_POST['con-pass'];
    }

    if(strlen($_POST['uname'])<3 && isset($_POST['register'])){ // add && isset($_POST['register'])
        header("Location:register.php?err=" . urlencode("The username must be at least 3 characters long"));
        die();
    }

Note: at all i'm suggest you don't redirect user to show error message if codes in some file!注意:如果某些文件中有代码,我建议您不要重定向用户以显示错误消息! you can store error message in vars and check if error var is not empty echo it!您可以将错误消息存储在 vars 中并检查错误 var 是否不为空回显它!

session_start();

include('_includes/config.php');
include('_includes/db.php');
$error = ''; //add this var
    if(isset($_POST['register'])){
        $_SESSION['uname'] = $_POST['uname'];
        $_SESSION['fname'] = $_POST['fname'];
        $_SESSION['lname'] = $_POST['lname'];
        $_SESSION['email'] = $_POST['email'];
        $_SESSION['address'] = $_POST['address'];
        $_SESSION['postal'] = $_POST['postal'];
        $_SESSION['pass'] = $_POST['pass'];
        $_SESSION['con-pass'] = $_POST['con-pass'];
    }

    if(strlen($_POST['uname'])<3 && isset($_POST['register'])){ // add && isset($_POST['register'])
        /*header("Location:register.php?err=" . urlencode("The username must be at least 3 characters long"));
        die();*/
        $error = 'this is error message';
    }
//add below code anywhere you want show error
if($error){
    echo $error;
}

I don't have register.php 我没有register.php

I only have registered.php 我只有registered.php

Where do I put this? 我该放在哪里?

if(strlen($_POST['uname'])<3) 

to

if(isset($_POST['uname']) && strlen($_POST['uname'])<3)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM