blog con session si può fare?

  • Creatore Discussione Creatore Discussione max_400
  • Data di inizio Data di inizio

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
aggiugere dei messaggi accompagnati dalla data e ora
come si fa con un file txt avete presente i comandi fopen fwrite fclose?
una cosa del genere:

data: 10/08/2010 ore: 11:00 -
Messaggio da Max:ciao sono Max e
questo è il mio primo messaggio
.
data: 10/08/2010 ore: 11:05 -
Messaggio da Luca:ciao sono Luca e
questo è il mio primo messaggio
.


quindi in pratica un form che invia il messaggio e il nome dell'utente
che và sbattere le corna ad una pagina php che memorizza le variabili nella sessione

1 - data e ora
2 - nome utente
3 - messaggio

infine una pagina php per recuperare i dati
sicuramente si dovranno utilizzare una serie di include... penso...

Ho l'idea che mi frulla per la testa... :book: ma non riesco ad allacciare bene il tutto
forse voi avete già qualkosa di pronto...?

Da quando ho iniziato a lavorare mi sento un po rincoglionito... abbiate pazienza

i miei omaggi...
au revoir
by max :elvis:
 
ciao
da quello che ho capito hai un form in cui uno scrive il nome ed il messaggio, al submt mandi ad
una pag php che scrive i dati in un file txt.
come scrivere/leggere nel txt non saprei dirti esattamente perche è un metodo che non ho mai usato (uso solo i db)
comunque nel form io metterei solo il campo nome e messaggio, poi nel file riceve.php (o nella stessa pag del form)

PHP:
<?php
if(isset($_POST['Submit'])){
$nome=$_POST['nome'];
$messaggio=$_POST['messaggio'];
//tutte le verifiche del caso su nome e messaggio
$data=time();//leggo la data attuale in formato timestamp unix vedi nota
//registo i dati nel txt, che separatore usi?
$da_registrare=$data."|".$nome."|".$messaggio;
//e registro la variabile da_registrare
}
?>
per leggere estrai la variabile/i nella pag leggi.php (o nella stessa pag del form)

PHP:
<?php
//tutto quello che viene prima
$valori=explode("|",$estatto);
$data="messaggio inserito in data: ".date("d/m/Y",$valori[0])." ore: ".date("h:i:s",$valori[0]);
echo "$data<br>";
echo "da: ".$valori[1]."<br>";
echo "messaggio: ".$valori[2]."<br>";
?>
spero di aver capito giusto

nota
io uso sempre timestamp perchè e molto più comodo fare i calcoli e/o certe verifiche es.
per stampare gli ultimi messaggi if data_registrata > time()-(2*24*60*60), quindi solo i messaggi
vecchi massimo di due giorni
 
memorizzare nella session

ciao e grazie per la risposta...

non vedo però la parola session nel tuo script

guarda un po quest'esempio
http://maxgiulia.altervista.org/max/08-agosto/session/form-session.html
(questo form manda le 2 variabili ad una pagina php che le memorizza in una sessione)

http://maxgiulia.altervista.org/max/08-agosto/session/sessione-username.php
questa è la pagina di destinazione... essa riceve le variabili dal form e le memorizza nella sessione)

http://maxgiulia.altervista.org/max/08-agosto/session/recupero-dati.php
infine recupero le variabili memorizzate nella sessione

http://maxgiulia.altervista.org/max/08-agosto/session/session-destroy.php
ed ancora posso distruggere la sessione... quindi si cancella l'username e la password


==================altro esempio========
http://maxgiulia.altervista.org/max/08-agosto/session/contatoresessione.php
esempio di contatore ... ogni volta che fai aggiorna il numero aumenta

immagina anzichè quel numero che aumenta una serie di messaggi uno dopo l'altro
forse dovrei creare una serie di username nella sessione
tipo:
$_SESSION['username1'];
$_SESSION['messaggio1'];

$_SESSION['username2'];
$_SESSION['messaggio2'];

$_SESSION['username3'];
$_SESSION['messaggio3'];

e di conseguenza tanti form... non so se sia chiaro il concetto...
diventerebbe una specie di chat... ma considerando la lentezza dei vari messaggi
un blog sarebbe il termine più appropriato
 
ciao
per prima cosa quando usi le sessioni la prima riga (anzi la seconda dopo <?php) deve avere questa istruzione
if(!isset($_SESSION)){session_start ();}
o anche solo session_star();
ma io preferisco la prima, comunque in tutte le pagine in cui crei/leggi le sessioni devi avere quell'istruzione.
poi per passare in sessione un valore basta che tu faccia ad es.

