CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
08.06.2003, 13:23:48
|
Anfänger
|
|
Registriert seit: Jun 2003
Beiträge: 2
|
|
Reloadsperre für Besuchertauschscript
Es geht um diese Funktion in einem meiner Scripte. Es ist von einem Besuchertauschscript und ich bräuchte zu dem Script eine Reloadsperre, die den Wert in der Tabelle "lastview"(Hier wird der Zeitpunkte des letzten Views mit dem Befehl time() gesetzt) prüft, ob er um mindestens 20 Sekunden größer ist. Diese Reloadsperre sollte so eingebaut sein, dass den anderen Usern keine Punkte abgezogen werden, sobald die Reloadsperre einsetzt und derjenige keine Punkte bekommt, der die Surfbar früher aktualisiert.
PHP-Code:
function viewpage()
{
global $userid, $showup_frequency, $points_hit, $points_view, $showup_time, $url_default, $points_referer_view, $points_referer_jackpot_views, $points_referer_jackpot_points, $moneyzu;
if($userid)
{
$query="SELECT recently, refererid, views FROM demo_d_accounts WHERE id='$userid';";
$result=mysql_query($query);
if($result)
{
$result = @mysql_fetch_array($result);
$recently=split(' ', $result[recently]);
$refererid=$result[refererid];
$views=$result[views];
if($points_referer_jackpot_views && $points_referer_jackpot_points && $views==$points_referer_jackpot_views){
echo $views;
$query="UPDATE demo_d_accounts SET points=points+$points_referer_jackpot_points WHERE id='$refererid';";
mysql_query($query);
}
}
}
$query = "SELECT id, url FROM demo_d_accounts WHERE showup='1' AND id!='$userid' AND points>=$points_hit AND savepoints='0'";
for($i=0; $i<count($recently) && $i<$showup_frequency; $i++)
{
$query .= " AND id!='$recently[$i]'";
$recentlies[]=$recently[$i];
}
$query .= ' ORDER BY points DESC';
$result=mysql_query($query);
$result=@mysql_fetch_array($result);
if($result[id] && $result[url])
{
$query="UPDATE demo_d_accounts SET hits=hits+1, points=points-$points_hit WHERE id='".$result[id]."';";
mysql_query($query);
$recently=implode(" ", $recentlies);
$recently=$result[id]." ".$recently;
$query="UPDATE demo_d_accounts SET views=views+1, points=points+$points_view, money=money+$moneyzu, recently='$recently', lastview='".time()."' WHERE id='$userid' AND lastview<='".time().-$showup_time."';";
mysql_query($query);
if($refererid)
{
$query="UPDATE demo_d_accounts SET points=points+$points_referer_view, refpoints=refpoints+$points_referer_view WHERE id='$refererid';";
mysql_query($query);
}
}else{
$result[url]=$url_default;
$query="UPDATE demo_d_accounts SET views=views+1, points=points+$points_view, money=money+$moneyzu, lastview='".time()."' WHERE id='$userid' AND lastview<='".time().-$showup_time."';";
mysql_query($query);
if($refererid)
{
$query="UPDATE demo_d_accounts SET points=points+$points_referer_view, refpoints=refpoints+$points_referer_view WHERE id='$refererid';";
mysql_query($query);
}
}
return array(
url=>$result[url],
id=>$result[id]
);
}
Zwar hab ich es schon selber probiert, jedoch bekomme ich es nicht hin, da ich mich mit PHP nicht sehr gut auskenne. Daher hoffe ich, dass mir hier jemand helfen kann.
|
08.06.2003, 13:30:49
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Also ich muss mal sagen, dieses Skript sieht nicht so aus, als ob Du keine Ahnung von PHP hättest.
Zum Problem: Einfach überprüfen, ob der gespeicherte Wert kleiner ist als die aktuelle Zeit minus 20 Sekunden:
PHP-Code:
if ($lastview<time()-20)
{ /* über 20 Sekunden her */ }
else
{ /* der andere Fall */ }
Woran scheitert es denn?
|
08.06.2003, 16:13:04
|
Anfänger
|
|
Registriert seit: Jun 2003
Beiträge: 2
|
|
Zuerst möchte ich klarstellen, dass nicht ich dieses Script programmiert habe. Ich habe es gerade mit deinem Vorschlag ausprobiert und es hat nicht funktioniert. Allerdings glaube ich, dass es daran lag, dass ich es immer falsch eingebaut habe.
Daher müsste ich wissen, wo ich was einbauen muss.
|
08.06.2003, 16:25:22
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Ahso, kann man ja nicht wissen, von wem das Skript nicht ist.
Dass mein Skript so nicht funktioniert liegt z.B. daran, dass $lastvisit vermutlich keinen Wert zugewiesen bekommen hat. Dies müsste man erstmal mittels einer mySQL-Abfrage erledigen.
Wo Du die paar Zeilen einfügen musst, weiß ich nicht. Das weiß die Person am besten, die dieses Skript in die Welt gesetzt hat.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:53:07 Uhr.
|