Sessione che mantiene il nome

Ho messo questa sessione ma non funziona, cosa ho sbagliato? In pratica vorrei che quando il form viene rispedito indietro (perchè il campo non era compilato giusto) il campo mi mantenga ciò che era scritto prima dell'invio ma invece riappare vuoto

session_start();

$_SESSION['nome'] = $_POST['nome'];

inviato 8 anni fa
php
php
6
X 0 X

Quelle istruzioni sono sufficienti a memorizzare i dati inseriti dall'utente ma non permettono di mostrare nuovamente i dati precedentemente inseriti.

Nel form dovresti avere qualcosa del genere:

<input name="nome_campo" value="<?php echo htmlspecialchars($_SESSION['nome'])?>" type="text">

Alla prima visualizzazione del form però $_SESSION['nome'] sarebbe inesistente e questo genererebbe un NOTICE, per cui potresti inizializzare $_SESSION['nome'] = ""; ma solo alla prima visualizzazione, altrimenti ogni volta cancelli il contenuto!!!

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
modificato 8 anni fa
X 0 X

Ho messo cosi ma non mantiene niente neanche la prima volta

<input class="nomiGuest" name="nome" value="<?php echo htmlspecialchars($_SESSION['nome'])?>" size="30"  type="text" maxlength="15" onblur="this.value=this.value.replace(/\s*$|^\s*/,'')" />  <!-- E' il Trim di js (onblur rimuove subito in modo visibile spazi prima e alla fine)  -->
risposto 8 anni fa
php
php
6
modificato 8 anni fa
X 0 X

Ora sembra funzionare al ritorno mantiene i dati

<..value="<?php echo htmlspecialchars($_SESSION['nome'])?>..>

se invece metto  $SESSION['nome']="" al ritorno il campo è vuoto.

Poi, ho notato che se aggiorno la pag con F5 nel campo appare un vecchio valore, cioè non rimane vuoto, ma questo solo se aggiorno la pagina.

Cos'è il NOTICE?

risposto 8 anni fa
php
php
6
X 0 X

Un errore di tipo E_NOTICE è il meno grave degli errori che PHP può segnalare

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Un errore di tipo E_NOTICE è il meno grave degli errori che PHP può segnalare

 :bye:

Ah, non mi esce quell'errore

risposto 8 anni fa
php
php
6
X 0 X

Probabilmente perché la tua configurazione di PHP li disabilita. Comunque è buona norma scrivere codice "NOTICE free".

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Probabilmente perché la tua configurazione di PHP li disabilita. Comunque è buona norma scrivere codice "NOTICE free".

 :bye:

Cos'è? dove lo scrivo? Cosa avviene scrivendolo, fammi un'esempio   :wallbash:

risposto 8 anni fa
php
php
6
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda