Login con data e ora

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao Borgo,

Mi servirebbe una consulenza al volo. Ho inserito nel mio sito il controllo dell'ultimo accesso avvenuto, che ti dovrebbe dire data e ora dall'ultima volta che ti sei connesso. Il punto è questo, il codice in questione mi da errore. ti posto il tuotto così ti rendi conto meglio. L'errore è il seguente:

Warning: date() expects at least 1 parameter, 0 given in /volume1/web/utenti/fabio/MegaLaboratorio/ultimoaccesso.php on line 10 Benvenuto. Non ti sei mai collegato a questa pagina

Questo avvioene quando mi loggo. Invece, il codice di esempio che ho trovato su internet è il seguente:

Il file si chiamato ultimoaccesso.php che viene chiamato dalla paginaris.php e dall'inizio sessione. La paginaris.php è strutturata in questa maniera:

Codice PHP:

PHP:
      <?php

    require_once("connetti.php");


    echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

    session_start();
    require_once("ultimoaccesso.php");

Invece il codice ultimoaccesso.php è il seguente:

Codice PHP:

PHP:
    <?php
    if(isset($_COOKIE["ultimoaccesso"])) {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
    $ultimo_cookie = $_COOKIE["ultimoaccesso"];

     echo "<center> <h1>";
    echo "Il tuo ultimo accesso è stato il $ultimo_cookie";
    } else {
    $valore_cookie = date();
    setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
    echo "Benvenuto. Non ti sei mai collegato a questa pagina";
    }
    ?>
Dove sta l'errore ??? Si potrebbe unire tranquillamente alla paginaris.phph e avere un file unico penso o sbaglio ???? Aspetto tue notizie come al solito che sono state sempre preziose.

P.S.: A cricric gli ho scritto, ma nonmi ha risposto, peril problema della modifica in multiupload. Nemmeno a me i cookie mi sono simpatici.....
 
Giusto per sapere, il thread è indirizzato solo a borgo?
E poi, se l'utente deve loggarsi al sito proporrei un campo 'ultimo_accesso' nel db.
Per quanto riguarda l'errore (Anzi warning) la funzione date() si aspetta (almeno) un parametro come l'hai messo nella Terza riga di ultimoaccesso.php per esempio; alla decima riga:
$valore_cookie = date();
l'hai dimenticato.
 
Ultima modifica:
Ciao

Ciao Longo8,

Scusami la mia ignoranza, maè aperto a tutti, solo che ero stato rimproverato da borgo perchè un problema un post. Ovviamente consigli da terzi sono ben accetti. Anzi perdonami per questo piccolo disguido. Venendo al punto sempre che non ti sia offeso ne tu e ne gli altri del forum, il messaggio ripeto è aperto a tutti, non mi sono dimenticato. Se ci metto qualcosa com'era in origine, mi da errore warning, se non ci metto niente gli piace, e va. Avevo messo date(Now), ma mi dava quel tipo di errore. E poi volevo incorporare il tutto nella paginaris.php. Anzi riporto il codice di tale pagina per intero:

PHP:
 <?php

require_once("connetti.php");

//require_once("ultimoaccesso.php");

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

session_start();
require_once("ultimoaccesso.php");

$stringa= strtoupper($_SESSION['nome']);

 
 if(isset($_SESSION['nome']) && $_SESSION['autorizzato'] == 0) {   


     echo "<center> <h1>";
     echo "BENVENUTO " . $stringa;
     echo "</center> </h1>";
}      else {
    
   header("Refresh: 0;URL=failed.php");      
    echo "Accesso non consentito";

}

?>


    </body>
</html>

E questo è il codice ultimoaccesso.php

PHP:
<?php

$_SESSION['started'] = date('d/m/Y ');

if(isset($_COOKIE["ultimoaccesso"])) {
$valore_cookie = date("d/m/Y - H:i:s");
setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
$ultimo_cookie = $_COOKIE["ultimoaccesso"];

 echo "<center> <h1>";
echo "Il tuo ultimo accesso è stato il: ". $ultimo_cookie;

echo "</center> </h1>";
} else {
$valore_cookie = date();
setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
echo "Benvenuto. Non ti sei mai collegato a questa pagina";
}
?>

Tu mi parlavi di sfruttare il db, mi puoi spiegare meglio e se puoi e se ti va di darmi una mano a migliorare per favore ????
 
Ciao

Salve a tutti,

Mi sono accorto che, questo spezzone di codice che ho trovato, mi da solo l'ultimo accesso avvenuto e non si aggiorna come vorrei. Hai/avete presente i siti delle banche, che ti dicono quando sei entrato l'ultima volta data e ora ??? Vorrei fare una cosa simile, ma aggiornandolo. Ora non so se domani rientro e si aggiorna o mi da sempre la stessa data e orario di oggi ??? Boh ?????
 
