POBIERZ parametr PHP [zduplikowany]

Oct 21 2020

Mam witrynę HTML / PHP (kod HTML w moim .php)

Używam metody $ _GET ["name"], dzięki czemu mogę wpisać imię i nazwisko gościa w wysyłanym przeze mnie łączu (na przykład: mywebsite.com/index.php?name=Mike). Oto kod, którego używam:

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

Teraz chciałbym, aby ta nazwa została zaimplementowana na różnych stronach. Mój obecny problem polega na tym, że jeśli podam link i po kliknięciu na inną stronę mojej witryny, ["nazwa"] nie zostanie zapisana. Chciałbym zapisać nazwę używaną w pierwszym podanym adresie URL podczas nawigacji, a jeśli zmienię nazwę w linku, to automatycznie zmieni również strony.

Dzięki za pomoc

Odpowiedzi

2 GrumpyCrouton Oct 21 2020 at 01:42

Powinieneś użyć sesji PHP lub pliku cookie przeglądarki .

Korzystając z trasy sesji, na początku strony pamiętaj, aby dodać session_start().

Następnie możesz zapisać tę wartość jako wartość sesji.

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

Teraz, gdziekolwiek po tym kodzie, możesz użyć, $_SESSION['name']aby uzyskać dostęp do wartości, dopóki sesja będzie się utrzymywać.

freefall Oct 21 2020 at 01:29

Aby $_GET['name']utrzymać się ze strony na stronę, musisz nadal przekazywać go w ciągu zapytania URL. Na przykład coś takiego:<a href="index.php?name=<?php echo $_GET['name']; ?>">Link</a>