Почему не происходит редирект и не подгружаются стили в PHP проекте?

Ссылка скопирована
1 ответ

Разбираюсь в проекте, написанном на PHP, честно говоря не работал с PHP ранее, поэтому решил обратиться сюда.
Проект представляет собой платформу для онлайн курса с авторизацией, личным кабинетом и т.п.
Проблема в том, что после настройки XAMPP (MySQL, Apache, Filezilla) включены, базу уже добавил. а страница пустая и не происходит редиректа на страницу логина и не подгружаются стили CSS.
Например, пишу в строке "http://localhost/most/" - не происходит редиректа.
Вот сам код index.php:

<? include "./config/core.php";  	if (isset($_GET['c'])) header('location: /user/sign.php?id='.$_GET['c']); 	else header('location: /user/');

<? include "./config/core.php"; if (isset($_GET['c'])) header('location: /user/sign.php?id='.$_GET['c']); else header('location: /user/');

Файл .htaccess

AddDefaultCharset utf-8    ErrorDocument 404 /404.php

AddDefaultCharset utf-8 ErrorDocument 404 /404.php

core.php:

<?php session_start();  // Enable error reporting ini_set('display_errors', 1); error_reporting(E_ALL);  $host = 'localhost'; $dbname = 'most_db'; $username = 'root'; $password = '';  try {     $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);     $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);     echo "Database connection successful."; } catch (PDOException $e) {     die("Error connecting to the database: " . $e->getMessage()); }  define('BASE_URL', 'http://localhost/most/'); ?>

<?php session_start(); // Enable error reporting ini_set('display_errors', 1); error_reporting(E_ALL); $host = 'localhost'; $dbname = 'most_db'; $username = 'root'; $password = ''; try { $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Database connection successful."; } catch (PDOException $e) { die("Error connecting to the database: " . $e->getMessage()); } define('BASE_URL', 'http://localhost/most/'); ?>

Если перехожу на "http://localhost/most/user/sign.php", то выходит просто голая разметка, без CSS.
При необходимости могу предоставить исходники проекта.

Дополнительно:

