Le sessioni: ho dei dubbi sul posizionamento

  • Creatore Discussione Creatore Discussione VAik
  • Data di inizio Data di inizio

VAik

Utente Attivo
16 Apr 2016
117
3
18
ciao a tutti ragazzi
stavo leggendo la guida di php, in particolare sono arrivato alla lezione delle sessioni

Prima cosa da fare è quella di modificare il file php.ini


La prima cosa da fare se vogliamo lavorare con le sessioni è impostare nel file di configurazione del PHP ("php.ini") la direttiva session.save_path, indicando la directory nella quale verranno salvate le informazioni sulle sessioni dei nostri utenti (se avete un sito in hosting non dovete fare nulla in quanto questo tipo di configurazione è già stato effettuato dal vostro provider di servizi).

Se io utilizzo EASYPHP, riesco a trovare il file php, ma non capisco dove modificare session.save_path inserendo la directory


La guida dice :
La funzione session_start() deve essere necessariamente utilizzata prima dell'invio di output: nella parte precedente del nostro files .php non deve pertanto essere già stato scritto ed inviato del codice HTML (o altro tipo di output) il quale comprometterebbe il buon esito della nostra funzione.

cioè prima di qualsiasi comando echo o prin deve essere utilizzata la funzione session_start()?

e questo vale anche per il recupero dei dati? mi spiego meglio: sulla guida c'è un esempio di utilizzo delle sessioni p.r. dopo la definizione di session_start posso recuperare i dati da un form.
Prima di questa apertura di sessione possono esserci altri comandi echo o print?
 
ciao
session_star, prima del tag php non deve esserci nemmeno uno spazio, vedi es.
session_start.jpg
c'è anche altre possibilità, ma visto che stai imparando opera così
 
dimenticavo
la session_star va messa in tutte le pagini dove usi le sessioni.
la valorizzazione o il recupero della sessisione (con $_SESSION['nome']) puoi farlo dove vuoi
 
Grazie Borgo

ma ,per esempio, se devo visualizzare in una pagina cosa un utente ha scelto in un form ( per esempio la città da dove digita)

la session start () la devo mettere prima della visualizzazione?
 
ciao
sempre prima

PHP:
<?php
session_start();
$citta=$_POST['citta'];
echo "abito a $citta";
?>
mettendolo per prima si evitano errori, delle volte insidiosi, es. potrei fare così
PHP:
<?php
include "file.php";
session_start();
//....
?>
se sono sicuro che nel file.php non ci sia nemmeno un output html.
comunque facendo
PHP:
<?php
session_start();
include "file.php";
//....
?>
si è più sicuri
 
quindi si può riassumere anche dicendo che una struttura ammessa è:

(la tabella non la specifico bene, ma per far capire che voglio esprimere qualsiasi struttura della pagina, anche una tabella incui voglio visualizzare i dati del form)

PHP:
<?php

session_start()
?>

<html>
<head></head>

<body>

<p> </p>  <!--o qualunque altro codice html-->


<table>
<?php
//e qui estraggo e visualizzo i dati del form

?>
</table>


</body>
</html>
 

Discussioni simili