Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Link klikalny tylko zalogowanym
Forum PHP.pl > Forum > Przedszkole
vit
Mam prosbę.
Chodzi o komentarze już dodane do bazy. Jest możliwość pisania komentarzy przez gości (tzn nie zalogowanych), lecz kiedy dopisują komentarz to przy ich nicku widnieje znak tyldy (~), np. ~vit. Jesli komentarz piszą zalogowani to przy ich nicku nie ma tyldy. I do tej pory jest OK.
Różnica: przy komentarzu nick jest klikalnym linkiem do każdego zalogowanego. Lecz nick jest również klikalnym linkiem, gdy komentarze dodają nie zalogowani. I tu jest problem, bo ten klikalny link nie zalogowanego prowadzi do nikąd, bo przecież takiego użytkownika w bazie nie ma.
Wymyśliłem rozwiązanie tego problemu, lecz nie wiem, jak go "wdrożyć".
Po prostu niech jakaś funkcja (?) wyszuka na początku nicka znak tyldy i "sprawi", że nick nie zalogowanego nie będzie klikalnym (to ostatnie zrobię sam).
Więc wyglądać miałoby to tak:
[i]Jeśli znajdziesz na początku nicka ~ to... (i jak pisałem resztę zrobię już sam smile.gif

Z góry bardzo dziekuje,
Pozdrawiam!
NEO.pl
http://php.net/substr
$string{0} == '~'
...
vit
Czyli mam zrobić coś na styl:
  1. if($nick{0} == '~') {echo 'Gość';}

?
vit
Nie moge edytować posta wyżej więc napiszę - podany przez Ciebie kod ucina tylde, a ja chce ją zostawić, tylko chcę zrobić założenie, że
jesli znajdziesz na poczatku nicka znak ~ to...
czyli coś na styl
  1. if(...) {...}

Turson
Jako, że jeszcze się dobrze na PHP nie znam, zrobiłbym że każdy gość ma nick poprostu Gość.
Następnie
  1. if($nick == 'Gość) { echo "Gość";} else { echo '<a href="link">'.$nick.'</a>';}

oczywiście wcześniej zdefiniować zmienną albo $_POST['name']
vit
Cytat
Jako, że jeszcze się dobrze na PHP nie znam, zrobiłbym że każdy gość ma nick poprostu Gość.

Ja też "raczkuję" w php wink.gif
Twoje rozwiązanie jest chyba dobre, ale niestety nie zadziała u mnie, bo ja już mam nieco ponad 400 komentarzy i rzadko się powtarza któryś z nicków gości. Twoje rozwiązanie byłoby dla mnie dobre, ale tylko gdy strona (ewentualnie jakiś dział) by startował(-a). Jak już pisałem, chodzi o już istniejące wpisy w komentarzach, gdzie kazdy gość ma inny nick.
Chodzi mi tylko o taką funkcję (?) która znalazłaby na początku nicka tyldę i na podstawie tego wyświetlały by się odpowiednie dane(które już zrobię sam), czyli np komentarze od nie zalogowanych:
- nie mają klikalnego linka do swojego profilu
- nie mają wpisanych ilości postów i komentarzy
- oraz innych opcji dostepnych tylko dla zalogowanych
ciekawskiii
1.
  1. $a=substr($nick,1,20);
  2. if($a=="~")
  3. {
  4. //gosc
  5. }else{
  6. //user
  7. }

2.sprawdzasz w bazie czy user jest zarejstrowany
3.pewnie jest jeszcze kilka innych sposobow
bmL
Po co tu substr ingerować?
  1. echo $nick[0] == '~' ? $nick : '<a href="....">'.$nick.'</a>';
  2. albo
  3. if($nick[0] == '~')
  4. echo $nick;
  5. else
  6. echo '<a href="....">'.$nick.'</a>';


EDIT: tak wogóle powinno być
Kod
$a=substr($nick,0,1);

a nie
Kod
$a=substr($nick,1,20);

smile.gif
ciekawskiii
bmL fakt, pomylilem sie bo na spiacego juz pisalem ale co do Twojego sposobu to nie bardzo on zadziala
sn1p3r
  1. $nicknames=array("Jan", "~Barbara");
  2.  
  3. foreach($nicknames as $nickname) {
  4. if($nickname[0] == "~")
  5. echo "$nickname jest gościem\n";
  6. else
  7. echo "$nickname nie jest gościem\n";
  8.  
  9. }
  10.  

Coś takiego?

Ja to bym robił inaczej - userów rozróżniał nie na podstawie tyldy w nicku. Tylda na stronie może oznaczać "gościa" ale nie w bazie imo
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.