chris: Frage PHP-Bedingungen

Beitrag lesen

Hi,

Drei Punkte pro 24 Stunden sind ein Punkt pro acht Stunden.

Im Mittel. Drei Punkte innerhalb einer Stunde, und danach 23 Stunden Ruhe erfüllen die gestellte Bedingung aber auch. Mit deiner Vereinfachung würden zwei von drei Punkten nicht berücksichtigt.

Das verbessert das Konzept aber m.E. sogar.
Sonst kannst sich der Nutzer durch Login-Logout-Login-Logout-Login seine drei Punkte innerhalb von vermutlich einer Minute holen.
Wenn echte Aktivität belohnt werden soll, ist einmal alle acht Stunden vielleicht sinnvoller.

MfG ChrisB

rein theoretisch hat martin recht. jedoch macht es aus meiner sicht ebenso sinn, dass man eine zeitsperre einbaut. somit entspricht die idee von chrisb mehr meinen vorstellungen.

nachdem die bedingungen nun festgelegt sind, vielleicht wärd ihr so freundlich und könntet mir bei dem code helfen?

denn dort seh ich erstmal mit meinen kenntnissen schwarz.

<?php
if ($_POST['email'] != "") {

include_once "connect_to_mysql.php";

$email = $_POST['email'];
$pass = $_POST['pass'];
$remember = $_POST['remember'];

$email = strip_tags($email);
$pass = strip_tags($pass);
$email = mysql_real_escape_string($email);
$pass = mysql_real_escape_string($pass);
$email = eregi_replace("", "", $email); $pass = eregi\_replace("", "", $pass);

$pass = md5($pass);

$sql = mysql_query("SELECT * FROM xyz WHERE email='$email' AND Passwort='$pass' AND email_activated='1'");
$login_check = mysql_num_rows($sql);

if($login_check > 0){

while($row = mysql_fetch_array($sql)){

$id = $row["id"];
        session_register('id');
        $_SESSION['id'] = $id;

$Vorname = $row["Vorname"];
        session_register('Vorname');
        $_SESSION['Vorname'] = $Vorname;

$email = $row["email"];
        session_register('email');
        $_SESSION['email'] = $email;

$log_date1 = $row["log_date1"];
        session_register('log_date1');
        $_SESSION['log_date1'] = $log_date1;

$log_date2 = $row["log_date2"];
        session_register('log_date2');
        $_SESSION['log_date2'] = $log_date2;

$log_date3 = $row["log_date3"];
        session_register('log_date3');
        $_SESSION['log_date3'] = $log_date3;

mysql_query("UPDATE xyz SET log_date1=now(), log_date2=log_date1, log_date3=log_date2  log_date4=log_date3 WHERE user='$user'");

rein theoeretisch müssten es dann doch auch 4 logdates sein, oder? weil der aktuelle login doch immer mit dem am weitesten zurückliegenden gegengeprüft wird. und ich würde denken, dass dann durch sich dann folgendes bild ergibt: jetzt - 8h.(log_date2) - 8h(log_date3) - 8h(log_date4) = 24h bei rauskommen müsste, oder hab ich da einen denkfehler?

wie kann ich das mit der zeit im code realisieren?

danke.