Cześć wszystkim. Mam stronę składającą się z kilkunastu podstron. Na każdej podstronie są stałe elementy: nawigacja oraz stopka. Używam Twiga, a mój główny szablon wygląda tak:
<!DOCTYPE html>
<html lang="pl">
<head>
{% block header %} {% endblock header %}
</head>
<body>
{% include "nav.html" %}
{% block content %} {% endblock content %}
{% include "footer.html" %}
<script src="log.js"></script>
</body>
</html>
Każda z moich podstron zawiera plik .php oraz plik .html. W plikach .html zawarte są kody stron przeznaczone do wstawienia między poszczególnymi includami w głównym szablonie. Pliki .php w większości wyglądają tak:
<?php
require_once 'lib/Twig/Autoloader.php';
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('temp');
$twig = new Twig_Environment($loader);
echo $twig->render('home.html');
?>
W nawigacji mam opcje "zaloguj się" i "zarejestruj się". Po kliknięciu przycisku "zarejestruj się" otwiera się okno zawierające formularz rejestracji (odpowiada za to kod js zawarty w pliku log.js; display:none; -> display: block;). Tam znajduje się kilka inputów do podania hasła, loginu itp. oraz przycisk zatwierdzający po kliknięciu, którego wykonuje się kod w rejestracja.php (wykonuje to za pomocą atrybutu action="register.php" wewnątrz znaczników formularza).
Chciałbym, aby po wykonaniu wszystkich działań w rejestracja.php (sprawdzenie poprawności inputów, wstawienie danych do bazy danych) otwierała się ponownie podstrona, na której został kliknięty przycisk "zarejestruj się". Jedna z osób na forum podpowiedziała mi już jak to zrobić, mianowicie powinienem mieć kod .php:
session_start();
if ( !isset( $_SESSION["origURL"] ) )
$_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
który zapisuje url aktualnej strony w sesji. Dzięki temu mógłbym użyć funkcji:
header('Location: '.$_SESSION["origURL"]);
Problem jest w tym, że kod ten musiałbym umieścić na każdej podstronie i najwyraźniej jest u mnie problem ze strukturą plików. Powinien być jeden plik wejściowy php.
Jak mogę to osiągnąć? Czy chodzi o to, żebym stworzył, np. plik main.php, który bym podpinał do każdego pliku .php dla każdej podstrony za pomocą require_once()?
Macie może jakiś schemat, jak prawidłowo tworzyć strukturę plików w .php?