Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyświetlaniem - error
Forum PHP.pl > Forum > PHP
artiego
hi
kiedy wchodzimy sobie na strone www.alemiasto.pl [oczywiście to samo jest kiedy dodamy ../index.php] - wyskakuje nam strona, ale bez newsów.. za to pojawia sie tekst
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-10,10' at line 1"

A kiedy wpiszemy dokładnie tak jak powina otworzyć się strona.. to jest http://www.alemiasto.pl/index.php?site=mai...e&news=view&p=1 wczytuje się tak jak powinno.

OCB ? W czym tkwi problemo ? Jak to obejść ? - PILNE blink.gif

ps. system newsów był wykonany na zlecenie, prosze nie komentować kodu html, wiem, ze tam jest brudów dużo, bo strona robiona przez FrontPage. Zdaje sobie z tego sprawee rolleyes.gif tiredsmiley.gif
nospor
No ale czego od nas oczekujesz? Nie podales kodu php do generowania tych newsów, to ci bledu bezosrednio nie pokazymy.

Cala sprawa rozchodzi się o parametr p w linku. Jak go nie podasz, to do mysql trafiają bzdurne dane do limit. Najprawdopodoniej, ktos przyjąl, ze ten parametr zawsze jest i go zawsze zczytuje, nawet jak go nie ma. A powinno byc, ze jesli go nie ma, to p=1.
Tyle jestem w stanie ci teraz powiedziec. Pokaz kod php, to powiem ci dokladniej winksmiley.jpg
Adiasz
parametr p to z chyba id pagera, tak na szybko to wpisz gdzies na poczatkiu index.php linijke
  1. <?php
  2.  
  3. if((int)$_GET["p"] == 0) {
  4. $_GET["p"] = 1;
  5. }
  6.  
  7. ?>

powinno pomoc
nospor
Skoro juz padl kod, to ja bym go lekko zmodyfikowal. @Adiasz w ten sposob, gdy nie będzie p, php bedzie plul noticami. A po co ma to robic? smile.gif I lepiej nie przypisywac nic do super globali.
  1. <?php
  2.  
  3. if(empty($_GET['p']) )
  4.   $p = 1;
  5. else
  6.   $p = (int)$_GET['p'];
  7. ?>


