dati da tenere in sessione

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
So che l'argomento è stato già discusso in lungo e in largo, ma non capisco dove sbaglio.
Nella pagina contatti che ho fatto ho un semplice form con inserimento dati, un controllo in php con relativo echo per gli errori, e successivamente metto in sessione i dati, che mi porto dietro durante il codice per l'invio mail.
Nel caso in cui l'utente dovesse mancare dei dati o fossero diversi dalle condizioni che pongo vorrei che i dati inseriti rimanessero in sessione nel form e che possa poi correggerli. Questo il codice:
PHP:
	if(!isset($_POST['richiesta']) && ($_POST['richiesta'] <= 3)){
			$ok_ko.="Testo assente o troppo corto.<br />";
			echo "<meta http-equiv='Refresh' content='2; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";}

	if(!empty($ok_ko)) {
			$visibilità = "visible";
			echo"<div style='visibility: ".$visibilità."'; class='ok_ko'>".$ok_ko."</div>";
		}
	$_SESSION['messaggio'] 	= 		$messaggio;

questo è il codice interessato, diciamo che ho anche un dubbio sulla condizione AND. Nel caso metta la condizione OR mi da sempre errore anche quando inserisco più di 4 caratteri, cosa che non accade con AND ovviamente. Come potrei migliorarlo?
Dimenticavo, nella pagina in questione al primo rigo ho messo session_start() naturalmente.

Grazie
 

lucap.13

Nuovo Utente
18 Gen 2016
16
0
0
Personalmente ritengo che sia errata la base.
Le variabili di sessione vanno utilizzate per definire informazioni legate, appunto, alla sessione e non relative alle pagine in cui navigo. Io solitamente le uso solo le informazioni dell'utente che si collega, delle sua preferenze di visualizzazione e dei suoi permessi.

Per quanto riguarda la parte PHP del tuo codice la cosa strana che noto è che controlli che $_POST['richiesta'] sia <=3 ma non la sua lunghezza. (controlla cosa passi in $_POST['richiesta'] e se può tornarti utile http://www.w3schools.com/php/func_string_strlen.asp)

Inoltre secondo me per le validazioni delle form ti conviene dare un occhiata a jQuery validator http://jqueryvalidation.org/
con questo semplice plugin puoi intercettare il post della form, verificare che sia tutto corretto e solo allora proseguire.
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Per il discorso sessione vorrei che l'utente nel caso si dimenticasse dei dati e quindi avesse l'errore cliccando su indietro possa riavere i dati già inseriti senza doverli digitare nuovamente, per quanto riguarda il codice php per la verifica del testo diciamo che non è il massimo. D'altronde è una textarea quindi il testo è libero. Potrei controllare che non sia vuota nel caso. Quanto invece a jquery la validazione la faccio fare da HTML 5 con la voce required, potrei farlo anche diversamente ma al momento va bene così.

Volere è potere. Almeno penso...
 
Discussioni simili
Autore Titolo Forum Risposte Data
max75 query su due tabelle e dati doppioni MS Access 2
K Form che manda dati doppi PHP 1
T problemi con dati menu a tendina HTML e CSS 2
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
V dati scomparsi dal sito HTML e CSS 3
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
A Stampare dati da form PHP 15
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
F Scrivere dei dati in word con php PHP 0
otto9due $_FILE non passa i dati dal form PHP 1
N dati tabella non presi PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1
A Mostrare dati database per pagine PHP 2
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6
S Gestire scelta dropdown con dati da Mysql PHP 2
C Estrarre dati stringa Sql Database 1
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
W Evitare ridondanza dei dati Classic ASP 3
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
A Inserimento dati nel database tramite form + altre operazioni PHP 18
Alex_70 sql importazione dati MySQL 0
C Aggiungere blocco dati Javascript 6
G inserire dati automaticamente in mysql PHP 0
Tommy03 Unire dati da due tabelle MySQL 5

Discussioni simili