php - 错误 : localhost redirected you too many times

标签 php

大家好,我是一名新生,开始专门学习 PHP 编码/编程。我尝试学习一些代码,但遇到了这个问题。

此页面不工作

本地主机重定向您的次数太多。 尝试清除您的 cookie。 ERR_TOO_MANY_REDIRECTS

这是我的代码:

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();
    }

我真的不知道该怎么办我在 php 中遇到了一些错误,但我没有遇到过这种错误请帮助并告诉我我做错了什么。

最佳答案

检查用户是否请求注册而不是重定向,更新代码如下:

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();
    }

注意:我建议您不要重定向用户以在某些文件中显示错误消息!您可以将错误消息存储在 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;
}

关于php - 错误 : localhost redirected you too many times,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45631081/

相关文章:

php - 是否有可能计算类似 mysql 结构的匹配数?

php - 每五个 MYSQL 搜索结果显示一个广告

php - 在 Woocommerce 中使用 ajax 更新购物车小部件中的详细信息,无需加载页面

php - 对于初学者来说,Laravel 和 Yii 框架哪个更容易理解?

php - 为了实现旧版 PHP 和新版 SQL Server 之间的兼容性,是否应该使用 FreeTDS 驱动程序而不是 MS SQL 驱动程序?

php - 如何在我的 Android 应用程序中使用全局变量从 mysql 检索用户的登录 ID?

php - 如何根据表中的特定字段回显变量?

php - 如何删除字符串末尾的空格?

php - mod_rewrite : subdomain to controller

php - 字符串到正则表达式的转换