Ну так а что у тебя в папке /user? У тебя редирект срабатывает, но вот дальше нужно смотреть код, допустим /user/index.php

  • Сергей, папки acc, admin, all, cours, item, lesson, my, setting, файлы: exit.php, get.php, index.php, sign.php

    Sign.php выглядит так:
    <? include "../config/core.php";
    // link
    if ($user_id) header('location: /user/cours/');
    if ($user_id && isset($_GET['id'])) header('location: /user/item/?id='.$_GET['id']);
    // site setting
    $menu_name = 'sign_in';
    $site_set['header'] = false;
    // $site_set['footer'] = false;
    $site_set['cl_wh'] = true;
    $css = ['user'];
    $js = ['user'];
    ?>
    <? include "../block/header.php"; ?>

    <?=$site['name']?>

    Платформаға кіру
    Сізге доступ берілген номер мен
    код арқылы кіресіз

    Кіру

    Код есімде емес?

    60

    <? include "../block/footer.php"; ?>

    Index.php:
    <? include "../config/core.php";
    if (!$user_id) header('location: /user/sign.php');
    else header('location: /user/cours/');

    Get.php:
    <? include "../config/core.php";
    // login
    if(isset($_GET['login'])) {
    $phone = strip_tags($_POST['phone']);
    $m_code = strip_tags($_POST['code']);
    // $password = strip_tags($_POST['password']);
    $user = db::query("SELECT * FROM user WHERE phone = '$phone' and phone is not null");
    if (mysqli_num_rows($user)) {
    $user_d = mysqli_fetch_assoc($user);
    // if ($password == '000000') {
    // $_SESSION['uph'] = $phone;
    // $_SESSION['upc'] = $password;
    // setcookie('uph', $phone, time() + 3600*24*30*6);
    // setcookie('upc', $password, time() + 3600*24*30*6);
    // echo 'yes';
    // } else echo 'none';
    if ($user_d['sms']) {
    } else {
    $mess = " | Тексеру коды: $code";
    $sms_send = list($sms_id, $sms_cnt, $cost, $balance) = send_sms($phone, $mess, 0, 0, 0, 0, false);
    if ($sms_send[1] <= 4) {
    $ubd = db::query("UPDATE `user` SET `code`='$code', `sms`=1 WHERE phone = '$phone'");
    echo "code_add";
    } else echo "error";
    }
    } else echo 'none';
    exit();
    }

    // pass_reset
    if(isset($_GET['pass_reset'])) {
    $phone = strip_tags($_POST['phone']);
    $user = db::query("SELECT * FROM user WHERE phone = '$phone'");
    if (mysqli_num_rows($user)) {
    $mess = " | Тексеру коды: $code";
    $sms_send = list($sms_id, $sms_cnt, $cost, $balance) = send_sms($phone, $mess, 0, 0, 0, 0, false);
    if ($sms_send[1] == 1) {
    $ubd = db::query("UPDATE `user` SET `code`='$code', `sms`=1 WHERE phone = '$phone'");
    echo "yes";
    } else echo "error";
    } else echo 'none';
    exit();
    }

    // phone sms
    if(isset($_GET['phone_sms'])) {
    $phone = strip_tags($_POST['phone']);
    $user = db::query("SELECT * FROM user WHERE phone = '$phone'");
    if (mysqli_num_rows($user)) {
    $user_d = mysqli_fetch_assoc($user);
    if (!$user_d['sms']) {
    $mess = " | Тексеру коды: $code";
    $sms_send = list($sms_id, $sms_cnt, $cost, $balance) = send_sms($phone, $mess, 0, 0, 0, 0, false);
    if ($sms_send[1] <= 4) {
    $ubd = db::query("UPDATE `user` SET `code`='$code', `sms`=1 WHERE phone = '$phone'");
    echo "yes";
    } else echo "error";
    }
    } else echo 'none';
    exit();
    }

    //
    if(isset($_GET['add_user_img'])) {
    $path = '../assets/uploads/users/';
    $allow = array();
    $deny = array(
    'phtml', 'php', 'php3', 'php4', 'php5', 'php6', 'php7', 'phps', 'cgi', 'pl', 'asp',
    'aspx', 'shtml', 'shtm', 'htaccess', 'htpasswd', 'ini', 'log', 'sh', 'js', 'html',
    'htm', 'css', 'sql', 'spl', 'scgi', 'fcgi', 'exe'
    );
    $error = $success = '';
    $datetime = date('Ymd-His', time());

    if (!isset($_FILES['file'])) $error = 'Файлды жүктей алмады';
    else {
    $file = $_FILES['file'];
    if (!empty($file['error']) || empty($file['tmp_name'])) $error = 'Файлды жүктей алмады';
    elseif ($file['tmp_name'] == 'none' || !is_uploaded_file($file['tmp_name'])) $error = 'Файлды жүктей алмады';
    else {
    $pattern = "[^a-zа-яё0-9,~!@#%^-_$?(){}[].]";
    $name = mb_eregi_replace($pattern, '-', $file['name']);
    $name = mb_ereg_replace('[-]+', '-', $name);
    $parts = pathinfo($name);
    $name = $datetime.'-'.$name;

    if (empty($name) || empty($parts['extension'])) $error = 'Файлды жүктей алмады';
    elseif (!empty($allow) && !in_array(strtolower($parts['extension']), $allow)) $error = 'Файлды жүктей алмады';
    elseif (!empty($deny) && in_array(strtolower($parts['extension']), $deny)) $error = 'Файлды жүктей алмады';
    else {
    if (move_uploaded_file($file['tmp_name'], $path . $name)) $success = 'Файл «' . $name . '» успешно загружен.';
    else $error = 'Файлды жүктей алмады';
    }
    }
    }

    if (!empty($error)) $error = ''.$error.'';

    $data = array(
    'error' => $error,
    'success' => $success,
    'file' => $name,
    );

    header('Content-Type: application/json');
    echo json_encode($data, JSON_UNESCAPED_UNICODE);

    exit();
    }

    // user edit
    if(isset($_GET['user_edit'])) {
    $name = strip_tags($_POST['name']);
    $surname = strip_tags($_POST['surname']);
    $age = strip_tags($_POST['age']);
    $img = strip_tags($_POST['img']);
    $code = strip_tags($_POST['code']);

    if ($name) $upd = db::query("UPDATE `user` SET `name`='$name' WHERE id = '$user_id'");
    if ($surname) $upd = db::query("UPDATE `user` SET `surname`='$surname' WHERE id = '$user_id'");
    if ($age) $upd = db::query("UPDATE `user` SET `age`='$age' WHERE id = '$user_id'");
    if ($img) $upd = db::query("UPDATE `user` SET `img`='$img' WHERE id = '$user_id'");
    if ($code) $upd = db::query("UPDATE `user` SET `code`='$code' WHERE id = '$user_id'");

    echo "yes";
    exit();
    }

    // // user edit
    // if(isset($_GET['user_edit'])) {
    // $name = strip_tags($_POST['name']);
    // $surname = strip_tags($_POST['surname']);
    // $age = strip_tags($_POST['age']);
    // $code = strip_tags($_POST['code']);

    // $upd = db::query("UPDATE `user` SET `name`='$n_name', `surname`='$surname', `sex`='$sex', `age`='$age', `mail`='$mail', `phone`='$phone', `password`='$password', `upd_date`='$date' WHERE id = '$user_id'");

    // $_SESSION['uph'] = $phone;
    // $_SESSION['upm'] = $mail;
    // $_SESSION['ups'] = $password;
    // setcookie('uph', $phone, time() + 3600*24*30);
    // setcookie('upm', $mail, time() + 3600*24*30);
    // setcookie('ups', $password, time() + 3600*24*30);

    // echo "yes";
    // exit();
    // }

    Exit.php:
    <?php include "../config/core.php";

    $core->user_unset();
    header('location: /');

  • Если тут не удобно читать, могу отправить вам в тг, помогите пожалуйста, уже 3-й день мучаюсь, не могу запустить проект
  • Вот ссылка на github: https://github.com/diablo150/most
  • diablo1155,
    начнем с этого

    Почему не происходит редирект и не подгружаются стили в PHP проекте?

    если у тебя проект находится в localhost/most, то редиректа корректного у тебя не будет, у тебя получается редирект на localhost/user/ а это уже за пределами твоего проекта...

    Далее: похоже у тебя исходники не полные

    Почему не происходит редирект и не подгружаются стили в PHP проекте?

  • Т.е. нет смысла дебажить код, все равно исходники не полные?
  • diablo1155, агась
  • Код вставляйте через кнопку в форме </>
  • Этому коду лет 15. Древний как мамонт
  • Дмитрий, это да! )))
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Никита Орлов Ответ

    Есть несколько возможных причин, почему не происходит редирект и не подгружаются стили в PHP проекте. Вот некоторые из них:

    1. Проверьте правильность путей к файлам стилей. Убедитесь, что пути указаны правильно и соответствуют фактическому расположению файлов на сервере. Например, если стили находятся в папке "css" на вашем сервере, то путь к файлу стилей должен быть указан как "/css/style.css".

    2. Убедитесь, что файл .htaccess настроен правильно для выполнения редиректов. Проверьте, что в нем прописаны правила для перенаправления запросов на нужные страницы. Например, для выполнения редиректа с www на без www, можно использовать следующее правило:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.example.com [NC]
    RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

    RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

    3. Проверьте наличие ошибок в коде PHP, которые могут препятствовать выполнению редиректа или подгрузке стилей. Убедитесь, что в вашем коде нет синтаксических ошибок или ошибок логики, которые могут привести к нежелательному поведению.

    4. Проверьте файлы .htaccess и php.ini на сервере. Убедитесь, что в них не прописаны запреты на выполнение редиректов или загрузку стилей.

    Если после выполнения этих действий проблема остается, попробуйте обновить браузер или очистить кэш, так как иногда проблемы с редиректом и загрузкой стилей могут быть вызваны кэшированием данных в браузере. Если ничего не помогло, обратитесь к вашему хостинг-провайдеру или специалисту по веб-разработке для дальнейшей диагностики и решения проблемы.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно