Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z pustym ID
Forum PHP.pl > Forum > Przedszkole
majka111
Witam

mam takiego dziwolaga i zauwazyłem jeden maly mankament.... przykładowo skasowany został wpis w bazie powiedzmy numer id15

po skasowaniu wisuje recznie adres strony www.strona.pl/?=id15 i zamiast pokazywac mi 404 ze strona nie istnieje
idzie do bazy szuka danych, a jako ze nie ma tej 15 (bo została skasowana) cos tam sobie wylicza i wywala mi strone

z napisem fatall error


jak zrobic zeby po nawiazaniu polaczenia z baza w przypadku WYKASOWANEGO wpisu o id 15

po sprawdzeniu ze go nie ma

przerywało wykonywanie skryptu

i wracało do index lub do 404


  1.  
  2. $idogl=intval($_GET[idogl]);
  3.  
  4. require_once("funkcje.php");
  5. require_once("include/metatagi.php");
  6.  
  7. $schow=intval($_GET['schowek']);
  8. if($schow=='1')
  9. {
  10. setcookie("schowek[$idogl]", $idogl, time()+3600*24*7);
  11. }
  12. $zapytanie="SELECT tytul,miasto,opis FROM oglosz WHERE idogl='$idogl' ";
  13.  
  14. $wykonaj=mysql_query($zapytanie);
  15.  
  16. while($wiersz=mysql_fetch_array($wykonaj))
  17. {
  18. $tyt=strip_tags(ucfirst($wiersz['tytul']));
  19. $mias=strip_tags(ucfirst($wiersz['miasto']));
  20. $op=ucfirst($wiersz['opis']);
  21.  
  22. }
  23.  
  24.  
  25.  



dziekuje za pomoc
dżozef
  1. $wykonaj=mysql_query($zapytanie);
  2.  
  3. if ($wykonaj!=false)
  4. while($wiersz=mysql_fetch_array($wykonaj))
  5. {
  6. $tyt=strip_tags(ucfirst($wiersz['tytul']));
  7. $mias=strip_tags(ucfirst($wiersz['miasto']));
  8. $op=ucfirst($wiersz['opis']);
  9.  
  10. }
majka111
dalej mieli

wydaje mi sie ze dla niego to nie jest false brak rekordu



EDYCJA




przepraszam ...coś jest nie tak ogólnie chyba ....

wkleiłem żeby uzyskac informacje

  1. echo "$idogl";


i wyswietla mi 15 ...czyli ..tak jakby pobierał dane z innego miejsca bo 15 niby jest wykasowana w bazie jej nie widze


ide szukac dalej

............chyba juz wiem w czym jest problem , albo i nie

on nie sprawdza poprawności numeru ID tylko przyjmuje założenie że wpisany ID na pasku przegladarki jest wlasciwym ID


jak wpisze adres www.strona.pl/?=id150000321


to wpisane

  1. echo "$idogl";


zwraca mi wartość 150000321


czyli bierze ta wpisana wartość i bezwzglednie szuka tego rekordu jako ze w tym rekordzie nic nie ma zwraca puste pola i dlatego jest cyrk



znalazłem funkcje która wybiera dane - moze tutaj cos jest nie tak


  1. function pobierz_detale_oglosz($idogl)
  2. {
  3.  
  4. if (!$idogl|| $idogl=="")
  5. return false;
  6. $query = "select * from oglosz where idogl='$idogl'";
  7. $result = @mysql_query($query);
  8. if (!$result)
  9. return false;
  10. $result = @mysql_fetch_array($result);
  11.  
  12. return $result;
  13. }
dżozef
ok, załapałem, po prostu źle to robisz.
powinieneś wywołać stronę: http://example.com?id=15
i wtedy:
  1. $idogl=intval($_GET['id']);


poza tym zainteresuj się PDO
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.