Originariamente inviato da leviathan
Ciao ragazzi, oggi sono in vena di fare molte domande :tongue:
Domanda 1: Mi dite perché si consiglia di scrivere gli array POST, GET e SESSION con le virgolette?
Che differenza c'è tra queste 3 rappresentazioni
$_POST['username']
$_POST["username"]
$_POST[username]
Mi pare funzionano tutte e tre. Forse dipende se uso l'echo/print con apici singoli o doppi?
Più che altro sono convenzioni. Puoi scriverle come vuoi :-)
Ti consiglio sempre di concatenare le variabili con il testo attraverso l'uso del "." (es. echo "ciao " . $_POST['nome'])
Ricordati di fare sempre controlli sulle variabili che ricevi dall'esterno.
Domanda 2: Perché si scrive
Lo spazio per che cosa sta?
Non ci ho mai pensato, penso sia irrilevante :-)
Domanda 3: Io devo fare un modulo che in una textbox multilinea accetta un TEXT. Lo deve salvare in un campo del DB. Quindi questo testo deve essere visualizzato in una pagina HTML (per cui gli a capo diventano
gli spazi etc..) ma poi si deve anche poter modificare il testo riproducendolo correttamente in una textbox (senza vedere i campi
della visualizzazione in html).
Quali sono le funzioni che devo usare per le varie fasi (che so...tipo nl2br o htmlspecialchars ... ma non mi funziono...)
Codice PHP:
// converte i \n in
$campo = str_replace ("\n", "
", $campo);
// converte i
in \n
$campo = str_replace ("
", "\n", $campo);
Domanda 4: Io ho un form per inviare dei dati. Ho fatto in modo che lo script php controlli l'inserimento dei dati. Se si sbaglia qualcosa notifica un messaggio di errore e ho messo un link per tornare indietro....ma quando torno indietro mi perdo il contenuto dei campi!!! (Vorrei evitare di ristampare l'errore insieme a campi...invece che tornare indietro)
Come posso evitare questo? Io uso IE6 e sapevo che forse era un baco suo. Mi pare che bisognava mandare qualcosa nell'header...AIUTO!!!!!
Devi creare dinamicamente l'url per tornare indietro.
Ad esempio:
form.php?nome=marco&cognome=bianucci
Oppure, se nella pagina del form non ci sono nè sessioni nè altri tipi di variabili persistenti (come anche i cookie), puoi utilizzare semplicemente:
< a href ='javascript: history.back()'> da mettere come link per tornare indietro
Domanda 5: Io uso le sessioni...ma è normale che quando mi autentico e poi chiudo il browser e lo riapro...devo rifare il login? Come si può evitare la riautenticazione entro tot minuti? Forse usando i cookies (e nel caso quale è il codice migliore). Ma non esiste un settaggio delle sessioni che fa la stessa cosa? (sapete, non tutti accettano i cookies).
Normalissimo :-)
Le sessioni vivono all'interno delle istanze del browser. Se lo chiudi vengono perse.
Puoi aggirare questo problema salvando un cookie o incrociando cookie+database in maniera tale che, se una volta riaperto il browser l'utente viene riconosciuto, viene ricreata dinamicamente la sessione e l'utente non se ne accorge.