edit:
@Adiasz i dlatego też, ja wolalem zaczekac na ten jego kod, by nie pisać nic na darmo i niekoniecznie poprawnego winksmiley.jpg
Adiasz
@nospor masz racje, wpisalem wartosc do GETa poniewaz nie znajac kodu artiego nie wiemy czy odwolanie do zmiennej $_GET["p"] jest w pliku index.php czy moze w jakiejs funkcji czy klasie, wpisujac ja do tablicy globalnej mam pewnosc ze zawsze zadziala :-)
artiego
czyli skad kod Wam pokazać ? wydaje mi się że chodzi o kod z pliku `view` z systemu newsów. ..
jestli tak to oto on
PLIK VIEW
  1. <?php
  2. # STOPKA tongue.gif ale co będę kolegę reklamował 
  3. #
  4. if(!defined("Index")) {
  5.     exit();
  6. }
  7. #if(!isset($_GET["news"])) {
  8. #    header("Location: ".$_SERVER["REQUEST_URI"]."news=view&p=1");
  9. #    exit();
  10. #}
  11. #if(!isset($_GET["p"])) {
  12. #    header("Location: ".$_SERVER["REQUEST_URI"]."&p=1");
  13. #    exit();
  14. #}
  15. $q = "SELECT * FROM ".DbPrefix."news";
  16. if(isset($_GET["cat"])) {
  17.     $qc = "SELECT CategoryId FROM ".DbPrefix."category WHERE CategoryId = '".$_GET["cat"]."'";
  18.     $mc = mysql_query($qc) or die(mysql_error());
  19.     $nc = mysql_num_rows($mc);
  20.     if($nc == 1) {
  21.         $q .= " WHERE NewCategory = '".$_GET["cat"]."'";
  22.     } else {
  23.         echo "Wybrana kategoria nie istnieje!";
  24.     }
  25. }
  26. $q .= " ORDER BY NewDate DESC LIMIT ".($_GET["p"]-1)*ConfigPage.",".ConfigPage;
  27. $m = mysql_query($q) or die(mysql_error());
  28. $n = mysql_num_rows($m);
  29. if($n == 0) {
  30.     echo "Brak wpisów.";
  31. } else {
  32.     $i = 0;
  33.     while($r = mysql_fetch_array($m)) {
  34.         $i++;
  35.         if(ConfigSize != NULL) {
  36.             if(strlen($r["NewValue"]) >= ConfigSize) {
  37.                 $NewValue = substr($r["NewValue"], 0, ConfigSize)
  38.                 ."... [<a href=\"".ConfigInclude
  39.                 ."news=comment&id=".$r["NewId"]."\">więcej</a>]\n";
  40.             } else {
  41.                 $NewValue = $r["NewValue"];
  42.             }
  43.         } else {
  44.             $NewValue = $r["NewValue"];
  45.         }
  46.         $qc = "SELECT * FROM ".DbPrefix."category WHERE CategoryId = '".$r["NewCategory"]."'";
  47.         $mc = mysql_query($qc) or die(mysql_error());
  48.         $rc = mysql_fetch_array($mc);
  49.         $qu = "SELECT UserName, UserContact FROM ".DbPrefix."users WHERE UserId = '".$r["NewUser"]."'";
  50.         $mu = mysql_query($qu) or die(mysql_error());
  51.         $ru = mysql_fetch_array($mu);
  52.         if($r["NewCategory"] == 0) {
  53.             $rc["CategoryTpl"] = ConfigTpl;
  54.             $rc["CategoryId"] = null;
  55.             $rc["CategoryName"] = null;
  56.         }
  57.  
  58.         $CategoryTpl = preg_replace(array(
  59.             "#{KATEGORIA}#is",
  60.             "#{TYTUL}#is",
  61.             "#{DATA}#is",
  62.             "#{TRESC}#is",
  63.             "#{ZDJECIE}#is",
  64.             "#{AUTOR}#is",
  65.             "#{DRUKUJ}#is",
  66.             "#{KOMENTUJ}#is",
  67.             "#{KOMENTARZY}#is",
  68.             "#{ZRODLO}#is",
  69.             ""#{ID}#is
  70.         ), array(
  71.             "<a href=\"".ConfigInclude."news=view&cat=".$rc["CategoryId"]."\">".$rc["CategoryName"]."</a>\n",
  72.             $r["NewTitle"],
  73.             date("d.m.Y H:i:s", $r["NewDate"]),
  74.             $NewValue,
  75.             "<img border=\"0\" align=\"".$r["NewImgp"]."\" src=\"images/".$r["NewImage"]."\">",
  76.             "<a href=\"".$ru["UserContact"]."\">".$ru["UserName"]."</a>",
  77.             "<a href=\"print.php?id=".$r["NewId"]."\" target=\"_blank\">Drukuj</a>",
  78.             "<a href=\"".ConfigInclude."news=comment&id=".$r["NewId"]."\">Komentarze</a>",
  79.             $r["NewComments"],
  80.             $r["NewInfo"],
  81.             $r["NewId"]
  82.         ), $rc["CategoryTpl"]);
  83.         if(isset($_GET["mc"]) && isset($_GET["rok"])) {
  84.             $dt1 = date("m", $r["NewDate"]);
  85.             $dt2 = date("Y", $r["NewDate"]);
  86.             if(($_GET["mc"] == $dt1) && ($_GET["rok"] == $dt2)) {
  87.                 echo $CategoryTpl;
  88.             }
  89.         } else {
  90.             echo $CategoryTpl;
  91.         }
  92.         if($n != $i) {
  93.             echo "<br /><br />";
  94.         }
  95.         echo "\n";
  96.     }
  97.     $qp = "SELECT NewId FROM ".DbPrefix."news";
  98.     if(isset($_GET["cat"])) {
  99.         $qp .= " WHERE NewCategory = '".$_GET["cat"]."'";
  100.     }
  101.     $mp = mysql_query($qp) or die(mysql_error());
  102.     $np = mysql_num_rows($mp);
  103.     if($np > ConfigPage) {
  104.         $s = ceil($np/ConfigPage);
  105.         echo "<br /><br />Strony:";
  106.         for($d = 1; $d <= $s; $d++) {
  107.             echo " [<a href=\"".preg_replace("#p=".$_GET["p"]."#is", "p=".$d, $_SERVER["REQUEST_URI"])."\">$d</a>]";
  108.         }
  109.     }
  110. }
  111.  
  112. ?>


