Сервер на хостинге не так обрабатывает код
Пишу сайт на локальном сервере с помощью программы Open Server Panel. Чтобы выйти с сайта и сбросить информацию о текущем пользователе я делаю форму с кнопкой с неким value, перекидывающей на эту же форму. Но так как она после перенаправления уже видит $_GET!=null, то я стираю сессию и перенаправляю на предыдущую страницу
print_r("<form method='get' action='текущая страница.php'><input name='ex' type='submit' value='Выйти'/></form>");$ex=$_GET['ex'];if($ex!=null){unset($_SESSION['nam']);unset($_SESSION['id']);header("Location: index.php");}
На локальном сервере все работает хорошо, но после того, как закинул сервер на хостинг, кнопка перестала работать, хотя код идентичен. Сессия сбрасывается, но не перекидывает на любые другие страницы
Полный код. использую бесплатный хостинг timeweb
<?php
session_start();
$nam=$_SESSION['nam'];
unset($_SESSION['id']);
unset($_SESSION['nam']);
require "head.php";
?>
<style>
#rasp{
font-family:"Bahnschrift";
font-size: 35px;
margin: 15% auto 0 550px;
float:left;
}
#regis{
font-family:"Bahnschrift";
font-size: 35px;
margin: 15% 550px 0 auto;
float:right;
}
header{
margin-top:20px;
}
body {
background-color: #e5dbd4;
}
</style>
</head>
<body>
<?php
?>
<div align="right" style="margin: 3px 5% 0 0;"><?php print_r($nam);print_r("<form method='get' action='GeneralPageAdm.php'><input name='ex' type='submit' value='Выйти'/></form>");$ex=$_GET['ex'];if($ex!=null){unset($_SESSION['nam']);unset($_SESSION['id']);header("Location: entranceReg.php");exit;}//мб удалит все сессии. надо попробовать через unset?>
</div>
<div id="rasp" align="center">
<a href="rasp.php" id="genpage">
<img src="https://images/rasp.png" width="-1" height="-1" alt = "false|false"/>Расписание</a>
</div>
<div id="regis" align="center">
<a href="entranceReg.php" id="genpage">
<img src="https://images/reg.png" width="-1" height="-1" alt = "false|false"/>Регистрация</a>
</div>
</body>
</html>
Починил используя вместо header:location
echo "<script>document.location.href = 'index.php'</script>";
Проблема, с которой вы столкнулись, скорее всего связана с настройками сервера на хостинге. Некоторые бесплатные хостинги могут иметь ограничения или специфические требования к обработке кода PHP и перенаправлению.
Тебе нужно обратиться к хостинг провайдеру чтобы включили эту поддержку
А на платных всегда сможешь попросить техподдержка всегда сделает
на бесплатных хостинга либо не делает совсем либо делает это очень медленно
Код полностью в студию!
какой сервер?