Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Link klikalny tylko zalogowanym
-vit-
post 25.03.2011, 20:20:33
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 smile.gif

Z góry bardzo dziekuje,
Pozdrawiam!
Go to the top of the page
+Quote Post
NEO.pl
post 25.03.2011, 20:22:17
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 25.03.2011, 20:34:03
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 25.03.2011, 21:36:45
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 25.03.2011, 21:45:34
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 25.03.2011, 23:13:19
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 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 25.03.2011, 23:30:47
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 26.03.2011, 00:11:12
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);

smile.gif

Ten post edytował bmL 26.03.2011, 00:16:28


--------------------
Tutaj miał być jakiś mądry tekst. Miał być... No ale jest głupi tekst.
Go to the top of the page
+Quote Post
ciekawskiii
post 26.03.2011, 07:03:14
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 26.03.2011, 09:06:59
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


--------------------
Michał Gruchała
scaleIT.pl
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 Wersja Lo-Fi Aktualny czas: 17.06.2025 - 08:05