PLIK INDEX (nie mojej strony, tylko skryptu)
  1. <?php
  2.  
  3. define("Index", true);
  4. require_once("includes/config.php");
  5.  
  6. mysql_connect(DbHost, DbUser, DbPassword) or die(mysql_error());
  7.  
  8. $q = "SELECT * FROM ".DbPrefix."config";
  9. $m = mysql_query($q) or die(mysql_error());
  10. while($r = mysql_fetch_array($m)) {
  11.     define("Config".$r["ConfigName"], $r["ConfigValue"]);
  12. }
  13.  
  14. $q = "SELECT * FROM ".DbPrefix."banlist WHERE BanIp = '".$_SERVER["REMOTE_ADDR"]."'";
  15. $m = mysql_query($q) or die(mysql_error());
  16. $n = mysql_num_rows($m);
  17. if($n == 1) {
  18.     exit("Zostałe&para; zbanowany!");
  19. }
  20.  
  21. if(!isset($_GET["news"]) || $_GET["news"] == "view") {
  22.     require_once("includes/view.php");
  23. } elseif(!isset($_GET["news"]) || $_GET["news"] == "admin") {
  24.     require_once("admin/index.php");    
  25. } elseif(isset($_GET["news"]) && $_GET["news"] != "admin" && $_GET["news"] != "view") {
  26.     require_once("includes/".$_GET["news"].".php");
  27. } else {
  28.     require_once("includes/view.php");
  29. }
  30.  
  31. ?>
nospor
Cytat
czyli skad kod Wam pokazać ?
smile.gif
Kod, w którym wyswietlasz te newsy. No i inny, jesli jest potrzebny. Ty to wogole robiles? Wiesz mniej więcej o czym mowimy?
artiego
@nospor - pisałem skrypt newsów był pisany na zlecenie.

VIEW to plik który odpowiada za wyświetlanie newsa

na podstronie na której wyświetlają się newsy mam wrzucone
  1. <?php
  2. # --- N E W S --- #
  3. $dir = "news/index.php";
  4. # --------------------- #
  5. if(!is_file($dir)) {
  6.  echo "Plik <b>".$dir."</b> nie istnieje!\n";
  7. } else {
  8.  include_once($dir);
  9. }
  10. # --- N E W S --- #
  11. ?>
nospor
Cytat
@nospor - pisałem skrypt newsów był pisany na zlecenie
Tak, wiem. czytalem to. tylko nie napisale czy to zlecono Tobie, czy ty zlecileś komus winksmiley.jpg

No niestety za bardzo nie wiesz o co nam chodzilo. Kod co pokazales nam nie pomoże. Pewnie bardziej by sie przydal o ten plik: "news/index.php"

edit: na początku pierwszego skrytpu co pokazaleś (plik view), daj tak:
  1. <?php
  2. if(empty($_GET['p']) )
  3. $p = 1;
  4. else
  5. $p = (int)$_GET['p'];
  6.  
  7. ?>
a potem wszystkie wystąpienia $_GET["p"] zamien na $p
artiego
a j no i piknie ! biggrin.gif

DZIKI WIELGACHNE ZA POMOC Rkingsmiley.png
Można na was polegać - w sumie szybka reakcja na problemm no i co wazne - skuteczna - brawo brawo. Będe o Was pamietał w moich potyczkach.

PS. A tak na marginesie zapraszam na ALemiasto - serwis o mieście, którego oficjalne otwarcie o1.o4.2oo6 ! cool.gif

Mogę dać z odetchnięciem offtopic.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.