phpbar.de logo

Mailinglisten-Archive

grosses Problem ??

grosses Problem ??

Markus Giese listen@abotec.com
Thu Nov 28 19:10:57 2002


hi ich bins wieder ,

bin mit dem script weitergekommen :

das ganze kann man unter : www.abotec.com/ex sehen

packe die die pre.inc nochmal in den anhang

sorry das ich das net geschnallt habe, in dem script war ja alles drinen was
ich wollte, ich war nur zu bloed das zu sehen , trotzdem komme ich noch
nicht ganz weiter. und hoffe du schaust nochmal rein, es geht mir nur um die
viewpage() funktion !!


bin soweit gekommen, das ich ca 10 testuser eingerichtet habe, die bekommen
, wenn sie auf den email bestätigungslink geklickt haben ein höheres showup
level ! wenn der admin den user freischaltet gibts nochmal ein level mehr ,
wozu auch immer egal. solange ein user nicht freigeschaltet ist sieht er
zwar mit seinem surflink die seiten anderer user , aber kein
freigeschalteter user sieht seine seite, das ist alle ok so !! aber was ich
nicht verstehe :

das script speichert alle von einem freigeschaltetten gesehenen user in
einem mysql feld : BSP :
user1 hat uid1 sieht seiten von id 8 7 3 2 5 alles ok , wenn aber diese
eintraege im recently feld stehen, dann lädt er die DEFAULT_URL :(((( wieso
? ich habe mir das script 20x durchgelesen, aber ich werde net richtig
schlau

kann mir mal bitte einer genau die funktion erklären ? ich verstehe sie
soweit, das er bei ELSE die default_url lädt, aber ich verstehe den bereich
davor net :

 $query = "SELECT id, url FROM accounts WHERE id!='$userid' AND showup='1'
AND points>=$points_hit";

 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 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 accounts SET views=views+1, points=points+$points_view,
recently='$recently', lastview='".time()."' WHERE id='$userid' AND
lastview<='".time().-$showup_time."';";
  mysql_query($query);
 }else{

ich wäre sehr froh wenn mir einer erklären kann was mein PROBLEM ist , wieso
er irgendwann statt der user URL die default URL läft.



DAS IST DIE GANZE VIEWPAGE FUNKTION ::::::
function viewpage()
{
 global $userid, $showup_frequency, $points_hit, $points_view, $showup_time,
$url_default;
 if($userid)
 {
  $query="SELECT recently FROM accounts WHERE id='$userid';";
  $result=mysql_query($query);
  if($result)
  {
   $result = @mysql_result($result, 0);
   $recently=split(' ', $result);
  }
 }

 $query = "SELECT id, url FROM accounts WHERE id!='$userid' AND showup='1'
AND points>=$points_hit";

 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 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 accounts SET views=views+1, points=points+$points_view,
recently='$recently', lastview='".time()."' WHERE id='$userid' AND
lastview<='".time().-$showup_time."';";
  mysql_query($query);
 }else{
                 $result[url]=$url_default;
                $query="UPDATE accounts SET views=views+1, points=points+1,
lastview='".time()."' WHERE id='$userid' AND
lastview<='".time().-$showup_time."';";
                mysql_query($query);
        }
 header("Location: ".$result[url]);
 exit;
}

THX a lot markus


-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive