Avatar billede snoezel Nybegynder
06. februar 2003 - 18:05 Der er 23 kommentarer og
1 løsning

topliste sql fejl

Hejsa, er der nogen der kan sige hvorfor jeg får denne fejl:

You have an error in your SQL syntax near 'noref,100' at line 1

Det er en free version af en topliste jeg har hentet, men kan se at den kører på andre sites - og den har også virket på min, men nu gør den pludselig ikke mere :((

Tallet 100 skifter alt efter hvor mange sider jeg sætter til max at blive vist per side i admin delen.


<?
include "config.php";
include "header.php";

$reset_file = file($reset_log_file);

// checks reset time and resets if it's time
//###########

// makes sure the file isn't empty, if so writes time
if(empty($reset_file[0])){
reset_update_time($reset_log_file,$days_to_reset);
}

if($reset_file[0] <= time()){
reset_list($site_log_file,$total,$file);
reset_update_time($reset_log_file,$days_to_reset);
}
//###########

$reset_file = file($reset_log_file);

if (!$cid) {$cid = 0;}
if (!$from) {$from = 0;}

if ($cid == 0) {
    $squery = mysql_query ("select *,if (rank/votes, rank/votes,0) as ranks,if (stars, stars,0) as star from top_user where status='Y' AND thin>=$min_hits order by thin DESC,ranks DESC,star DESC,thout DESC limit $from,$t_step") or die (mysql_error());
    $tquery = mysql_db_query ($dbname,"select count(sid) as total from top_user where status='Y'",$db) or die (mysql_error());
}
else {
    $squery = mysql_db_query ($dbname,"select *,if (rank/votes, rank/votes,0) as ranks,if (stars, stars,0) as star from top_user where status='Y' AND thin>=$min_hits and category=$cid order by thin DESC,ranks DESC,star DESC,thout DESC limit $from,$t_step",$db) or die (mysql_error());
    $tquery = mysql_db_query ($dbname,"select count(sid) as total from top_user where status='Y' and category=$cid",$db) or die (mysql_error());
}

?>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (window != top) { top.location.href = location.href; }
-->
</SCRIPT>
<SCRIPT language=JavaScript><!--
    function changecat(newcat) {
        exit=false;
        site = "index.php?cid="+(newcat);
        if (newcat!=0) {
        top.location.href=site;
        } else {
        top.location.href="index.php";
        }
    }
    -->
</SCRIPT>

<center>
<?
    if ($a_m == 1) { echo $vote_log_message;}
    if ($a_m == 2) { echo $anti_cheat_message;}
    if ($a_m == 5) { echo $cookie_message;}
?>
<font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size;?>"><a href=add.php>Add Site</a> || <a href=edit.php>Edit Site</a> || <a href=last.php>Last <? echo $last_ssites;?> Submitted Sites</a> || <a href=help.php>Help</a></font>
</center>
<BR>

<table bgcolor="black" align="center" width="600" border="0" cellspacing=1 cellpadding=3>
    <tr>
        <td bgcolor="#C3D8E9" colspan="5" align="center"><font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size;?>"><? echo $top_name;?></font></td>
    </tr>
    <tr>
        <td bgcolor="white" colspan="5" align="right">
            <B><font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="-2">Pages:
            <?
            $trows = mysql_fetch_array($tquery);

            $count = $trows[total];
            $i = 0;
            $step = $t_step;
            $sstep = 0;

            echo $round;
            while ($sstep < $count) {
                if ($from == $sstep) {
                    echo " [$i] ";
                }
                else {
                    echo " [<a href=\"?from=$sstep&cid=$cid\">$i</a>] ";
                }
                    $sstep = $sstep + $step;
                    $i++;
            }
            ?>
            </font></B>
        </td>
    </tr>
    <tr>
        <td align="center" BGCOLOR="#A3C2DD"><a href=random.php><img src="images/random.gif" width=20 height=15 border=0 ALT="Random Link"></a></td>
        <td colspan="4" align="right" BGCOLOR="#A3C2DD">
        <form action=index.php method=post>
        <table width=100% border=0 cellpadding=2 cellspacing=0>
        <tr>
            <td align=right><select name=cid onchange=changecat(this.options[this.selectedIndex].value)>
            <option value=0 <? if ($cid == 0) {echo "selected"; }?>>All</option>
            <?
            $query = mysql_db_query ($dbname,"select * from top_cats order by catname",$db) or die (mysql_error());
            while ($rows = mysql_fetch_array($query))
            {
                echo "<option value=$rows[cid]";
                if ($cid == $rows[cid]) {echo " selected";}
                echo ">$rows[catname]</option><BR>";
            }
            ?>
            </select></td>
        </tr></table>
        </td>
    </tr>
    <tr>
        <td bgcolor="#5087AF" align="center"><font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size;?>"><? echo $RANK;?></font></td>
        <td bgcolor="#5087AF" align="center"><font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size;?>"><? echo $SITES;?></font></td>
        <td bgcolor="#5087AF" align="center"><font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size;?>"><? echo $VOTES;?></font></td>
        <td bgcolor="#5087AF" align="center"><font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size;?>"><? echo $HITS;?></font></td>
    </tr>
<TR>
    <TD Colspan="6" BGCOLOR="white" Align="center">
        <? include "ads1.html";?>
    </TD>
</TR>
<?

if (!$from) $cc=1;
else $cc = $from+1;

while ($rows = mysql_fetch_array($squery)) {
    $jscript_imgs[$img_num] = $rows[banner];   
    if ($rows[ranks] > 0) {
        $rating = $rows[ranks];
    }
    else { $rating = 0;}
    ?>
    <tr>
        <td align="center" bgcolor="white">
            <font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size-1;?>"><? echo $cc;?></font>
        </td>
        <td bgcolor="white">
            <center><a href="out.php?<? echo "site=".$rows[sid];?>" target="_blank" onmouseover="window.status='<? echo $rows[url]?>'; return true;" onmouseout="window.status=''; return true;">
            <?
            echo "<IMG SRC=\"".$rows[banner]."\" BORDER=\"0\" width=\"$max_banner_width\" height=\"$max_banner_height\"><br>";
            ?>
            </A></center>
            <?
                if ($rows[country]) {
                    $country = substr($rows[country],0,strpos($rows[country],'.'));
                    echo "<img width=\"20\" height=\"13\" align=\"center\" src=\"images/flags/".$rows[country]."\" border=1 Alt=\"".$country."\">";
                }
            ?>       
            <font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size-1;?>">       
            <a href="out.php?<? echo "site=".$rows[sid];?>" target="_blank" onmouseover="window.status='<? echo $rows[url]?>'; return true;" onmouseout="window.status=''; return true;"><? echo $rows[title];?></A>
            <?
            if ($new_site_days > 0) {
                if (time() - $rows[sid] - 86400*$new_site_days < 0) echo $new_site_image;
            }

            $htc = hot_status_check ($rows[stars],$hot_site_image);
            echo $htc;

            if ($use_rating == 1 && $use_cool == 1) {
                $ci = get_cool_icon ($rows[rank],$rows[votes],$cool_site_image);
                echo $ci;
            }
            if ($use_rating == 1) {
                $ssr = stars_site_rating ($rows[rank],$rows[votes]);
                echo $ssr;
            }
            ?>
            <BR>
        <? echo $rows[description];?>
        <div align=right>
        <?       
        if ($use_rating == 1) {
            echo "<B><font size=\"-2\"><A HREF=\"rate.php?site=$rows[sid]\">Rate It!</A></font></B>&nbsp;&nbsp;&nbsp;&nbsp;";
        }

        if ($use_review == 1) {
            $reviews = get_site_reviews($rows[sid]);
            echo "<B><font size=\"-2\"><A HREF=\"review.php?site=$rows[sid]\">Write Review</A> ($reviews)</font></B>&nbsp;&nbsp;&nbsp;&nbsp;";
        }
        if ($use_taf == 1) {
            echo "<B><font size=\"-2\"><A HREF=\"recommend.php?site=$rows[sid]&cid=$rows[category]\">Recommend it!</A></font></B>&nbsp;&nbsp;&nbsp;&nbsp;";
        }
        if ($cid == 0) {
            $categ = get_site_category($rows[sid],$rows[category]);
            echo "<B><font size=\"-2\">Category : <A HREF=\"index.php?cid=$rows[category]\">$categ</A></font></B>";
        }
        ?>
        </div>
        </font></td>
        <td align="center" bgcolor="white">
            <font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size-1;?>"><? echo $rows[thin];?></font>       
        </td>
        <td align="center" bgcolor="white">
            <font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size-1;?>"><? echo $rows[thout];?></font>       
        </td>
    </tr>
    <?
$cc++;
}

$query = mysql_db_query ($dbname,"select count(sid) as stotal from top_user where status='Y'",$db) or die (mysql_error());
$rows = mysql_fetch_array($query);
$stotal = $rows[stotal];

?>
    <TR>
        <TD Colspan="6" BGCOLOR="white" Align="center">
            <? include "ads2.html";?>
        </TD>
    </TR>
    <tr>
        <td bgcolor="#C3D8E9" colspan="6" align="center">
        <font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size-1;?>"><? echo $stotal;?> Sites in our Database, List Views: <? include "counter.php";?><BR>
        <? echo $min_hits;?> incoming hit(s) required to be in the toplist.<br>
        In/Out resets every <?echo $days_to_reset;?> days, Next Reset: <? echo date("n/j/y h:i:s a", $reset_file[0])?>.<BR>
        <?
               

        $mtime2 = explode(" ", microtime());
        $endtime = $mtime2[1] + $mtime2[0];
        $totaltime = ($endtime - $starttime);
        $totaltime = number_format($totaltime, 7);

        echo "Processing Time: ".$totaltime." sec.";
       
        ?>
        </font></td>
    </tr>
    <tr>
        <td valign="top" align = "left" bgcolor="#ffff99" colspan=5">
        <font color="<? echo $font_color;?>" face="<? echo $font_face;?>" size="<? echo $font_size-1;?>">
        <img src="images/star.gif" width="10" height="9" border="0" alt="">=Useless
        <img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt="">=Boring
        <img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt="">=Alright
        <img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt="">=Superb
        <img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt=""><img src="images/star.gif" width="10" height="9" border="0" alt="">=Outstanding
        </font>
        </td>
    </tr>
</table>
<?
include "footer.php";
?>
Avatar billede morw Nybegynder
06. februar 2003 - 18:11 #1
Din varibel $from indeholder noref i stedet for et tal.

Du har sikkert brugt den variabel til noget andet først.
Avatar billede snoezel Nybegynder
06. februar 2003 - 18:18 #2
ved du hvordan jeg retter det og til hvad :-)
Avatar billede snoezel Nybegynder
06. februar 2003 - 18:20 #3
Jeg har prøvet echo '*SQLSTART* '.$sqlquery.' *SQLSLUT*';
og det gav dette - hvis det er til nogen hjælp


*SQLSTART* select *,if (rank/votes, rank/votes,0) as ranks,if (stars, stars,0) as
star from top_user where status='Y' AND thin>=0 order by thin DESC,ranks DESC,star DESC,thout DESC limit noref,10 *SQLSLUT*
Avatar billede morw Nybegynder
06. februar 2003 - 18:25 #4
ja: Find ud af hvor du bruger varablen $from.

Kig i

include "config.php";
include "header.php";

Går ud fra at du ikke kalder filen med fil.php?from=noref ??
Avatar billede snoezel Nybegynder
06. februar 2003 - 18:52 #5
Header.php - bruges ikke der
config.php - bruges heller ikke her

Fremtræder 7 gange i index.php

.php?from=noref bruges ingen steder

;-)
Avatar billede morw Nybegynder
06. februar 2003 - 18:55 #6
Prøvet at søge efter noref i index.php ??
Avatar billede snoezel Nybegynder
06. februar 2003 - 18:57 #7
den er der ikke
Avatar billede snoezel Nybegynder
06. februar 2003 - 18:59 #8
counter.php bliver også includeret, men heller ikke her fremtræder nogen af tingene!
Avatar billede morw Nybegynder
06. februar 2003 - 19:03 #9
Det må jo blive sat et eller andet sted. "Søg og du skal finde...."
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:05 #10
det har jeg gjort, skal jeg poste dem her ?
Det gør den ikke ;-)
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:05 #11
varablen $from fremtræder 7 gange i index.php - er det så ikke der ??
Avatar billede morw Nybegynder
06. februar 2003 - 19:07 #12
Øhh krystalkuglen er allerede overbelastet i denne uge. Så du bliver nok nødt til at vise indholdet.
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:11 #13
index.php er postet i toppen i forvejen de andre kommer her
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:11 #14
COUNTER.PHP


