Постоянно 404 страница (главная страница) [дубликат]

326
01 августа 2017, 18:36

На данный вопрос уже ответили:

  • Cannot modify header information - headers already sent by 3 ответа

Не могу разобраться в связи с чем постоянно на главной странице 404 PAGE пишется, вместо HELLO GUEST или просто INDEX (если авторизован пользователь) В самом файле library\main.php:

function getUrlSegment($num){
    $url = strtolower($_GET['url']);
    $urlSegments = explode('/',$url);
    return $urlSegments[$num];
}

На главной странице:

<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
session_start();
require_once 'core/library/db.php';
require_once 'core/configs/main.php';
require_once 'core/library/main.php';
require_once 'core/library/validator.php';
require_once 'core/models/category.php';
require_once 'core/models/post.php';
//$url = (isset($_GET['$url']) ? $_GET['$url'] : 0);
$cntrName = (is_null(getUrlSegment(0))) ? 'main' : getUrlSegment(0);
$actionName = (is_null(getUrlSegment(1))) ? 'action_index' : 'action_'.getUrlSegment(1);
if(file_exists('core/controllers/'.$cntrName.'.php')){
    require_once 'core/controllers/'.$cntrName.'.php';
    if(function_exists($actionName)){
        $actionName();
    }else{
        show404page();
    }
}else {
    show404page();
}

В контроеллере:

    <?php
    function action_index(){
        if(is_auth()){
            echo 'INDEX PAGE';
        }else{
            echo 'Hello guest!';
        }
}
    function action_contact(){
    echo 'CONTACT PAGE';
}
    function action_registration(){
        if($_SERVER['REQUEST_METHOD'] == 'POST'){
            $formData = [
                'login' => getSaveData(htmlspecialchars(trim($_POST['login']))),
                'password' => getSaveData(trim($_POST['password'])),
                'email' => getSaveData(trim($_POST['email']))
            ];
            $rules = [
                'login' => ['required', 'login'],
                'password' => ['required','password'],
                'email' => ['required','email']
            ];
            $errors = validateForm($rules, $formData);
            if(empty($errors)){
                $formData['password'] = md5($formData['password'].SECRET_KEY);
            //$sql = "INSERT INTO `user` (`login`, `password`, `email`) VALUES ('{$formData['login']}','{$formData['password']}','{$formData['email']}') ON DUPLICATE KEY UPDATE login='{$formData['login']}', password='{$formData['password']}', email='{$formData['email']}'";
            $sql = "INSERT INTO `user`(`login`, `password`, `email`) VALUES ('{$formData['login']}','{$formData['password']}','{$formData['email']}')";
            $sql1 = "SELECT id FROM user WHERE login='{$formData['login']}' or email='{$formData['email']}'";
            $res = selectData($sql1);
            if($res->num_rows === 0){
            }
            if(insertUpdateDelete($sql)) {
                header("Location: /main/successReg");
            }else{
                    echo 'Пользователь с таким логином или почтой уже существует. :(';
                }
            }
        }
        renderView('registration');
    }
    function action_successReg(){
        echo 'Поздравляем!';
    }
    function action_login()
    {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $formData = [
                'login' => getSaveData(htmlspecialchars(trim($_POST['login']))),
                'password' => getSaveData(trim($_POST['password'])),
            ];
            $formData['password'] = md5($formData['password'] . SECRET_KEY);
            $sql = "SELECT id FROM user WHERE login='{$formData['login']}' and password='{$formData['password']}'";
            $res = selectData($sql);
            if ($res->num_rows === 0) {
                echo 'Некоректный логин или пароль!';
            } else {
                $_SESSION['user'] = mysqli_fetch_assoc($res);
                header('Location: /');
            }
        }
        renderView('login', []);
    }
    function action_logout(){
        session_unset();
        session_destroy();
        header('Location: /');
    }
Answer 1

надо исправить Notice:

function getUrlSegment($num){
    $url = (isset($_GET['url'])) ? strtolower($_GET['url']) : null;
    $urlSegments = explode('/',$url);
    return (isset($urlSegments[$num])) ? $urlSegments[$num] : null;
}
READ ALSO
Не получается обработать POST данные node.js

Не получается обработать POST данные node.js

Ребят, объясните, пожалуйста, что я делаю не так?

395
Многоточие, когда много пунктов в меню

Многоточие, когда много пунктов в меню

Сейчас генерирую ссылки на страницы меню таким кодом:

389
Помогите определить CMS или Framework сайта

Помогите определить CMS или Framework сайта

Возникла задача поднять сайтДоступ по FTP есть, однако для настройки nginx необходимо понять какой CMS или Framework используется

347