GET parametro PHP [duplicato]

Oct 21 2020

Ho un sito Web HTML / PHP (codice HTML all'interno del mio .php)

Sto usando il metodo $ _GET ["name"] in modo da poter scrivere il nome del mio ospite nel link che invio (ad esempio: mywebsite.com/index.php?name=Mike). Ecco il codice che utilizzo:

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

Ora, vorrei che questo nome fosse implementato nelle diverse pagine. Il mio problema attuale è che se fornisco il collegamento e dopo aver cliccato su un'altra pagina del mio sito web, il ["nome"] non viene salvato. Vorrei salvare il nome utilizzato nel primo URL fornito durante la navigazione e, se cambio il nome nel collegamento, cambierà automaticamente anche le pagine.

Grazie dell'aiuto

Risposte

2 GrumpyCrouton Oct 21 2020 at 01:42

Dovresti usare una sessione PHP o un cookie del browser .

Utilizzando il percorso della sessione, all'inizio della pagina, assicurati di aggiungere session_start().

Quindi è possibile memorizzare il valore come valore di sessione.

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

Ora, ovunque dopo quel codice, puoi utilizzare $_SESSION['name']per accedere al valore finché la sessione persiste.

freefall Oct 21 2020 at 01:29

Per $_GET['name']persistere da una pagina all'altra, è necessario continuare a passarlo nella stringa di query dell'URL. Ad esempio, qualcosa del genere:<a href="index.php?name=<?php echo $_GET['name']; ?>">Link</a>