raga per quante prove faccio non riesco a capire sto php lato server ce qualche guida che parte dalle tecniche di base a quelle avanzate?
raga per quante prove faccio non riesco a capire sto php lato server ce qualche guida che parte dalle tecniche di base a quelle avanzate?
Ma possibile che non hai spulciato un po' il nostro beneamato sito?![]()
Nella sezione GUIDE di PHP.HTML.IT trovi davvero tanta roba.
Questo è il LINK.
Ti consiglio di dare un'occhiata per prima alle seguenti:
» Guida PHP/MySql pratica
» Guida PHP di base
e poi, in base al sistema che tu usi, vedere anche le guide di installazione per avere un ambiente di sviluppo per PHP nel tuo computer.
![]()
ho dato un occhiata in giro ma holetto cose semplici da fare
non e che volglio fare chissa cosa
ma vorrei capire come si fa e se possibile
dopo che un utente fa il login vorrei capire come si fa automaticamente ad inserire id dell utente il tempo e altre cose se servono:
io avevo pensato di creare una pagina php con i dati della connesione al db e poi fare un trecordset filtrato per $_MM_username cosi mi ricavavo i dati dell utente.
per inserirli in una tabella useronline mentre carica la pagina dopo il login tipo index
e in piu come fare una pagina update cioe che mi aggiorni solo il timestamp 1323243 ogni volta che cambia pagina.
per queste cose dovrei fare come nell esempio due pagine
e poi in tutte le pagine scrivere all inizionio? include xxx?
Allora.... un pezzo per volta!
Come prima cosa, in PHP (quasi) tutto è possibile, ma indubbiamente gli script vanno innanzi tutto progettati, poi abbozzati e quindi affinati.
1) La questione di registrare gli utenti credevo l'avessimo già affrontata in un altro post ed ero sicuro che avessi capito come farla.
2) Per sapere quanti utenti sono online hai necessità di un'altra tabella... chiamata (esempio fantasiosissimo) users_online.
La tabella sarà composta più o meno così:
La form del login dei tuoi utenti punterà ad una pagina php (chiamiamola accesso.php che svolgerà essenzialmente 3 funzioni:codice:## tabella users_online id INT NOT NULL AUTO INCREMENT nome_utente VAR_CHAR(100) accesso TIMESTAMP.
• query alla tabella utenti per controllare le credenziali di accesso;
• stabilito che l'utente può accedere, andare ad aggiornare la tabella users_online con nome utente e data/ora di accesso al sito;
• redirect alla pagina index di cui parli te.
3) Lo script per sapere il numero ed il nome degli utenti online è altrettanto semplice.
Questo codice lo scrivi in una pagina esterna all'interno di una funzione, richiami la pagina con include() e poi stampi la funzione nel punto della pagina dove è previsto il box che indica gli utenti online.Codice PHP:
$sql = "SELECT nome_utente, accesso FROM users_online";
$query = mysql_query($sql);
$num_utenti = mysql_num_rows($query);
echo "Numero utenti online: $num_utenti
<ul>
";
while ($fetch = mysql_fetch_array($query)) {
echo "[*]Nome Utente: ". $fetch['nome_utente'] ." - Online dalle:". date("d-m-Y HH:ii:ss", $fetch['accesso']) ." ";
}
echo "[/list]";
Tutto questo è ben spiegato in uno dei link che ti avevo postato (nella Guida Pratica PHP/Mysql alla lezione Ultime operazioni preliminari.
Ti avevo postato quei link, nel mio precedente messaggio, perché non sapendo il tuo grado di preparazione in PHP sono partito dal presupposto che "se vuoi fare un piatto di alta cucina, quantomeno un uovo lo devi sapere cuocere".
No????
![]()
grazie alcio
sei stato preciso
mi ero dimenticato io uso dreamweaver cs3 e a che creare query con sessioni, if, ecc cose che con le varie estensioni di dreamweaver puo fare semplicemente.
ti ringrazio lo stesso per lo script che hai scritto ma non e quello che cerco.
hai presente meetic e altri siti che quando un utente e online ti esce la classica scritta online now ho pallino verde ecc a me serve una cosa del genere che pero se dopo un tot di tempo l utente non fa nessuna azione e offline in un post che avevo scritto mi avevano accenato a qualcosa "timestamp<=timestamp +3000" ecc.
pero come faccio ad aggiornare il tempo ogni volta che un utente si muove ho pensato con un update sicuramente il prob e come devo scrivere il codice?
quando creo la tabella per i campi id e username ok nessun problema ma dove inserisco la data in TYPE devo mettere timestamp o int?e nalla pagina dove ce il form il valore della data e <?php echo time ('YYYYMMDDHHMMSS') ?> oppure quello della guida che mi hai indicato tu? che mi sembra che sia php pratica.
come ho capito per far funzionare questo macello dove salvare la pagina xxx.php e poi diciamo in tutte le pagine perche l utente muovendosi da una pagina all' altra si aggiorna anche il timestamp 12334xxx a seconda dei secondi che passano se ho capito bene scrivere include(xxx.php) nella tabella dove mi dice se l utente e online o offline giusto?oppure devo scriverlo all inizio della pagina prima di creare il record con dreamweaver?
spero di essermi spiegato bene se no se vuoi ci incontriamo su msn e seimao in contatto diretto ok
ciao e grazie ancora
Con le sessioni.
Quando un utente fa il logout, la sessione è scaduta, punto!
Io non aggiornerai il DB con l'orario.... secondo me non ha senso.
Ti consiglio di salvare le sessioni in una specifica cartella del tuo sito (e non nell'area comune che imposta il server).
Poi controllerei quante sessioni ci sono lì, e chi le ha aperte.Codice PHP:
ini_set("session.save_path","tua_cartella");
Naturalmente, l'identificativo della sessione utente è la chiave che userai per vedere chi è online e chi no!
Non ho voglia di scrivere codice, ma credo che avrai capito come impostare il lavoro.
![]()
lo so anchio se l utente facesse il logout non ci voleva tanto a fare una cosa tipo quando fa il login il campo online diventa 1 e facendo il logout diventa 0!!
in che senso salvare le sessioni?
come puo aiutarmi per quello che devo fare?cioe come funziona?
appena puoi mi crei il codice?
1)
Beh..... avevo proprio ragione nel mio precedente post:in che senso salvare le sessioni?
"se vuoi fare un piatto di alta cucina, quantomeno un uovo lo devi sapere cuocere".
poi ti spiego perché... ora rispondo ai tuoi quesiti.
Io non ho parlato di salvare le sessioni, in quanto vengono sempre salvate dal server. Semplicemente: il server le salva di deafult in una precisa allocazione della propria memoria.
In poche parole, la sessione non è altro che una sorta di cookie che viene salvato in remoto, cioé nel server.
In locale, cioè nel tuo pc, invece viene salvato un cookie in cui si trova il cosiddettò SESSID, cioè l'id della sessione.
In soldoni, il tuo pc comunica al server quale è il tuo id di sessione, ed in base al numeretto così passato viene recuperata la tua sessione salvata nella cartella remota che il server sa, e così riesci ad accedere alle informazioni ivi salvate!
Se però te vuoi andare a sapere quante sessioni (e quindi quanti utenti) sono online, devi per forza andare a modificare la cartela di default, altrimenti non puoi accedere direttamente a quella risorsa e, in più, troveresti tutte le sessioni di tutti i siti che sono presenti nello spazio condiviso del tuo server (nel caso il tuo sito sia hostato in uno spazio condiviso).
Con la direttiva che ti ho mostrato io, cambi al volo l'indirizzo in cui salvare le sessioni del tuo sito e dopo (con opendir() e metodi similari) puoi andare a lavorarci.
Metti che nella tabella users_online di cui ti ho già scritto, vai a salvare anche il SESSID nel DB... e così è davvero semplice andare a pescare il nome dell'utente online una volta saputo quali identificativi di quali sessioni sono presenti nella cartella.
2)
Nei vari post ti ho dato moltissimi spunti, mi parecome puo aiutarmi per quello che devo fare?cioe come funziona?
3)
beh.... a prescindere dalle mie disponibilità di tempo e voglia, mi pare che lo scopo finale del forum sia quello di esporre un problema e cercare qualcuno che ti possa aiutare a risolverlo.appena puoi mi crei il codice?
Per trovare qualcuno che ti sviluppi una applicazione (praticamente) da zero c'è l'apposito forum Offro lavoro/collaborazione.
Vedi, non mi piace fare il tuttologo però, secondo me, prima di cimentarti in script di PHP che non sai gestire dovresti quantomeno studiarti il metodo per farli funzionare.
Dreamweaver è un ottimo strmento, nato come ambiente WYSIWYG, evolutosi grazie ai vari componenti per PHP, ottimo per aiutare un programmatore, ma non pronto per sostituirsi al programmatore stesso!
Gestire le sessioni, le autenticazioni utente con tutti i controlli lato server per evitare intrusioni e danni fa parte del bagaglio che ogni sviluppatore dovrebbe sempre portare con sé.
Io ti posso segnalare dei link interessanti, e tutti presenti in questo sito.
Questo ne è un fulgido esempio: Breve introduzione alle sessioni PHP e successive ti aiutano a capire i meccanismi di una SESSIONE.
Se dai un'occhiata al nome del file con cui viene salvata di ogni singola sessione (lezione seguente) vedrai che una ideauzza di come sfruttare i consigli che ti ho dato nel punto 1 ti salta in mente..... poi non hai che da postare per consigli sul codice usato!
![]()