Почему не происходит редирект и не подгружаются стили в PHP проекте?
Разбираюсь в проекте, написанном на 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
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: /');
начнем с этого
если у тебя проект находится в localhost/most, то редиректа корректного у тебя не будет, у тебя получается редирект на localhost/user/ а это уже за пределами твоего проекта...
Далее: похоже у тебя исходники не полные
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Есть несколько возможных причин, почему не происходит редирект и не подгружаются стили в 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]
3. Проверьте наличие ошибок в коде PHP, которые могут препятствовать выполнению редиректа или подгрузке стилей. Убедитесь, что в вашем коде нет синтаксических ошибок или ошибок логики, которые могут привести к нежелательному поведению.
4. Проверьте файлы .htaccess и php.ini на сервере. Убедитесь, что в них не прописаны запреты на выполнение редиректов или загрузку стилей.
Если после выполнения этих действий проблема остается, попробуйте обновить браузер или очистить кэш, так как иногда проблемы с редиректом и загрузкой стилей могут быть вызваны кэшированием данных в браузере. Если ничего не помогло, обратитесь к вашему хостинг-провайдеру или специалисту по веб-разработке для дальнейшей диагностики и решения проблемы.