PHP, как перезагрузить «требовать» включаемый файл после отправки в самоподачи форме - PullRequest
0 голосов
/ 14 октября 2018

Я делаю форму php самообработки.У меня есть header.inc и footer.inc, оба вызываются с требованием оператора.Моя проблема заключается в том, что мой заголовок использует переменную $ title, которую я хотел бы обновить после публикации.В настоящее время моя переменная меняется, и я могу повторить ее на странице ответа (спасибо), но заголовок не перезагружается, чтобы отразить это изменение.

Я понимаю, что могу назвать заголовок в своем главном файле PHP, но я надеялся найти способ перезагрузить файл require (header.inc) и продолжить обработку формы.

<?php

$title       = "XX";
$title2      = "Form";
$thisScript  = htmlspecialchars($_SERVER['PHP_SELF']);
require("htmlHead.inc");

function changeTitle()
{
$GLOBALS['title2'] = "Results";
}
changeTitle();

if (!isset($_POST['submit']))
{
echo <<<FORMDOC1
<form action="$thisScript" method="post" action=" " 
onSubmit="window.location.reload()">

 FORMDOC1;

 else
 {
  //random code
 }
 require("htmlFoot.inc");
 ?>

Файл header.inc, о котором идет речь:

 <?php
 echo "<!doctype html> <!-- Author:       $author -->\n";
 echo "<html lang=\"en\"><!-- Date Written: $dateWritten -->\n";
 echo "<head>          <!-- Description:  $description -->\n";
 echo "\t<title>$title</title>\n";
 echo "\t<title>$title2</title>\n";
 echo "\t<meta charset=\"utf-8\" />\n"; 
 echo "\t<link rel=\"stylesheet\" href=\"css.css\" />\n";
 echo "</head>\n";
 echo "<body>\n";
 echo "<div id=\"wrapper\">\n";
 echo "<h1>$title</h1>\n";
 echo "<h2>$title2</h2>\n";
 ?>

1 Ответ

0 голосов
/ 14 октября 2018

Вы устанавливаете заголовок после включения заголовка.Следовательно, значение еще не изменилось, когда php выводил содержимое заголовка.

Попробуйте следовать этой общей структуре

if(isset($_POST['submit')) {
  //process the form
  include('header.inc');
  //display confirmation

}
else {
  include('header.inc');
  //display the form
}

include('footer.inc');
...