<?

$counter_file_line = file($count_log_file);
$counter_file_line[0] = $counter_file_line[0]+1;

$cf = fopen($count_log_file, "w");
flock($cf,2);
fputs($cf, "$counter_file_line[0]");
fclose($cf);

$display = $counter_file_line[0];

if ($counter_file_line[0] >= 10000000) {
    $display = round(($counter_file_line[0]/1000000))."M";
}

elseif ($counter_file_line[0] >= 100000) {
    $display = round(($counter_file_line[0]/1000))."K";
}

echo $display;

?>
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:13 #15
COUNTER.PHP


<?
$user = "";
$pass = "";
$dbname = "";
$dbhost = "";
$t_step = "10";
$last_ssites = "10";
$max_banner_width = "88";
$max_banner_height = "31";
$title_l = "40";
$description_l = "200";
$vote_image_url = "http://www.domain.dk/phptoplist/images/88logo.gif";
$url_to_folder = "http://www.domain.dk/phptoplist";
$full_path = "/customers/domain.dk/gratis-lir.dk/httpd.www/phptoplist";
$reset_log_file = "/customers/domain.dk/gratis-lir.dk/httpd.www/phptoplist/admin/reset.txt";
$count_log_file = "/customers/domain.dk/httpd.www/phptoplist/admin/count.txt";
$use_cookies = "0";
$vote_timeout = "13";
$gateway = "1";
$days_to_reset = "30";
$new_site_days = "10";
$new_site_image = "<font size=1 color=red><SUP>NY</SUP></FONT>";
$hot_site_image = "<font size=1 color=red><SUP>HOT</SUP></FONT>";
$use_cool = "1";
$cool_site_image = "<font size=1 color=blue><SUP>COOL</SUP></FONT>";
$button_text = "Stem på denne side";
$top_name = "GratisLir Toplisten";
$admin_email = "";
$new_member = "yes";
$auto_validation = "no";
$min_hits = "0";
$use_review = "1";
$review_step = "10";
$use_taf = "1";
$r_subject = "Anbefalede websider";
$use_rating = "1";
$row1_bg_color = "#DFDFDF";
$row2_bg_color = "#C0C0C0";
$font_face = "Verdana";
$font_size = "2";
$font_color = "black";
$RANK = "Rank";
$SITES = "Sider";
$VOTES = "Ind";
$HITS = "ud";
$RATING = "Rating";
$anti_cheat_message = "<font color=red face=verdana size=2>Hmm, prøver du at snyde! Din stemme er ikke blevet gemt.</font><br>";
$vote_log_message = "<font color=red face=verdana size=2>Tak! Din stemme er blevet gemt!</font><br>";
$cookie_message = "<font color=red face=verdana size=2>Aktiver venligst cookies.</font><br>";
$ver = "2.0 FREE";
include_once("$full_path/connect.php");
include_once("$full_path/functions.php");
?>
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:13 #16
HEADER.PHP




