Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nie ma takiego id...
Forum PHP.pl > Forum > Przedszkole
roobik
Witam!
Mam "mały" problem...
plik np. abc.php - do niego są "podięte" id z bazy
Przy wyborze jakiegoś id "normalnie" (za pośednicywem linka), czyli np
abc.php?id5 - jest w porządku - internauta dostaje się na podstronę o id 5 ... smile.gif
I teraz tak: dajmy na to w zbiorze mam xx linków (od id=1 do id=xx)
Czy istnieje coś takiego, by jeśli taki internauta WPISZE w pasek adresu liczbę większą (jeśli chodzi o id) niż "przewiduje" to baza - to ponieważ nie ma takiego id przekieruje go na stronę abc.phpquestionmark.gif

Nieco zamieszałem.... ale wiadomo o co chodzi smile.gif
nospor
a po co przekierowywac na tą sama strone co sie aktualnie znajduje? Poprostu wal komunikat ze nie ma takiego id i juz
roobik
właśnie tak myslałem .....
ale to jest tak:
internauta "klika" id1 .... potem id 2 ..... potem ...... potem id 15
i myśli ..... a może jest id 35242 questionmark.gif (nie no tak wyszło smile.gif )
Ewentualnie żeby ok - żeby pojawiła mu sięstronka z informacją, że nie ma takiego id, po której zostaje przekierowny do np abc.php
nospor
Rownie dobrze mozna dac komunikat na stronie co jestes, ze nie ma id, no ale skoro sie upierasz:
  1. <?php
  2.  
  3. if (nie ma danego id)
  4. {
  5. header('Location: stronaokomunikacieobrakuid.php');
  6. }
  7.  
  8. ?>


zeby uprzedzic twoje pytanie o komunikat ze "headres alredy send" to se poszukaj o ob_start()
roobik
Cytat("nospor")
Rownie dobrze mozna dac komunikat na stronie co jestes, ze nie ma id

ok ... poddaję się z tym ob_start() ....
jak można zrobić z tym komunikatem ?
nospor
czemu sie poddajesz ? cos nie dziala?

A komunikat moze dodac:
  1. <?php
  2.  
  3. if (nie ma danego id)
  4. {
  5. echo 'Nie ma takiego id. nie kombinuj!!!!';
  6. }
  7.  
  8. ?>
roobik
a no ... nie tak do końca ....
czy cośtakiego ma sens?
Zakładając , że w bazie mam 42 rekordy, to czy kod powinien wyglądać tak:
  1. <?php
  2.  
  3. if (id>42)
  4. {
  5. echo 'Nie ma takiego id. nie kombinuj!!!!';
  6. }
  7.  
  8. ?>

questionmark.gif
nospor
nie, najpierw robisz selecta do bazy i sprawdzasz czy dany rekord jest w bazie. jesli jest to robisz to co miales robic, a jesli nie ma to dopiero wyswietlasxz komunikat. bo przeciez nie mozesz zalozyc z gory ze zawszde bedziesz mial 42 rekordy i to na dodatek o kolejnych id
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.