Ciao a tutti. E' il mio primo approccio con questo linguaggio php.
Ho seguito le istruzioni nelle pillole (configurazioni e installazioni) e ho provato ad effettuare una pagina di login con segnalazione della connessione/disconnessione dell'utente come quella tra le pillole.
In front page ho realizzato una pagina index.html con due campi di testo e il bottone ENTRA.
Poi al click su entra vado su login.php
Codice PHP:
<?
include 'funzioni.inc.php' ;
check($REMOTE_ADDR);
intestazione();
?>
[b]Pagina di Log In[/b]
<?
$ris = checkIP($REMOTE_ADDR);
if ($ris) {
print "Ciao $ris, eri già loggato. Vai alla home page.
";
} else {
if ($id=controllo($_POST['user'],$_POST['pa
ssw'])) {
$conn = connetti();
$dataEntr = @time()+60*10; // 60 sec * 10 minuti
$query = mysql_query("INSERT INTO `utenti_online` (`id_utente`,`ip`,`tempo`) VALUES ('$id','$REMOTE_ADDR','$dataEntr')",$conn) or print mysql_error();
disconnetti($conn);
echo "Utente connesso. Vai alla home page.
";
} else {
print "Attenzione il nick o la password inseriti non sono esatti!
";
}
}
finepagina();
?>
mentre funzioni.inc.php
Codice PHP:
<?
function connetti() {
include 'config.inc.php';
$connessione = mysql_connect($dbhost,$dbuser,$dbpass) or die("Impossibile collegarsi al server MySQL.");
mysql_select_db('Accessi',$connessione) or die("Impossibile selezionare il database $dbname");
return $connessione;
}
function disconnetti($connessione) {
mysql_close($connessione);
}
function intestazione() {
?>
<html>
<head>
<title>Titolo del sito</title>
</head>
<body>
<?
}
function finepag() {
?>
</body>
</html>
<?
}
function controllo($user, $passw) {
$conn = connetti();
$query = mysql_query("SELECT id_utente,pass FROM utenti WHERE nick='$user'",$conn) or die( "Errore ricerca pass: " . mysql_error() );
$info = mysql_fetch_assoc($query);
disconnetti($conn);
if ($info['pass']==$passw) {
return $info[id_utente];
} else {
return 0;
}
}
function checkIP($ip) {
$conn = connetti();
$query = mysql_query("SELECT nick FROM utenti INNER JOIN utenti_online ON utenti.id_utente=utenti_online.id_utente WHERE ip='$ip'",$conn) or die( "Errore controllo ip: " . mysql_error() );
$info = mysql_fetch_row($query);
disconnetti($conn);
return $info[0];
}
function check($ip) {
$conn = connetti();
$ora = @time()+60*5;
$query = mysql_query("UPDATE utenti_online SET tempo='$ora' WHERE ip='$ip'",$conn) or die( "Errore allungamento tempo: " . mysql_error() );
$ora = @time();
$query = mysql_query("SELECT id FROM utenti_online WHERE tempo<'$ora'",$conn) or die( "Errore utenti fuoritempo: " . mysql_error() );
while ($info = mysql_fetch_row($query)) {
$elim = mysql_query("DELETE FROM utenti_online WHERE id='$info[0]' LIMIT 1",$conn) or die( "Errore eliminazione utenti online: " . mysql_error() );
}
disconnetti($conn);
}
?>
come output ho i seguenti messaggi
codice:
Warning: Failed opening 'config.inc.php' for inclusion (include_path='.;c:\php4\pear') in c:\testphp\funzioni.inc.php on line 3
Pagina di Log In
Warning: Failed opening 'config.inc.php' for inclusion (include_path='.;c:\php4\pear') in c:\testphp\funzioni.inc.php on line 3
Warning: Failed opening 'config.inc.php' for inclusion (include_path='.;c:\php4\pear') in c:\testphp\funzioni.inc.php on line 3
Attenzione il nick o la password inseriti non sono esatti!
Fatal error: Call to undefined function: finepagina() in c:\testphp\login.php on line 24
Sapete aiutarmi per caso??
grazie anticipatamente a chiunque tenti di aiutarmi.