Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> okienko powitalne pokazywane tylko raz
nikestylex7
post
Post #1





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


Witam. Wiecie może jak mogę napisać w javascript bo w php jest to bez sensu okienko które wyskoczy tylko raz kiedy użytkownik po rejestracji zaloguje się pierwszy raz ?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Adi32
post
Post #2





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


Najprostsze na sesjach:

  1.  
  2.  
  3. if(!$_SESSION[okienko]) {
  4.  
  5. echo '
  6. <script type="text/javascript">
  7. //
  8. </script>
  9. ';
  10.  
  11. $_SESSION[okienko] = true;
  12.  
  13. }
  14.  


Jak nie to cookies. A jeżeli jeden raz na zawsze to wpis do bazy.
Go to the top of the page
+Quote Post
Psajkus
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 26.06.2011

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


@Adi32 mieszasz php z javascriptem? troche to nieladne, niefajne, zeby nie powiedziec... brzydkie.
Go to the top of the page
+Quote Post
Adi32
post
Post #4





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


Paskudne jednym słowem... Ale pokazuje mniej więcej jak uzyskać żądany efekt efekt (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@Psajkus a Ty pewnie byś chciał, by do tak banalnego kodu zaprząc system szablonów, np. Smarty i rozpisać się na 300 linijek?

Inna kwestia to taka, że do tego js nie jest potrzebny. Wystarczy html + css by zrobić zwykle "okienko"
Go to the top of the page
+Quote Post
kaem
post
Post #6





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Ale co mu dadzą sesje?
Musisz wiedzieć czy użytkownik jest pierwszy raz czy nie. Stwórz sobie w bazie dodatkową kolumnę typu boolean o domyślnej wartośći na to info. Przy logowaniu, od razu z loginem i hasłem pobierasz też informacje czy to jest nowy user. Jeśli tak zmieniasz wartość kolumny a potem w JS po załadowaniu dokumentu (np. body onload="") dajesz funkcję która wyświetli ładne okienko powitalne. Google -> 'jquery modal'
Go to the top of the page
+Quote Post
Psajkus
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 26.06.2011

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


co ma smarty i 300 linijek kodu z mieszaniem php i javascriptu?

btw. Sorry, ze tak zrugalem bezlitosnie (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
co ma smarty i 300 linijek kodu z mieszaniem php i javascriptu?
No bo żeby to pokazać na przykładzie smartiego trzeba by użyć większej ilości kodu (IMG:style_emoticons/default/wink.gif)
Jeśli zaś nie chciałeś używać smartiego czy innego systemu szablonu, to pokaż Twoje rozwiązanie, gdzie nie mieszasz kodu js z php. Z chęcią zobaczę.
Go to the top of the page
+Quote Post
Adi32
post
Post #9





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


Cytat(kaem @ 5.01.2012, 21:55:49 ) *
Ale co mu dadzą sesje?
Musisz wiedzieć czy użytkownik jest pierwszy raz czy nie. Stwórz sobie w bazie dodatkową kolumnę typu boolean o domyślnej wartośći na to info. Przy logowaniu, od razu z loginem i hasłem pobierasz też informacje czy to jest nowy user. Jeśli tak zmieniasz wartość kolumny a potem w JS po załadowaniu dokumentu (np. body onload="") dajesz funkcję która wyświetli ładne okienko powitalne. Google -> 'jquery modal'


nikestylex7 napisał, że okienko ma wyskakiwać tylko po rejestracji.

Użytkownicy zwykle nie rejestrują się kilka razy dziennie więc sesje powinny wystarczyć.

Wystarczy wkleić kod zaraz po rejestracji ewentualnie na stronie z komunikatem 'Sie właśnie zarejestrowałeś witamy'. A jak nie to tak jak napisałem dalej - wpis do bazy.

Ten post edytował Adi32 5.01.2012, 22:06:54
Go to the top of the page
+Quote Post
nikestylex7
post
Post #10





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


@kaem tak właśnie myślałem tylko chciałem jakoś uniknąć dodawania rekordu do bazy który jest potrzebny tylko na chwile.
Go to the top of the page
+Quote Post
Adi32
post
Post #11





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


Cytat(nikestylex7 @ 5.01.2012, 22:04:53 ) *
@kaem tak właśnie myślałem tylko chciałem jakoś uniknąć dodawania rekordu do bazy który jest potrzebny tylko na chwile.


I tak nie musisz dodawać tego do bazy. Jeżeli masz kolumnę z datą rejestracji to możesz wyświetlić powitanie tylko tego dnia w którym nastąpiła rejestracja (przy okazji zapisując do sesji żeby cały czas nie wyskakiwało). Zdałoby egzamin bo zdaje mi się, że każdy użytkownik loguje się tam gdzie się zarejestrował zaraz po rejestracji.

Jeszcze inaczej możesz zrobić: przy rejestracji możesz ustawić:

  1. $_SESSION[first_time] = true;


A potem przy zalogowaniu tylko:

  1. if ($_SESSION[first_time]) {
  2. // coś tam
  3. unset($_SESSION[first_time]);
  4. }
Go to the top of the page
+Quote Post
Psajkus
post
Post #12





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 26.06.2011

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


Tak na szybko, to mozna by to podzielic tak:

php:
  1. if($uzytkownik->pierwszeLogowanie()) {
  2. <div id="okno_powitalne"></div>
  3. }


js:

  1. $(document).ready(function(){
  2. if($("#okno_powitalne").size()>0) {
  3. pokazOkno();
  4. }
  5.  
  6. });
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Kod php to jeden wielki PARSE ERROR
2) No ale ten kod js tak czy siak wypadałoby jakoś podpiąć (IMG:style_emoticons/default/tongue.gif)

Tak nakrzyczałeś na poprzednika, że oczekiwałem od Ciebie jakiegoś "cudo" a nie zrobiłeś nic lepiej.
Go to the top of the page
+Quote Post
Psajkus
post
Post #14





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 26.06.2011

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


chciałem Ci przedstawić mój sposób a nie działający kod.

Wole trzymać kod php w plikach .php a javascript w .js, łatwiej jest wtedy programować jak ma się wszystko uporządkowane.
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tak czy siak w kodzie php co pokazałeś, pomijajać PARSE ERROR, też mieszasz kod php z kodem html. Z punktu widzenia PHP jest bez różnicy czy mieszasz php z html czy php z js - efekt jest ten sam - "mieszasz".

Cytat
a javascript w .js
Ale ten plik .js też musisz przecież gdzieś kiedyś podpiąć. No chyba że za każdym razem, niezależnie czy potrzebya czy nie to ładujesz ten kod js, który będzie potrzebny raz na miesiąc.

Nie chcę się z Tobą kłócić. ALe jak napisałem wcześniej tak naskoczyłeś na poprzednika, a sam wcale lepiej nie robisz. On mieszał i ty mieszasz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Adi32
post
Post #16





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


Gdy ktoś prosi o przykładowe rozwiązanie problemu to pomijamy takie kwestie (IMG:style_emoticons/default/smile.gif) Każdy wie, że porządek w plikach to podstawa ale to jest indywidualna sprawa.
Go to the top of the page
+Quote Post
kaem
post
Post #17





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Cytat
Użytkownicy zwykle nie rejestrują się kilka razy dziennie więc sesje powinny wystarczyć
dokładnie, ale co to zmienia? Nic. Jest bardzo mały procent ludzi, którzy jednak się nie zalogują od razu po rejestracji, bo albo muszą gdzieś wyjść, coś zrobić, ktoś ich rozproszy i zapomną, net im przestanie działać i wtedy d**a.
Moja rada: skorzystać z dodatkowej kolumny, przecież tam tylko raz będzie zmieniana wartość.
Inny pomysł:
- jeśli nie robisz systemu potwierdzenia założenia konta możesz takiego delikwenta z automatu zalogować po rejestracji i wyświetlić mu to okienko.
- a może te informacje z okienka wystarczy wyświetlić mu po zakończeniu rejestracji?

Ten post edytował kaem 5.01.2012, 22:31:28
Go to the top of the page
+Quote Post
Psajkus
post
Post #18





Grupa: Zarejestrowani
Postów: 45
Pomógł: 5
Dołączył: 26.06.2011

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


1. Pisząc posta nie miałem na celu naskoczenie na użytkownika ale zwrócenie uwagi aby trzymać porządek w plikach. Jeśli ktoś uważa, że post był niepomocny, nieprzydatny, zły, niestoswny czy nawet niepotrzebny to można go zignorować (IMG:style_emoticons/default/wink.gif) . W końcu to moja opinia i nie trzeba się z nią zgadzać (IMG:style_emoticons/default/smile.gif)

2. Nie wiedziałem, że się kłócimy. Myślałem, że forum jest od wyrażania swoich opinii i dzielenia się swoimi pomysłami (IMG:style_emoticons/default/tongue.gif) . Warto wiedzieć co na dany temat sądzą inni, czasem można się czegoś nauczyć.

koniec dyskusji niedotyczącej tematu.
Go to the top of the page
+Quote Post
nikestylex7
post
Post #19





Grupa: Zarejestrowani
Postów: 386
Pomógł: 7
Dołączył: 22.04.2010
Skąd: Ziemia

Ostrzeżenie: (20%)
X----


mam dalej problem bo każde umieszczenie skryptu jquery w php czyli wywołanie nie działa. Jako, że umieszczam w bazie liczbę 1 czyli osoba jeszcze się nie zalogowała, loguję się zmienia mi w bazie na 2 czyli wszystko gra lecz problem jest ze skryptem. Wywołuje go za pomocą window onload
  1. <script>
  2. function okno() {
  3. $().ready(function() {
  4. $('#okienko').jqm();
  5. });
  6. }</script>


i to mam w echo'';
Nie wiem właśnie czy to jest dobrze.

  1. <script type="text/javascript">
  2. window.onload=okno();
  3. </script>
Go to the top of the page
+Quote Post
kaem
post
Post #20





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Po pierwsze źle to robisz. W funkcji okno() dajesz kod, który coś robi po załadowaniu dokumentu. W JQuery $(dokument).ready(function() to jest to samo co w czystym JS window.onload. Oba służą do wykonania kodu po załadowaniu dokumentu.
Jeśli ma się pojawić okienko powitalne wystarczy tylko taki kod:

  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $('#okienko').jqm();
  4. });
  5. </script>

albo jeśli chcesz zrobić tak jak napisałeś wcześniej to wywał $().ready(function() { z funkcji okno();

Ten post edytował kaem 7.01.2012, 14:24:20
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 22.08.2025 - 18:07