Intervista per TagliaBlog

Monday, 25 June 07
Qualche giorno fa mi hanno intervistato via email.

Penso che ne avete gia' abbastanza di me se leggete questo blog, ma se proprio volete rischiare una overdose... :)
3880 views*
Posted at 06:27:36 | permalink | 7 comments | print
Do you like this article?
Subscribe to the RSS feed of this blog or use the newsletter service in order to receive a notification every time there is something of new to read here.

Note: you'll not see this box again if you are a usual reader.

Comments

'u cummisaru writes:
29 Jun 07, 04:53:21
Ragazzi, ho bisogno del vostro aiuto!
So che quando si scrive un commento non si dovrebbe mai "andare fuori tema",
ma il 5 Luglio devo presentare questo esame all'universita' (sistemi informativi
, praticamente un sito dinamico in Php) e sono bloccato su un passaggio:
Ho 4 pagine .php che mi consentono di inserire dei dati in un database MySql
- la prima pagina php è un form che accoglie dati quali data, testo, ecc..
- la 2a pagina php li raccoglie, li elabora, e li manda alla terza...
- i dati, giunti alla 3a paginetta .php, vengono inseriti nel database
( l'inserimento è automatico, non c'è bisogno di cliccare su nessun 'button' )
- la 4a esegue un altro piccolo inserimento e Ti chiede se vuoi ritornare
alla prima pagina per inserire di nuovo altri dati.
( ci sarebbe una paginetta "numero zero" in cui l'utente si logga e parte una sessione
, ma non l'ha ancora bene bene implementata ).

Il mio problema è che ho implementato un sistema tramite il quale, giunti alla terza pagina,
viene fatta partire una sessione chiamata "inibisciRefresh" per la quale se la variabile
$inibisciRefresh vale 1 viene eseguita la query di inserimento dei dati appena arrivati,
e se invece faccio un REFRESH della pagina allora $inibisciRefresh viene incrementato, non ha più
valore == 1, e il sistema (tramite questa istruzione

if($GLOBALS[$inibisciRefresh"] == 1)
$lastKey = MIAeseguiQueryRitornaAray(X,Y)
else
die("Hai ricaricato la pagina. L'esecuzione della query è stata inibita")

) sa se eseguire o meno la query di inserimento..

..Ma quando ripeto il ciclo già dalla seconda volta, per tentare l'inserimento di un secondo
set di dati, mi succede che non riesco a resettare a zero la variabile di sessione $GLOBALS[$inibisciRefresh"]
e pertanto, quando giungo ogni altra volta alla 3a paginetta php (deputata all'esecuzionde della query "INSERT...)
il sistema conta già un valore $GLOBALS[$inibisciRefresh"] maggiore di 1 e IO NON POSSO PIU' ESEGUIRE ALCUN INSERIMENTO
a meno che non chiuda il browser (aka chiudo la sessione) e ricomincio da capo riaprendo il browser sulla prima pagina.

"Aiutatemi, vi prego"... come posso fare in modo che la sessione non mi ostacoli nel passare dalla 4a paginetta alla 1a
per tentare ogni altro inserimento successivo al primo..
..ringrazio tutti anche solo x la pazienza dedicata a leggere questo mia richiesta-aiuto_falso-commento.. Chiedo scusa ad
Antirez per aver "abusato" del suo spazio commenti..
..per ogni cosa, anche rimproveri del tipo "I C@##! TUOI TE LI SCRIVI SUL TUO SITO!!!" potete contattarmi a
mejoro at libero it
Ciao a tutti,
Grazie
davidonzo writes:
29 Jun 07, 14:29:21
Miiiiiiii come ti sei complicato la vita :D
Quattro file per una query?

Beh, nel primo file puoi distruggere la sessione.
Ma non sarebbe meglio fare soli due file?
Il primo con il form, il secondo con tutti i controlli del caso e, salvo controlli passati, l'inserimeno nel db.

Ad inserimento fatto, imposti una variabile di sessione in TRUE e reindirizzi la pagine alla pagina precedente, dove ci sarà un controllo che se trova la variabile di sessione settata in TRUE mostra un avviso di inserimento andato a buon fine, e sotto rimostra il form per un nuovo inserimento.

In questo caso puoi anche evitare di distruggere la variabile di sessione, perchè ad un nuovo inserimento di dati, questa verrà riscritta dal controllo finale.

PS: perchè non usare gli array super globali?

PS: antirez, distruggi pure il mio commento e scusa per l'OT :)
'u cummisaru writes:
29 Jun 07, 19:20:55
ci avevo pensato anch'io di distruggere la sessione quando ritornavo alla pagina 1, ma - sia che usassi session_unregister() o session_destroy() - quando rientravo nella 3a pagina.. quella continuava ancora a contare il valore della variabile di sessione (praticamente i refresh di quella pagina effettuati durante l'inserimento precedente E IN PIU' contava anche l'accesso appena effettuato per questo 2° nuovo inserimento)
..stramaledette sessioni ...stramaledetti cookie :P
'u cummisaru writes:
30 Jun 07, 12:55:35
TUTTO FATTO, TUTTO RISOLTO :D
Vorrei ringraziare Antirez per non aver subito cancellato questo mio commento e Davidonzo i cui consigli mi sono stati utili nel risolvere questo mio problemino con le sessioni.
:) Grazie
il voto di questa mia materia "sarà" in parte anche merito vostro :P
antirez writes:
01 Jul 07, 19:51:17
@all: scusate la mia poca attivita' in questa faccenda, sono stato e sono un po' incasinato in questo periodo! Comunque sono felice che ve la siete cavata da soli, grazie a davidonzo per l'aiuto dato, al cummisaru complimenti per la sua materia. Sono felice che questo spazio sia servito a qualcosa oltre che alle mie farneticazioni :)
'u cummisaru writes:
02 Jul 07, 04:28:18
se vi va, una volta passata la materia, posso mettere in rete il materiale (è una sorta di OkNotizie solo che, quando lo ideai, ancora non conoscevo il vostro servizio... e poi la mia versione è un po' più all'acqua di rose)
Fatemi sapere CIAO :)
'u cummisaru writes:
09 Jul 07, 13:40:21
oggi ho dato l'esame: sono andato in facoltà alle 10 e ho fatto l'orale alle 15.. per tutto il tempo NATURALMENTE ho atteso il mio turno.. naturalmente 'na cippa: tu professore perchè non prendi l'elenco di quelli che devono fare l'orale, ti fai 2 conti, e mi dici verso che ora mi conviene tornare! No, invece mi devi fare aspettare 5 ore!!
Comunque 30eLode e il prof stupito: gli ho solo fatto vedere una funzione che carica da un file esterno le diverse query e integra i parametri appropriati al caso.. e il prof mi fa: "non si smette mai di imparare!" (mah.. per così poco.. mah: meglio così) :D
comments closed