Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]problem z pustym ID
majka111
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 7.06.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
dżozef
post
Post #2





Grupa: Zarejestrowani
Postów: 125
Pomógł: 9
Dołączył: 25.05.2013

Ostrzeżenie: (0%)
-----


  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. }


Ten post edytował dżozef 28.06.2013, 23:52:26


--------------------
Go to the top of the page
+Quote Post
majka111
post
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 7.06.2010

Ostrzeżenie: (0%)
-----


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. }


Ten post edytował majka111 29.06.2013, 01:01:04
Go to the top of the page
+Quote Post
dżozef
post
Post #4





Grupa: Zarejestrowani
Postów: 125
Pomógł: 9
Dołączył: 25.05.2013

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 15:35