Я использую XAMPP для подключения БД с помощью PHP myadmin и тестовой веб-страницы, которая работает на локальном веб-сервере через Apache.Я загрузил все файлы в папку htdocs.Когда я сейчас запускаю веб-страницу и пытаюсь «зарегистрироваться» для этой фиктивной страницы на локальном хосте, браузер выдает сообщение об ошибке: ERR_TOO_MANY_REDIRECTS.В общем, данные, которые я отправляю с помощью «кнопки регистрации», записываются в БД, которую я могу проверить через консоль PHP myadmin.
Я думаю, что это проблема htacess, и у меня есть вопросы по этому поводу.
Где должен быть файл htacess?В том же каталоге с моими другими файлами?Что должно быть в файле htacess?Я не хочу загружать его в Интернет, так что это просто для целей обучения и должно оставаться в localhost.
Я надеюсь, что смогу описать проблему достаточно хорошо.Сначала мой индексный файл:
<?php
session_start();
$error = "";
if(array_key_exists("logout", $_GET)){
unset($_SESSION);
setcookie("id", "", time() - 60*60);
$_COOKIE["id"] = "";
}else if(array_key_exists("id",$_SESSION) OR array_key_exists("id", $_COOKIE)){
header("Location: loggedinpage.php");
}
if(array_key_exists("submit", $_POST)){
include("connection.php");
if(!$_POST['email']){
$error .= "Die Emailadresse fehlt<br>";
}
if(!$_POST['password']){
$error .= "Passwort wird benötigt<br>";
}
if($error != ""){
$error = "<p>Es gab Fehler in deinem Formular</p>".$error;
}else {
if($_POST['signUp'] == '1'){
$query = "SELECT id FROM users WHERE email = '".mysqli_real_escape_string($link, $_POST['email'])."' LIMIT 1";
$result = mysqli_query($link, $query);
if(mysqli_num_rows($result) > 0){
$error = "Diese email ist bereits vergriffen.";
}else{
$query = "INSERT INTO users (email, password) VALUES ('".mysqli_real_escape_string($link, $_POST['email'])."',
'".mysqli_real_escape_string($link, $_POST['password'])."')";
if(!mysqli_query($link, $query)){
$error = "<p>Registrieren hat nicht funktioniert, versuche es später noch einmal.</p>";
}else{
$query = "UPDATE users SET password = '".md5(md5(mysqli_insert_id($link)).$_POST['password'])."' WHERE id = ".mysqli_insert_id($link)." LIMIT 1";
mysqli_query($link, $query);
$_SESSION['id'] = mysqli_insert_id($link);
if($_POST['stayLoggedIn'] == '1'){
setcookie("id", mysqli_insert_id($link), time() + 60*60*24*365);
}
header("Location: loggedinpage.php");
}
}
}else if($_POST['signUp'] == '0'){
$query = "SELECT * FROM users WHERE email = '".mysqli_real_escape_string($link, $_POST['email'])."'";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
if(isset($row)){
$hashedPassword = md5(md5($row['id']).$_POST['password']);
if($hashedPassword == $row['password']){
$_SESSION['id'] = $row['id'];
if($_POST['stayLoggedIn'] == '1'){
setcookie("id", mysqli_insert_id($link), time() + 60*60*24*365);
}
header("Location: loggedinpage.php");
}else{
$error = "Deine Email Passwort Kombination konnte nicht gefunden werden.";
}
}else{
$error = "2 Deine Email Passwort Kombination konnte nicht gefunden werden.";
}
}
}
}