Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Zliczanie klików w link użytkownika
Forum PHP.pl > Forum > Przedszkole
cestis
Nie wiem czy dobrze zatytułowany jest wątek, ale postaram się tutaj wyjaśnić o co mi chodzi.
No więc tworze taką jakby mini grę, która polega na klikaniu przez innych w link użytkownika. Kiedy ktoś kliknie w ten link, pojawia się imie użytkownika, który wysłał link oraz formularz do własnej rejestracji. Później generowałby się każdemu nowemu link. Szukałem w google i nic z tego sad.gif ... No więc kombinując dalej zrobiłem formularz:
  1. <form method="POST" action="new.php" name="nick">
  2. <div><li><label for="nick">Pseudonim: </label><ul><input type="text" class="text" id="nick" name="nick" ></div>
  3. <div><ul><input type="submit" value="weź udział w zabawie!" /></div>
  4. </form>


a w pliku "new.php":
  1. <?php
  2. if (!nick)
  3. {
  4. echo "Wpisz swój pseudonim!";
  5. }
  6.  
  7. $nick = ".$_POST['nick']" ";
  8.  
  9. echo "Dziękujemy za zapisanie się do zabawy! <br>
  10. Twój nick to <strong>".$nick"</strong>. Miłej zabawy!"
  11. ?>


lecz wywala mi syntax error, gdzie mam błąd?
No i oczywiście jak zrobić, żeby w tym pliku generowany był dla każdego link, a w pliku z formularzem zliczanie kliki w link użytkownika, który wysłał swój link. Chyba wiadomo o co chodzi, bo każdy chyba zetknął się z tego typu stroną...

edit:
problem formularza rozwiązany przez forumowiczów, dziękuję smile.gif. teraz jak zrobić, żeby np. pierwszy użytkownik miał link id 1, drugi 2, itd.? reszta j/w.
pedro84
Brak ; po echo w 10 linii.
cestis
niestety, nadal wywala ten sam error sad.gif
gigzorr
  1. <?php
  2. $nick = $_POST['nick'];
  3. if ($nick)
  4. {
  5. echo "Wpisz swój pseudonim!";
  6. }
  7.  
  8. else {
  9.  
  10. echo "Dziękujemy za zapisanie się do zabawy!"; <br>
  11. Twój nick to <strong>'".$nick"'</strong>. Miłej zabawy!"
  12. }
  13. ?>
programista20
3 błędy

1. Warunek w funkcji warunkowej
2. $nick = ".$_POST['nick']" "; - po co tyle cudzysłowów ($nick = $_POST['nick']; )
3. Twój nick to <strong>".$nick"</strong>. Miłej zabawy!" - kropka za zmienną i zakończenie echo (Twój nick to <strong>".$nick."</strong>. Miłej zabawy!";)

Pozdrawiam

  1. <?php
  2. if (!$_POST['nick'])
  3. {
  4. echo "Wpisz swój pseudonim!";
  5. }
  6.  
  7. $nick = $_POST['nick'];
  8.  
  9. echo "Dziękujemy za zapisanie się do zabawy! <br>
  10. Twój nick to <strong>".$nick."</strong>. Miłej zabawy!";
  11. ?>
cestis
programista20, dzięki, działa smile.gif
Teraz pozostaje ta część, o której napisałem w pierwszym poście, ale nie wiem w ogóle jak się za to zabrać ...

ach i jeszcze jedno: kiedy nic nie wpisze, to nie pojawia się nick, ale też nie wywala tego komunikatu "Wpisz swój pseudonim!" ....
programista20
Cytat(cestis @ 2.05.2010, 14:03:05 ) *
programista20, dzięki, działa smile.gif
Teraz pozostaje ta część, o której napisałem w pierwszym poście, ale nie wiem w ogóle jak się za to zabrać ...


Zmień jeszcze warunek w if

Zmieniłem u góry
Fifi209
Cytat(programista20 @ 2.05.2010, 13:59:05 ) *
3 błędy

