Итак, я довольно новичок в PHP, я сделал и многому научился на основе консоли, поэтому я не начинаю программировать. Но я решил научиться работе с базой данных, потому что она всегда меня очаровала, и я изучил основные HTML и CSS и JS, а теперь и базовые PHP и SQL, но введение в действие становится странным.Использование нескольких файлов PHP, избегая цикла переадресации и повторной отправки
Я выяснил, как манипулировать и создавать базы данных через PHP-код и тому подобное, но все они были простыми и в одном файле, я собираюсь сделать более крупный проект, и мне нужно поместить все PHP в это отдельные файлы.
сказать, что мой 'index.php' файл так:
<!DOCTYPE html>
<html>
<head>
<?php include 'other.php' ?> //Problem 1
</head>
<body>
<FORM method="POST" action="other.php">
<INPUT type="text" name="textTest" value="<?php print $input; ?>">
<INPUT type="submit" name="subTest" value="TEST" >
</FORM>
</body>
</html>
и мой 'other.php' является:
<?php
$input = "";
if (isset ($_POST['subTest']))
{
$input = $_POST['textTest'];
//header("Location : index.php");
}
header("Location: index.php"); //Problem 2
?>
так что мои проблемы:
Проблема 1, если я не включаю файл «other.php», появляется ошибка при попытке распечатать: значение = «print $ input»
Проблема 2, если я не перенаправляю «заголовок», она явно не перенаправляется и возвращается к «index.php», который я хочу выполнить. НО с этим там происходит ошибка TOO_MANY_REDIRECT. Я обнаружил, что это проблема, вызванная включением, которое невозможно устранить по причинам 1-й причины.
Проблема 3, я узнал, что могу переместить функцию «заголовок» туда, где она закомментирована, но тогда значение = «...» не остается на представлении.
Проблема 4, если я полностью избавлюсь от перенаправления заголовка и изменим действие формы на index.php, я получаю сообщение «Подтвердить повторное заполнение формы», которое я хочу избежать.
Поэтому я надеюсь, что это глоток, который кто-то понимает и может помочь, и благодарю вас за продвинутый.
Попробуйте не смешивать логику (если isset (blah, blah, blah), то перенаправить) с выходом (HTML). Реорганизовать ваши файлы и выполнить всю необходимую обработку и принять все необходимые решения ** до ** любого выхода. Не включайте файлы, которые обрабатывают данные из файлов, выводящих HTML; делайте это наоборот. – axiac
После того, как вы пробовали простой образец дизайна, как MVC. – Ali