ciao
spiegami perche non ti funziona. perchè a me funzia perfettamente

PHP:
<?php
//$_SESSION['started'] = date('d/m/Y ');//??questa a che cavolo ti serve??
if(isset($_COOKIE["ultimoaccesso"])) {
	$valore_cookie = date("d/m/Y - H:i:s");
	setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
	$ultimo_cookie = $_COOKIE["ultimoaccesso"];
	echo "<center> <h1>";
	echo "Il tuo ultimo accesso è stato il: ". $ultimo_cookie;
	echo "</center> </h1>";
} else {
	$valore_cookie = date("d/m/Y - H:i:s");
	setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
	echo "Benvenuto. Non ti sei mai collegato a questa pagina";
}
?>
 
Ciao

Non saprei,

Ora vado a vedere la documentazione e poi ti riferirò. Una cosa, hai letto il messaggio sull'upload ???? So che è una discussione a parte, ma ne approfitto per sapere solo se avevi letto o meno. grazie.
 
ciao
spiegami perche non ti funziona. perchè a me funzia perfettamente

PHP:
<?php
//$_SESSION['started'] = date('d/m/Y ');//??questa a che cavolo ti serve??
if(isset($_COOKIE["ultimoaccesso"])) {
	$valore_cookie = date("d/m/Y - H:i:s");
	setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
	$ultimo_cookie = $_COOKIE["ultimoaccesso"];
	echo "<center> <h1>";
	echo "Il tuo ultimo accesso è stato il: ". $ultimo_cookie;
	echo "</center> </h1>";
} else {
	$valore_cookie = date("d/m/Y - H:i:s");
	setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
	echo "Benvenuto. Non ti sei mai collegato a questa pagina";
}
?>


Quello che volevo capire semplicemente se si aggiornava o meno. Tutto qua.
 
Ciao

ciao
spiegami perche non ti funziona. perchè a me funzia perfettamente

PHP:
<?php
//$_SESSION['started'] = date('d/m/Y ');//??questa a che cavolo ti serve??
if(isset($_COOKIE["ultimoaccesso"])) {
	$valore_cookie = date("d/m/Y - H:i:s");
	setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
	$ultimo_cookie = $_COOKIE["ultimoaccesso"];
	echo "<center> <h1>";
	echo "Il tuo ultimo accesso è stato il: ". $ultimo_cookie;
	echo "</center> </h1>";
} else {
	$valore_cookie = date("d/m/Y - H:i:s");
	setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
	echo "Benvenuto. Non ti sei mai collegato a questa pagina";
}
?>

Forse era passato poco tempo ed non ha avuto il tempo di aggiornarsi....... Pirla che so.

Ma per unir eil tutto al codice di paginaris.php, come posso fare ??? il problema sono i due if. Ti posto il codice così è più chiaro.

paginaris.php

PHP:
 <?php

require_once("connetti.php");

//require_once("ultimoaccesso.php");

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

session_start();
require_once("ultimoaccesso.php");

$stringa= strtoupper($_SESSION['nome']);

 
 if(isset($_SESSION['nome']) && $_SESSION['autorizzato'] == 0) {   


     echo "<center> <h1>";
     echo "BENVENUTO " . $stringa;
     echo "</center> </h1>";
}      else {
    
   header("Refresh: 0;URL=failed.php");      
    echo "Accesso non consentito";

}

?>


    </body>
</html>
 