<?
$mtime1 = explode(" ", microtime());
$starttime = $mtime1[1] + $mtime1[0];
?>
<HTML>
<HEAD>
<LINK TYPE="text/css" REL="stylesheet" HREF="style.css">
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=iso-8859-1">
<TITLE><? echo $top_name?></TITLE>
</HEAD>

<BODY>
<table align=center width=600 border=0>
<tr>
    <td>
Avatar billede morw Nybegynder
06. februar 2003 - 19:22 #17
include_once("$full_path/connect.php");
include_once("$full_path/functions.php");

indhold??
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:23 #18
FUNCTIONS.PHP



<?
function get_site_category($sid,$cid) {
    Global $dbname,$db;
    $query = mysql_db_query ($dbname,"select catname from top_cats where cid='$cid'",$db) or die (mysql_error());
    $rows = mysql_fetch_array($query);
    $cc = $rows[catname];
    return $cc;
}

function get_site_reviews($sid) {
    Global $dbname,$db;
    $query = mysql_db_query ($dbname,"select count(rid) as reviews from top_review where sid='$sid'",$db) or die (mysql_error());
    $rows = mysql_fetch_array($query);
    $cc = 0;
    $cc = $rows[reviews];
    return $cc;
}

function reset_update_time() {

    Global $days_to_reset,$reset_log_file;

    $days_code = 86400 * $days_to_reset;
    $reset_date = time()+$days_code;

    $fp = fopen($reset_log_file, "w");
    flock($fp,2);
    $fw = fwrite($fp, $reset_date);
    fclose($fp);
}

