Citat:
Ursprungligen postat av BlackSunEmpire
Hur gör man då? Ställer man bara in fältet "date" i databasen till typen "TIMESTAMP" och låter bli att sätta in någonting i det när någon besöker sidan i fråga och så fylls det fältet i automatiskt?
Jag är dock inte helt säker på att jag vill använda mig av det här, i alla fall inte endast det här. Vill fortfarande själv kunna skriva ut tiden lite som jag vill, men jag skulle ju kunna köra med två separata date-fält. Ett för eget bruk och ett för att sortera posterna efter senaste datumet med.
Du kan mycket riktigt sätta default värdet för kolumnen till tiden när raden skapas, men det också att göra så att fältet får tiden uppdaterad när raden ändras.
Utöver detta kan du såklart också sätta in vilka värden du vill manuellt så här:
Kod:
INSERT INTO Table(date) VALUES('yyyy-mm-dd hh:mm:ss')
EDIT:
Om du vill skapa en besökslogg så måste du kolla varje gång personen besöker sidan om deras IP-adress är känd sedan tidigare, endast om den inte är det så lägger du till personen i listan.
Exempel:
Kod:
/*Kan göras på en jäva massa sätt och dett är absolut inte det bästa*/
$ip = $_SERVER['REMOTE_ADDR'];
$error = false; //Håller redan på om något gått fel
$previousVisits = mysql_query("SELECT ID FROM VisitorLog WHERE ip='$ip'");
if( !$previousVisits )
{
$error = true;
}
else
{
if ( mysql_num_rows($previousVisits) == 0 )
{
/*Här förutsätter vi att kolumnen med datumet i har som default NOW()*/
$query = mysql_query("INSERT INTO VisitorLog(ip) VALUES('$ip')"; /
if ( !$query )
{
$error = true;
}
}
if ( $error )
{
echo "ooops";
}