1. Warunek w funkcji warunkowej
2. $nick = ".$_POST['nick']" "; - po co tyle cudzysłowów ($nick = $_POST['nick']; )
3. Twój nick to <strong>".$nick"</strong>. Miłej zabawy!" - kropka za zmienną i zakończenie echo (Twój nick to <strong>".$nick."</strong>. Miłej zabawy!";)

Pozdrawiam

  1. <?php
  2. if (!$_POST['nick'])
  3. {
  4. echo "Wpisz swój pseudonim!";
  5. }
  6.  
  7. $nick = $_POST['nick'];
  8.  
  9. echo "Dziękujemy za zapisanie się do zabawy! <br>
  10. Twój nick to <strong>".$nick."</strong>. Miłej zabawy!";
  11. ?>


Nie
  1. if (!nick)

Tylko jak już
  1. if (empty($_POST['nick']))


Dlaczego stosujesz cudzysłów a nie apostrof? ;]
programista20
Cytat(fifi209 @ 2.05.2010, 14:04:49 ) *
Nie
  1. if (!nick)

Tylko jak już
  1. if (empty($_POST['nick']))


Dlaczego stosujesz cudzysłów a nie apostrof? ;]


Nie rozumiem pytania
Nie wpisałem powyżej takiego warunku

Pozdrawiam
  1. if (!$_POST['nick'])
Fifi209
Cytat(programista20 @ 2.05.2010, 14:10:20 ) *
Nie rozumiem pytania

Cudzysłów: "
Apostrof: '

A czym się różnią? Sprawdź w manualu.
  1. <?php
  2. if (!$_POST['nick'])
  3. {
  4. echo 'Wpisz swój pseudonim!';
  5. }
  6.  
  7. $nick = $_POST['nick'];
  8.  
  9. echo 'Dziękujemy za zapisanie się do zabawy! <br>
  10. Twój nick to <strong>'.$nick.'</strong>. Miłej zabawy!';
  11. ?>

Cytat(programista20 @ 2.05.2010, 14:10:20 ) *
Nie wpisałem powyżej takiego warunku

Moje niedopatrzenie, spojrzałem na inny post.
Przepraszam.
cestis
no więc jak zrobić jeszcze, żeby nie było kilku takich samych nicków? będzie wymagana baza danych chyba?
programista20
Cytat(fifi209 @ 2.05.2010, 14:13:44 ) *
Cudzysłów: "
Apostrof: '

A czym się różnią? Sprawdź w manualu.


Sorry bo zastanawiałem się o którą część kodu Ci chodzi

Dlaczego wpisałem tam cudzysłów?
Nie chciało mi się zmieniać większej ilości znaków

Prawda jeśli nie ma tam zmiennych powinno używać się apostrofów

Tak wyszło to nie mój kod
Fifi209
Cytat(cestis @ 2.05.2010, 14:22:09 ) *
no więc jak zrobić jeszcze, żeby nie było kilku takich samych nicków? będzie wymagana baza danych chyba?

Tak byłoby najlepiej.
programista20
Cytat(cestis @ 2.05.2010, 14:22:09 ) *
no więc jak zrobić jeszcze, żeby nie było kilku takich samych nicków? będzie wymagana baza danych chyba?


Baza danych

Co do sprawdzenia czy nick istnieje jest kilka sposobów
cestis
ech, to robi się coraz trudniejsze...
programista20
Cytat(cestis @ 2.05.2010, 14:42:51 ) *
ech, to robi się coraz trudniejsze...


To nie html

Co do pytania o id z pierwszego posta

1. Formularz (wpisuje dane)
2. new.php -> sprawdzenie danych i wpisanie ich do bazy (nick, id (autoinkrementacja), ilość kliknięć) oraz wysłanie cookies (że jest właścicielem linka)

Następnie skrypt wywołany przez link
1. Zwiększenie ilości kliknięć o 1 + sprawdzenie usera czy nie jest właścicielem i czy jeszcze go nie było (cookies)
i co tam jeszcze chcesz
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.