$_SESSION['nome']=$_POST['nome'];
o per leggerlo echo $_SESSION['nome'];
una cosa da provare (ma che non ho mai provato con le sessioni, mentre con $_POST da campi form chiamati come array, ma adesso che mi è venuta l'idea provo a vedere se funzia) è uilizzarle con array doppio (al massimo prova) e cioè

$_SESSION['username'][0]=$username_0;
$_SESSION['username'][1]=$username_1
ecc...
e poi leggerele con un foreach
foreach($_SESSION['username'][ as $valore){
echo $valore;
}
se funzia sarebbe molto comodo per gestire un gruppo di sessioni

per distruggere tutte le sessioni
session_destroy();
per eliminarne una
unset($_SESSION['username']); dovrebbe eliminare tutte le ['username'][0], ['username'][1] ecc..
 
ciao funzia, vedi l'es.
PHP:
<?php
if(!isset($_SESSION)){session_start ();}
for($k=0;$k<5;$k++){
	$_SESSION['prova'][]="sessione ".$k;
}
foreach($_SESSION['prova'] as $valore){
	echo "$valore<br>";
}
?>
 
dunque io già ho fatto l'esempio

ho il problema della sovrascrittura
http://maxgiulia.altervista.org/max/08-agosto/session/recuperi.php
queste 2 righe sono state caricate con include

da questo form se provi ad inserire qualkosa tipo un user qualsiasi e il messaggio
il messaggio e l'user mike cambiano
http://maxgiulia.altervista.org/max/08-agosto/session/form-nome-messaggio2.html
___________________________________________
ho creato 2 form e 2 pagine php infine con include le ho inserite in un unica pagina
tra poco vedo il tuo script

anch'io è la prima volta che uso le sessioni... avevo la curiosità di vedere se le sessioni possono sostituire il database di mySQL o la scrittura su file txt in quest'ultima si usava l'attributo a+ per aggiungere testo
 
ho provato il tuo script

mi duplica i messaggi 5 volte
http://maxgiulia.altervista.org/max/08-agosto/session/session-array2.php

inoltre per ripulire la pagina?

questo è il form
Codice:
<form name="form1" method="POST" action="session-array2.php">
  <table border="1" cellspacing="0" cellpadding="0">
    
     <tr>
      <td>prova: </td>

      <td><input name="messaggio" type="text" ></td>
    </tr>
    <tr>
      <td colspan="2"><div align=center><input name="Submit" type="submit" value="Entra"> <input name="reset" type="reset" value="reset"></td>
    </tr>
  </table>
</form>

e questa la pagina di destinazione
Codice:
<?php
if(!isset($_SESSION)){session_start ();}
for($k=0;$k<5;$k++){
    $_SESSION['prova'][]="sessione". $_POST['messaggio'].$k;
}
foreach($_SESSION['prova'] as $valore){
    echo "$valore<br>";
}
session_destroy();
?>

ho combinato un paio di papocchi.... e poi come si cancella session_destroy non funziona? ... bò
 
ciao
non ho capito cosa vuoi dire con
ho il problema della sovrascrittura
poi per le sessioni: dipende se i valori ti servono solo ed esclusivamente quando l'utente è sul tuo sito puoi usare le sessioni, però il momento in cui l'utente esce dal sito e/o chiude il bw le sessioni si perdono.
non avevo visto il tuo script, ora lo provo.
comunque se metti dopo session_destroy() un if per verificare vedrai che la sessione non esite più

PHP:
<?php
if(!isset($_SESSION)){session_start ();}
for($k=0;$k<5;$k++){
    $_SESSION['prova'][]="sessione". $_POST['messaggio'].$k;
}
foreach($_SESSION['prova'] as $valore){
    echo "$valore<br>";
}
session_destroy();
if(isset($_SESSION['prova'])){
echo "la sessione NON è stata distrutta";
}else{
echo "la sessione NON esiste più";
}
?>
 
ok.. grazie per l'assistenza

però il momento in cui l'utente esce dal sito e/o chiude il bw le sessioni si perdono.

infatti è una cosa temporanea dopo un po di tempo si perdono i dati
peccato...

ultime 2 domande
1 - A cosa servono le sessioni? (penso per i login ma non basta un semplice if)
2 - Si possono creare + sessioni?

session_start() cancella la sessione precedente e allora mi domando
è necessario questo destroy

io ho provato unset per cancellare una sola variabile dentro la sessione ed è ok
mentre per il destroy avevo messo prima lo start e subito dopo destroy ed è ok

in conclusione avevo sta curiosità delle sessioni e della sua utilità
PHP è uno script molto interessante

- scrivere nei file txt html php
- collegarsi ai database
- le query che ti permettono un ordinamento tipo il numero più alto al primo posto
- mandare email con allegato
- il get che ti crea pagine dinamiche
- infine session (questo ancora non ne capisco bene l'utilità)

Ma quante altre cose si possono fare con php? :book:
Flash si integra bene con php per esempio potrei collegare flash con php
per la costruzione del messenger... basta mettere un refresh nella pagina php che deposita i messaggi... (una cosa che già ho fatto è funziona ora ne devo fare uno migliore aggiungendi il trillo)

Ogni informazione su php può essere molto importante... :book:

grazie per l'assistenza...
au revoir
by max :elvis:
 
ciao
Ma quante altre cose si possono fare con php?
tante, anche il caffè:)
1 - A cosa servono le sessioni? (penso per i login ma non basta un semplice if)
2 - Si possono creare + sessioni?

1-servono per esempio dopo il login per proteggere le pagine riservate
PHP:
<?php
session_start();
if(!isset($_SESSION['log'])){//verifico che nella pag di log sia stata creata la sessione
header(locaxion:index.php);//se no rimando alla index
}else{
echo "la combinazione della cassaforte è: 143647";
}
?>
2- si $_SESSION['pinco'] $_session['pallino']........
comunque le sessioni (e/o i cookie) servono per passare i dati da una pagina all'altra, in pratica se hai un sito di 100 pagine e nella prona crei una sessione, questa la puoi usare in tutte le altre pagine.
 
ok... grazie 1000

ho aperto una nuova discussione a proposito di un timer e una luce verde un led
che segna la tua presenza se sei collegato oppure no.

Io in flash posso costruire un timer che tramite pulsanti posso avviare o bloccare.

Poi alla fine quando il timer arriva a 0 un'azione tipo spegni il led in php si potrebbe fare una specie di scambio immagine....i dattagli qui :book:
http://forum.mrwebmaster.it/php/23679-gestire-timer-pulsanti.html
 

Discussioni simili