Параметр GET PHP [дубликат]

Oct 21 2020

У меня есть веб-сайт HTML / PHP (HTML-код внутри моего .php)

Я использую метод $ _GET ["name"], чтобы я мог написать имя моего гостя в отправляемой мной ссылке (например, mywebsite.com/index.php?name=Mike). Вот код, который я использую:

<p class="guest_info"> 
        <?php echo " " . $_GET["name"]; ?> 
        <img alt="account_avatar" src="./index_files/avatar.svg">
        </p>    

Теперь я бы хотел, чтобы это имя было реализовано на разных страницах. Моя текущая проблема заключается в том, что если я даю ссылку и после щелчка по другой странице моего веб-сайта, ["имя"] не сохраняется. Я хотел бы сохранить имя, используемое в первом заданном URL-адресе во время навигации, и если я изменю имя в ссылке, оно автоматически изменит и страницы.

Спасибо за помощь

Ответы

2 GrumpyCrouton Oct 21 2020 at 01:42

Вы должны использовать сеанс PHP или куки-файл браузера .

Используя маршрут сеанса, в начале своей страницы обязательно добавьте session_start().

Затем вы можете сохранить значение как значение сеанса.

if(array_key_exists('name', $_GET) && !array_key_exists('name', $_SESSION)) {
    $_SESSION['name'] = $_GET['name'];
}

Теперь, в любом месте после этого кода, вы можете использовать $_SESSION['name']для доступа к значению, пока сохраняется сеанс.

freefall Oct 21 2020 at 01:29

Для того $_GET['name'], чтобы переходить от страницы к странице, вам нужно продолжать передавать его в строке запроса URL. Например, примерно так:<a href="index.php?name=<?php echo $_GET['name']; ?>">Link</a>