Forum cookie problema php

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
io prendo una data dal db e devo fare la differenza tra la data di oggi e la data salvata nel db....
quale è il formato delle due date? spero che utilizzi il timestamp perchè per fare la differenza tra due date è quello che si presta meglio.

la funzione stampa i gg le ore i min es i sec di differenza.
cosa vuoi dire con
tipo 06 dicembre alle ore 12.22
?

che se sono passate pià di 24 ore deve scrivere la data del db?
 

angel

Utente Attivo
2 Nov 2009
109
0
0
la data la salvo cosi...
PHP:
1260686369
che se sono passate pià di 24 ore deve scrivere la data del db?
si
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
la data la salvo cosi...
Codice PHP:
1260686369
allora per fortuna è in timestamp.
però scusa non ho capito una cosa
tu hai nel db una data (corrisponde alla data di inserimento del post?),chiamiamola $data_post, e vorresti che in funzione della data in cui vado a vedere il post (chiamamola $data_oggi):
se vado a vedere entro le 24 ore venga stampato ($data_oggi - $data_post)
scritto 17h 35' fa'
e se superi le 24 ore (es.)
scritto il 22 dic 2009 alle ore 17:22
?
oppure che la $data_oggi vada a sostituire $data_post superate le 24 ore?
 

angel

Utente Attivo
2 Nov 2009
109
0
0
devo fare la differenza tra la data di oggi meno quella inserita nel db...

se il risultato e entro 60 minuti stampa i minuti
35 minuti fa
se il risultato supera i 60 minuti e non supera le 24 ore stampa i ore
tipo
2 ora fa
se il risultato supera le 24 ora stampa tipo
06 dicembre alle ore 12.22

pero queste cose minuti ore ecc...
e il risultato della differenza tra le date^^
 

angel

Utente Attivo
2 Nov 2009
109
0
0
no scusa stavo sbagliando volevo dire che superando le 24 ore stampa la data....
 

angel

Utente Attivo
2 Nov 2009
109
0
0
ti spiego meglio cosa devo fare...
io ho una data nel db....

allora
se siamo entro i sessanta secondi dal inserimento della data (ciò la differenza tra la data attuale e quella del db)
deve scrivere
"numero sec fà"
se supera i sessanta secondi e non supera i sessanta minuti dal inserimento della data (ciò la differenza tra la data attuale e quella del db)
deve scrivere
"numero minut fà"
se supera i sessata minuti e non supera le 24 ore dal inserimento della data (ciò la differenza tra la data attuale e quella del db)
deve scrivere
"numero ore fà"
se il risultato della differenza tra la data attuale e quella del db supera le 24 ore stampa la data normale
06 dicembre alle ore 12.22
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
avevo capito tutto, ma non mi hai ancora detto quale data "normale". è quella che hai nel db o qualle attuale.
spiego:
la differenza è $data_attuale - $data_da_db e se ecc...., quello che non mi hai ancora detto quale data vuoi che stampi "normale"?

comunque nel prossimo post ti invio un codice, poi se vuoi l'una o l'altra sostituisci il valore dove ti indico
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ecco lo script

PHP:
<?php
//$data_da_db intero da date tipo timestamp, quindi $dat_da_db espresso in secondi
function diff_data($data_da_db){
	$adesso=time();//legge la data nel momento di apertura del post
	$differenza=$adesso-$data_da_db;//in secondi
	//trasformo in ore arrotondando
	$giorni=floor($differenza/(24*60*60));//giorni possono essere >=1
	if($giorni >= 1){//sono passate più di 24 ore
		$mese=array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
		//se vuoi la data che proviene dal db usa le due righe qui sotto
		$mese_int=date(n,$data_da_db)-1;//serve per l'array dei mesi in italiano
		return "scritto il ".date("d", $data_da_db)." ".$mese[$mese_int]." ".date("Y", $data_da_db)." alle ore ".date("H:i", $data_da_db);
		//altrimenti o le commenti o cancelli e decommenti le seguenti
		//$mese_int=date(n,$adesso)-1;
		//return "scritto il ".date("d", $adesso)." ".$mese[$mese_int]." ".date("Y", $adesso)." alle ore ".date("H:i", $adesso);
	}else{//le ore sono meno di 24
		$ore=floor($differenza/(60*60));
		if($ore >= 1){//le ore sono piu di una ma meno di 24
			$testo=" ore fa'";
			if($ore ==1){$testo=" ora fa'";}
			return "scritto ".$ore.$testo;//stampa ore fa'
		}else{//le ore sono meno di 1
			$minuti=floor($differenza/60);
			if ($minuti >= 1){//i minuti sono piu di uno
				$testo=" minuti fa'";
				if($minuti==1){$testo=" minuto fa'";}
				return "scritto ".$minuti.$testo;//stampa minuti fa'
			}else{//sono meno di un minuto
				$testo=" secondi fa'";
				$secondi=round($differenza);//anche se non servirebbe
				if($secondi==1){$testo=" secondo fa'";}
				return "scritto ".$secondi.$testo;//stampa secondi fa'
			}//fine if minuti
		}//fine if ore
	}//fine if giorni
}//fine function