function reset_list() {
   
    Global $dbname,$db;
    mysql_db_query ($dbname,"update top_user set thin='0', thout='0'",$db) or die (mysql_error());
    mysql_db_query ($dbname,"delete from top_hits",$db) or die (mysql_error());

}

function check_email_addr($email) {
    if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email)) {
        return 1;
    }else{
        return 0;
    }
}

function stars_site_rating ($rating,$votes) {

    if ($rating > 0) $site_rating = round (($rating/$votes)/2,1);
    else $site_rating = 0;

    if ($site_rating > 0) {
        $sc = $site_rating;
        while ($sc > 0 && $sc >= 1) {
            $ssc.= "<img src=\"images/star.gif\" width=10 height=9 border=0 ALT=\"Rating : $site_rating\">";
            $sc--;
        }
    }
    if ($sc > 0 && $sc < 1) {
        $ssc.= "<img src=\"images/star_half.gif\" width=5 height=9 border=0 ALT=\"Rating : $site_rating\">";
    }
    return ($ssc);
}

function get_cool_icon ($rating,$votes,$cool_icon) {
        $ci = "";
    if ($rating >0) $rg = round (($rating/$votes)/2,1);
        if ($rg > 4.7) {
        $ci = $cool_icon;
    }
    return ($ci);
}

