页面重定向到形式,从我的PHP脚本(Page is redirecting to my php sc

2019-11-05 08:44发布

我试图与PHP的登录系统,但我无法弄清楚,为什么我的表格只是重定向我的脚本文件,当我在我的登录按钮点击。 它工作正常,在我的注册表格。 一切似乎工作exept其重定向我的脚本文件。 我的PHP文件,其中包含我的表格: https://codepen.io/hubbe-andersson/pen/yGOPoM

编辑:我已经把我的phpscript到我的header.php,而不是现在即时通讯铬越来越ERR_TOO_MANY_REDIRECTS什么caussing呢?

<?php
    if(isset($_POST['login-sub'])) {
        require 'databash.php';

        $username = $_POST['mailname'];
        $password = $_POST{'pwd'};

        if(empty($username) || empty($password)) {
            header("Location: index.php?error=tommarutor");
            exit();
        } else {

            $sql = "SELECT * FROM USERS WHERE uidUsers=? OR emailUsers=?";
            $stmt = mysqli_stmt_init($conn);
            if(!mysqli_stmt_prepare($stmt, $sql)) {
                header("Location: index.php?error=sqlerror");
                exit();
            } else {

                mysqli_stmt_bind_parem($stmt, "ss", $username, $username);
                mysqli_stmt_execute($stmt);
                $resultat = mysqli_stmt_get_result($stmt);
                if ($row = mysqli_fetch_assoc($resultat)) {
                    $checkpwd = password_verify($password, $row['pwdUsers']);
                    if($checkpwd == false) {
                        header("Location: index.php?error=fellosenord");
                        exit();
                    }
                    else if ($checkpwd == true) {
                        seassion_start();
                        $_SESSION['userId'] = $row['idUsers'];
                        $_SESSION['userUid'] = $row['uidUsers'];
                        header("Location: index.php?login=lyckades");
                        exit();

                    }
                    else {
                        header("Location: index.php?error=fellosenord");
                        exit();
                    }
                }
                else {
                    header("Location: index.php?error=ingenanvandare");
                    exit();
                }
            }
        }
    } else {
       header("Location: index.php");
       exit();
    }

Answer 1:

第6行错误:使用[...]代替{...}

再看中间的代码块。 里面,一切都着眼于确定的结果将返回该错误,这样建立在你的$_SESSION数据,然后重定向header("Location....一次。大多数失误都是小的像行6误差,使新增的习惯// comments你的代码,以便更容易理清你的代码行和部分。

<?php
    if(isset($_POST['login-sub'])) {   
        require 'databash.php';

        $username = $_POST['mailname'];
        $password = $_POST['pwd'];

        if(empty($username) || empty($password)) {    
            header("Location: index.php?error=tommarutor");
            exit();
        } else {      

            $sql = "SELECT * FROM USERS WHERE uidUsers=? OR emailUsers=?";
            $stmt = mysqli_stmt_init($conn);
            if(!mysqli_stmt_prepare($stmt, $sql)) {    
                header("Location: index.php?error=sqlerror");
                exit();
            } else {        

                mysqli_stmt_bind_parem($stmt, "ss", $username, $username);
                mysqli_stmt_execute($stmt);
                $resultat = mysqli_stmt_get_result($stmt);

                if ($row = mysqli_fetch_assoc($resultat)) {
                    $checkpwd = password_verify($password,  $row['pwdUsers']);
                    if($checkpwd == false) {
                        session_start();
                        $_SESSION['error']="fellosenord";
                    }  else if ($checkpwd == true) {
                        seassion_start();
                        $_SESSION['userId'] = $row['idUsers'];
                        $_SESSION['userUid'] = $row['uidUsers'];
                        $_SESSION['login']="lyckades");
                    } else {
                        session_start();
                        $_SESSION['error']="fellosenord";
                    }   //end checkpwd
                } else {    //  if fetch fails, send error
                    session_start();
                    $_SESSION['error']="ingenanvandare";
                }   //  end fetch
                header("Location: index.php");

            }   // end if stmt exists
        }   // end not empty input
    } else { // if isset isn't set...
       header("Location: index.php");
       exit();
    } //   end isset
php database mysqli

index.php页面需要通过寻找通过传递的查询字符串开始$_SESSIONS ,以防止有人试图不相关的表格访问页面。

session_start();
if ( empty($_SESSION['id']) ) {   // no session info...
...
} else {
...
}

问问你的老师讲解发现错误,解决问题,所以你可以学习要寻找什么。



文章来源: Page is redirecting to my php script from form