/*
prova di funzionamento
da sostituire con quello che serve, estrazione della data dal db
*/
//
$oggi=time();//solo per valutare il tempo per prove
// scritto 5 gg 4 ore 37 min e 5 secondi fa'
$scritto=$oggi-5*(24*60*60)-4*(60*60)-37*60-5;//riga GIORNI
// scritto 4 ore 37 min e 5 secondi fa'
//$scritto=$oggi-4*(60*60)-37*60-5;//riga ORE
// scritto 37 min e 5 secondi fa'
//$scritto=$oggi-37*60-5;//riga MINUTI
// scritto  5 secondi fa'
//$scritto=$oggi-5;//riga SECONDI
echo "oggi è il ". date("d F Y H:i:s", $oggi)."<br>";
echo "il post era stato scritto il ". date("d F Y H:i:s", $scritto)."<br>";
/*
FUNZIONE PER SCRIVERE IL TEMPO PASSATO
se dif < 60 sec stampa (es.): scritto 5" fa'
se dif > 1 e < 60 min: scritto 25' fa'
se dif > 1 e < 24 ore: scritto 1 ora fa'
se diff > 24 ore stampa la data nel formato: scritto il gg mese anno alle ore H:MIN
*/
echo "<br>".diff_data($scritto)."<br>";
?>

spero che soddisfi le tue esigenze (e alessandro:D)
credo che i commenti che ho messo sia sufficienti a capire il funzionamento
 

angel

Utente Attivo
2 Nov 2009
109
0
0
da errore...
qua
function diff_data($data_da_db){
Fatal error: Cannot redeclare diff_data() (previously declared in


e qua
$mese_int=date(n,$data_da_db)-1;//serve per l'array dei mesi in italiano
Fatal error: Cannot redeclare diff_data() (previously declared in
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Tu e l'Inglese non siete molto compatibili, vero? Imparare ad interpretare gli errori di PHP è la prima cosa che bisognerebbe fare quando si inizia a programmare. Comunque lì c'è scritto che non puoi dichiarare due volte una funzione, quindi i casi sono due:
Hai già una funzione diff_data() precedente.
Includi due volte il file che contiene la funzione diff_data().
Scegline una, gira la ruota oppure compra una vocale! :D
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
Tu e l'Inglese non .......
Hai già una funzione diff_data() precedente.
......
penso che sia questo, precedentemente avevo postato un'altra funzione mi sembra con lo stesso nome
o cme dice alex modifichi il nome ad una (es. dif_dat()) o quella che non ti serve la elimini.
 
Discussioni simili
Autore Titolo Forum Risposte Data
Gabriele Visioli Legge sui Cookie e Forum phpBB phpBB 0
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 2
G Consiglio su piattaforma forum da utilizzare CMS (Content Management System) 1
G Forum newby Presentati al Forum 0
A Buongiorno Forum Presentati al Forum 0
S SEOriented è entrato nel forum Presentati al Forum 0
V Mi presento al forum Presentati al Forum 1
C Saluti a tutti gli utenti del Forum Presentati al Forum 0
Mastiff_84 Saluto a tutti i membri del forum Presentati al Forum 1
P Ciao a tutti nel forum Presentati al Forum 0
C [Retribuito] cerco programmatore per realizzare forum phpbb su altervista. Altri Annunci 0
C [Retribuito] cerco programmatore per realizzare forum phpbb su altervista Offerte e Richieste di Lavoro e/o Collaborazione 0
A Ciao popolo del forum Presentati al Forum 0
F Ciao e complimenti per il forum Presentati al Forum 1
marino51 Restyling del forum 12/2019 - Critiche, segnalazioni e opinioni Discussioni Varie 7
MeWeb Marketing Ciao, per la prima volta dentro ad un forum Presentati al Forum 1
marinobruschini Presentazione Forum di marinobruschini Presentati al Forum 0
R Ciao a tutti sono felice di entrare nel forum Presentati al Forum 0
S Vendo forum licenza ips Compravendita siti e domini 0
P Nuovo del forum Presentati al Forum 0
G Buongiorno a tutti gli iscritti al Forum Presentati al Forum 1
L ciao sono liloeconnie e sono nuovo in questo forum Presentati al Forum 0
T Nuovo sul Forum, Mi presento Presentati al Forum 1
B Nuova sul forum - Mi presento Presentati al Forum 2
B Nuovo sul forum - mi presento Presentati al Forum 1
M New entry nel forum Presentati al Forum 0
O Buongiorno a tutto il Forum Presentati al Forum 0
B Ciao a tutto il Forum Presentati al Forum 0
S Cerco licenza forum xenforo IPB Altri Annunci 0
A Saluti a tutti i componenti del Forum Presentati al Forum 0
G Gianky4747 Nuovo del Forum Presentati al Forum 0
P Ciao a tutti i membri di questo forum Presentati al Forum 1
D Buongiorno a tutto il forum Presentati al Forum 1
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
grgfede [Gratuito][Cerco] Forum su tecnologia cerca staff Offerte e Richieste di Lavoro e/o Collaborazione 1
D Sono nuovo in questo forum Presentati al Forum 1
R Ciao Forum Presentati al Forum 1
Andrea_Ventura Andrea Ventura, nuovo su questo forum Presentati al Forum 0
Instagramsocialmedia FATE ATTENZIONE furti di identità anche qui sul forum e tramite email Annunci servizi di Social Media Marketing 0
F Ciao Forum! Presentati al Forum 2
S Cancellatemi dal forum!! Annunci servizi di Social Media Marketing 0
Bimbus Come faccio a cancellarmi da questo forum? Annunci servizi di Social Media Marketing 1
R Buon giorno ai webmaster del forum Presentati al Forum 6
B Ciao a tutto i partecipanti al forum Presentati al Forum 2
Licantropo [phpBB] Forum, rischi e dove installarlo phpBB 4
MarcoGrazia Validazione forum con jquery.validate jQuery 2
R [Vendo] forum con +285.000 messaggi + pagina facebook da 5.000 fan + gruppo facebook 700 membri Compravendita siti e domini 2
Gigi87 [PHP] Estrazione dati da forum o da social network PHP 1
Gigi87 estrarre i dati da un forum o social network Presentati al Forum 1
G Buongiorno al Forum Presentati al Forum 1

Discussioni simili