se scrivi il vodice in un file, la prima volata ti da che non sei mai collegato, ad ogni aggiorna xambiano (almeno = i secondi.
provare per credere
 
Ciao

Salve a tutti,

Il messaggio è aperto a tutti. Ho provato ad unire i due codici uno della sessione e uno dell'ultima volta di quando è stato avvenuto l'accesso, ma purtroppo mi da un errore a cui non riesco a venirne a capo. Posto il codice unito. Si chiama il file:

paginaris.php

PHP:
    <?php

require_once("connetti.php");

//require_once("ultimoaccesso.php");

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

session_start();
//require_once("ultimoaccesso.php");

$stringa= strtoupper($_SESSION['nome']);

 
 if(isset($_SESSION['nome']) && $_SESSION['autorizzato'] == 0) && if(isset($_COOKIE["ultimoaccesso"] {
     
     

     
}else {
    echo "<center> <h1>";
     echo "BENVENUTO " . $stringa;
     echo "</center> </h1>";
     
   header("Refresh: 0;URL=failed.php");      
    echo "Accesso non consentito";
else {


$valore_cookie = date("d/m/Y - H:i:s");
setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
$ultimo_cookie = $_COOKIE["ultimoaccesso"];

 echo "<center> <h1>";
echo "Il tuo ultimo accesso è stato il: ". $ultimo_cookie;

//echo "</center> </h1>";

    
$valore_cookie = date();
setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
echo "Benvenuto. Non ti sei mai collegato a questa pagina";
}
}
}


    </body>
</html>


Mi da il seguente errore:

Parse error: syntax error, unexpected T_BOOLEAN_AND in /volume1/web/utenti/fabio/MegaLaboratorio/paginaris.php on line 15

Insomma, come la rigiro la rigiro, la fritta mi da sempre errore o a male estremi non mi fa entrare con il mio username e password. Sopratutto se unisco i tre if come avevo intenzione di fare. Chi mi può dare una mano a risolvere il problema please ??? Aspetto vostri preziosi consigli. Grazie.
 
ciao
mi spieghi questa riga
PHP:
 if(isset($_SESSION['nome']) && $_SESSION['autorizzato'] == 0) && if(isset($_COOKIE["ultimoaccesso"] {

così poi posso spiegarla al sommo
 
Ciao

Finalmente ho unito i codici come volevo. E' stato duro ma alla fine ci sono riuscito. Ora c'è un dubbio. Visto che poi questo cookie rimane in memoria e non so in quale cartella viene messo, dovendo mettere un tastino di logout, il cookie si distrugge insieme alla sessione oppure bisogna fare una funzioncina a parte per distruggerlo ???? Inoltre, come posso verificare che effettivam,ente sia andato distrutto e che nel sistema non ne rimanga traccia ???? Spero in una vostra risposta. Grazie.

Posto per correttezza la soluzione di come ho unito i due codici paginaris che riguarda l'accesso alla paginariservata dopo aver effettuato la registrazione e il codice relativo chiamato ultimoaccesso, dove mi indica l'utima ora e l'ultima data di accesso.


PHP:
 <?php

require_once("connetti.php");

echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';

session_start();

$stringa= strtoupper($_SESSION['nome']);

 
 if(isset($_SESSION['nome']) && $_SESSION['autorizzato'] == 0) {
  
    echo "<center> <h1>";
     echo "BENVENUTO " . $stringa;
     echo "</center> </h1>";
}else{
 header("Refresh: 0;URL=failed.php");      
    echo "Accesso non consentito";
   
    
 }
     
   if(isset($_COOKIE["ultimoaccesso"])) {
$valore_cookie = date("d/m/Y - H:i:s");
setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
$ultimo_cookie = $_COOKIE["ultimoaccesso"];

 echo "<center> <h1>";
echo "Il tuo ultimo accesso è stato il: ". $ultimo_cookie;

echo "</center> </h1>";
} else {
$valore_cookie = date();
setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
echo "Benvenuto. Non ti sei mai collegato a questa pagina";
}
?>


    </body>
</html>


Se avete delle migliorie o suggerimenti so tutt'orecchio. Un ultima cosa volevo chiedervi. Volevo costruire un bordo intorno, come si fa ???? Metto un'immagine di ciò che vorrei fare.Vedi l'allegato 1330Vedi l'allegato 1330 Aspetto vostre risposte e consigli grazie.
 
ciao
prova in questo modo
ti ho fatto alcune correzioni perche sia l'heder sia setcookie e session_start devono venire prima di qualsiasi output html

PHP:
<?php
session_start();
if(isset($_COOKIE["ultimoaccesso"])) {
	$valore_cookie = date("d/m/Y - H:i:s");
	setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
	$ultimo_cookie = $_COOKIE["ultimoaccesso"];
	$me= "Il tuo ultimo accesso è stato il:  $ultimo_cookie";
} else {
	$valore_cookie = date();
	setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
	$me= "Non ti sei mai collegato a questa pagina";
}
require_once("connetti.php");//a che cavolo ti serve?
$stringa= strtoupper($_SESSION['nome']);
if(isset($_SESSION['nome']) && $_SESSION['autorizzato'] == 0) {
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>benvenuto</title>
</head>
<style type="text/css">
.messaggio{
	/*poi metti i valori che vuoi*/
	background-color:#666666;
	border-color: #FF0000;
	border-width:2px;
	border-style:inset;
	margin:auto;
	border-radius: 10px 10px 10px 10px;
	-moz-border-radius: 10px 10px 10px 10px;
	-webkit-border-radius: 10px 10px 10px 10px;
	box-shadow: 4px 8px 10px #a6aeb7;
	text-align:center;
}
</style>
<body>
<?php
	echo "<div class=\"messaggio\"><h1>";
	echo "BENVENUTO ".$_SESSION['nome']." <br />";
	echo $me;
	echo "<h1></div>";
	echo "</body></html>";
}else{
	header("Location=failed.php");      
	exit();
} 
?>
 

Discussioni simili