da sich in der Jobbörse niemand dafür interesiert, habe ich es selber versucht.
[php]<?php
$mysql_host = "localhost"; //Dein Host meistens "localhost"
$mysql_user = "***"; //Dein MYSQL-Benutzername
$mysql_pass = "***"; //Dein MYSQL-Passwort
$mysql_db = "***"; // Deine MYSQL-Datenbank
$db = mysql_connect($mysql_host, $mysql_user, $mysql_pass) OR die(mysql_error());
mysql_select_db($mysql_db ,$db);
$sql = "SELECT name, datum FROM sm";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
if($_SESSION['MM_Username'] == $row['name']){ /
echo "Sie können diese Seite nur einmal in 24 Stunden besuchen.\n ";
echo "Bitte versuchen sie es später noch einmal.";
} else { echo "Wilkommen auf dieser Seite.";
//Hier kommt der weitere Teil der Seite
$sql = "INSERT INTO name (name, datum) VALUES
('".$_SESSION['MM_Username']."', NOW())";
mysql_query($sql) OR die(mysql_error());
} $sql = "DELETE FROM name WHERE DATE_SUB(NOW(), INTERVAL 1 DAY) > datum";
mysql_query($sql) OR die(mysql_error());
?> [/php]
aber irgendwie funktioniert es nicht.
Das ist noch die detailierte beschriebung was das Script machen soll:
Wenn man die Seite betretet soll eine abfrage von der MySQL datenbank klären ob jemand mit dieser Session schon mal auf diese Seite zugegriffen hat. Wenn ja soll die Seite nicht mehr angezeigt werden. Wenn nein soll die Seite angezeigt werden und einen Eintrag in die DB gemacht werden.
Momentan wird in diesem Script einfach nur der erste Username genommen, und es wird geprueft, ob dieser der gleiche ist, wie in der Session.
Besser waere sowas in der Richtung:
[php]$sql = „SELECT name, datum FROM sm WHERE name = '“.$_SESSION[‚MM_username‘].„'“;
$erg = mysql_query($sql)OR die(mysql_error());
if(mysql_num_rows($erg)){
echo „Bla, bla, du darfst hier nicht drauf.“;
} else {
//hier der gesamte code, wenn man zugelassen ist
}[/php]Bin mir nicht sicher, aber du musst glaube ich noch an dem query mit dem delete was aendern.
Ich bin jetzt erstmal weg, wnen ich zurueck bin kann ich mal ein wenig Googlen
[php]$sql = „INSERT INTO name (name, datum) VALUES
('“.$_SESSION[‚MM_Username‘].„', NOW())“;
mysql_query($sql) OR die(mysql_error());[/php]
Da wo der comment momentan steht.
btw: Wieso beziehen sich der DELETE und der INSERT-Befehl auf die Tabelle „name“, und der SELECT-Befehl auf die Spalte „sm“ ? ;ugl
Der aktuelle Code:
[PHP]<?php
$mysql_host = "localhost"; //Dein Host meistens "localhost"
$mysql_user = "***"; //Dein MYSQL-Benutzername
$mysql_pass = "***"; //Dein MYSQL-Passwort
$mysql_db = "***"; // Deine MYSQL-Datenbank
$db = mysql_connect($mysql_host, $mysql_user, $mysql_pass) OR die(mysql_error());
$sql = "SELECT name, datum FROM sm WHERE name = '".$_SESSION['MM_username']."'";
$erg = mysql_query($sql)OR die(mysql_error());
if(mysql_num_rows($erg)){
echo "Bla, bla, du darfst hier nicht drauf.";
} else {
//hier der gesamte code, wenn man zugelassen ist
}
$sql = "INSERT INTO name (name, datum) VALUES
('".$_SESSION['MM_Username']."', NOW())";
mysql_query($sql) OR die(mysql_error());
?> [/PHP]