SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.06.2003, 13:23:48
gesch gesch ist offline
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.
__________________
Meine Homepage: www.besucher4surf.de
Mit Zitat antworten
  #2  
Alt 08.06.2003, 13:30:49
c4 c4 ist offline
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?
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 08.06.2003, 16:13:04
gesch gesch ist offline
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.
__________________
Meine Homepage: www.besucher4surf.de
Mit Zitat antworten
  #4  
Alt 08.06.2003, 16:25:22
c4 c4 ist offline
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.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:53:07 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt