У меня есть NAS (QNAP), где размещены все мои файлы, и перенаправление PHP после успешного входа пользователя не работает так, как должно. Это код:
<?php
session_start();
$host = "ip:port";
$user = "root";
$password = "admin";
$db = "segnalazioni";
$conn = mysqli_connect($host, $user, $password, $db);
$errore = "Tentativo di accesso non valido";
$errorNoUsername = "Inserire i dati per loggare";
if(isset($_POST['username'])){
$userUsername = $_POST['username'];
$userPassword = $_POST['password'];
$sql = "SELECT * FROM utenti WHERE username='".$userUsername."' AND password = '".$userPassword."'";
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result)==1){
$_SESSION['username'] = $userUsername;
header('location: main.php');
} else {
echo $errore;
}
} else {
echo $errorNoUsername;
}
?>
Файл main.php находится в той же папке, что и эта страница (называемая login.php) на моем NAS. Соединение с БД работает нормально, я проверил его с помощью Echo, только редирект не работает. Тот же код на моей локальной машине (и с локальным хостом вместо ip и порта) также отлично работает, и мне удается перенаправить страницу. Проблема должна быть в пути к файлу (я думаю), но я не знаю, как правильно установить его. Все файлы находятся в этой папке в этом месте:
\ 192.168.x.x \ Web \ Verifiche
Примечание. Когда я пытаюсь использовать тот же код на локальном компьютере, используя xampp (или wamp, или что-то в этом роде), он работает так, как должен.
Для тех, кто интересуется, например, рекламой HTML до php, перенаправление не работает. Даже если мне все еще нужно понять, почему на моей локальной машине все работало нормально, даже если до этого у меня был HTML.
Других решений пока нет …