Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Link klikalny tylko zalogowanym
-vit-
post
Post #1





Goście







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 (IMG:style_emoticons/default/smile.gif)

Z góry bardzo dziekuje,
Pozdrawiam!
Go to the top of the page
+Quote Post
NEO.pl
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 5
Dołączył: 26.01.2011

Ostrzeżenie: (40%)
XX---


http://php.net/substr
$string{0} == '~'
...
Go to the top of the page
+Quote Post
-vit-
post
Post #3





Goście







Czyli mam zrobić coś na styl:
  1. if($nick{0} == '~') {echo 'Gość';}

?
Go to the top of the page
+Quote Post
-vit-
post
Post #4





Goście







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(...) {...}

Go to the top of the page
+Quote Post
Turson
post
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


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']

Ten post edytował TursoN 25.03.2011, 21:46:31
Go to the top of the page
+Quote Post
-vit-
post
Post #6





Goście







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 (IMG:style_emoticons/default/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
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #7





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


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
Go to the top of the page
+Quote Post
bmL
post
Post #8





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

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


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);

(IMG:style_emoticons/default/smile.gif)

Ten post edytował bmL 26.03.2011, 00:16:28
Go to the top of the page
+Quote Post
ciekawskiii
post
Post #9





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


bmL fakt, pomylilem sie bo na spiacego juz pisalem ale co do Twojego sposobu to nie bardzo on zadziala
Go to the top of the page
+Quote Post
sn1p3r
post
Post #10





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 9.03.2011

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


  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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 13:12