function hot_status_check ($hot_status,$hot_status_image) {
        $hsi = "";
        if ($hot_status > 0) {
        $hsi = $hot_status_image;
    }
    return ($hsi);
}
?>
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:24 #19
CONNECT.PHP



<?
$db = mysql_connect("$dbhost","$user","$pass") or die ("Can't connect to mySQL server");
mysql_select_db ("$dbname") or die (mysql_error());
?>
Avatar billede morw Nybegynder
06. februar 2003 - 19:33 #20
Siden virker da. http://www.gratis-lir.dk/phptoplist/index.php

Må være fordi du har en cookie med denne værdi
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:35 #21
hmm, den har godt nok virket her, men nu får jeg den fejl :-)

Jeg har nok en cookie som du siger, for jeg kører med et trade script, og den bruger værdien noref - hmm
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:44 #22
Fandt 3 cookies med ordet NOREF har slettet dem, og nu virker toplisten :-)
Det er jo nok ikke kun mig af de besøgende der har det problem, kan man komme ud over det ??
Avatar billede snoezel Nybegynder
06. februar 2003 - 19:57 #23
Ihvertfald points til dig, og tak for hjælpen :)
Avatar billede morw Nybegynder
06. februar 2003 - 20:07 #24
Nu er det jo ikke kode du selv har lavet, men man kan undgå det ved at bruge $_GET['from'] o.s.v. og så slå register_globals fra.

Det er vist et emne til php-kategorien
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester