Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [PHP]Jak przypisać zapytanie sql do kliknięcia w link ?
--Piter--
post
Post #1





Goście







Mam link:

  1. <a href=""></a>


W jaki sposób mogę zapisać ilość kliknięć w ten link ?
Chciałbym, żeby po kliknięciu wykonało się dane zapytanie sql ale jak to zrobić ?


Go to the top of the page
+Quote Post
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


no bez jaj...
sprawdź może zadziała Ci tak:
  1. <a href="link" onclick="UPDATE tabela SET pole = pole + 1 WHERE yourToLazyToReadSomeTutorials = true">tekst</a>
Go to the top of the page
+Quote Post
--Piter--
post
Post #3





Goście







Przepraszam, ale ten dział to przedszkole a ja jestem początkujący.

Niestety Twój sposób nie działa.
Żeby wykonało się jakieś zapytanie to przecież trzeba dodać po zapytaniu:
$result = mysql_query($sql);
a w tym przykładzie tego nie ma.

Jeśli ktoś byłby tak miły i podał sposób, który działa, będę bardzo wdzięczny.
Go to the top of the page
+Quote Post
peter13135
post
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Cytat
Niestety Twój sposób nie działa.

(IMG:style_emoticons/default/biggrin.gif) :D:D:D:D:D


  1. <a href="plik.php?a=1">

  1. <?php
  2. if(isset($_GET['a']))
  3. {
  4. mysql_query("UPDATE...")
  5. }
  6. ?>
  7. oczywiscie wcześniej musisz się połączyć za pomocą mysql_connect i wybrać bazę za pomocą mysql_select_db
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #5





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Cytat(-Piter- @ 18.07.2011, 20:33:16 ) *
Przepraszam, ale ten dział to przedszkole a ja jestem początkujący.

Ale i przedszkole musi mieć jakiś poziom... wcześniej są kursy, google, itp. Każdy tak zaczynał - a nauka najlepiej idzie, jak się uczy samodzielnie i na błędach - a nie na gotowcach.
Go to the top of the page
+Quote Post
--Piter--
post
Post #6





Goście







Oczywiście szukałem odpowiedzi w google, coś znalazłem, ale nie pomogło.
Podobnie sposób petera:

Utworzyłem link:

  1. <a href="index.php?a=1">W</a>


dodałem kod:

  1. if(isset($_GET['a']))
  2. {
  3. $sql = 'UPDATE `ttt` SET licznik=licznik+1 WHERE `id`=1'';
  4. $result = mysql_query($sql);
  5. }


W żadnym wypadku to nie działa :/
Czy ma ktoś jeszcze jakieś pomysły ?
Go to the top of the page
+Quote Post
IceManSpy
post
Post #7





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


  1. if(isset($_GET['a']))
  2. {
  3. $sql = "UPDATE `ttt` SET licznik=licznik+1 WHERE `id`={$_GET['id']}";
  4. $result = mysql_query($sql);
  5. }


Ten post edytował IceManSpy 18.07.2011, 21:10:34
Go to the top of the page
+Quote Post
gac3k
post
Post #8





Grupa: Zarejestrowani
Postów: 90
Pomógł: 8
Dołączył: 28.07.2009

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


stary no, nawet parser na forum, pokazuje Ci gdzie masz błąd, koledzy mają rację nawet w przedszkolu musisz umieć układać klocki.

  1. if(isset($_GET['a']))
  2. {
  3. $sql = 'UPDATE `ttt` SET licznik=licznik+1 WHERE `id`=1';
  4. $result = mysql_query($sql);
  5. }


masz na zachętę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
--Piter--
post
Post #9





Goście







Przecież te wasze kody musiałyby być umieszczone w pliku do którego prowadzi link a nie w którym jest wywoływany żeby działały!
Trzeba chyba użyć jakichś eventów i onclick z js?
Go to the top of the page
+Quote Post
Daimos
post
Post #10





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Trzymajcie mnie, bo krzesło już połamałem (IMG:style_emoticons/default/wink.gif)

Jeśli chcesz to zrobić w zdarzeniu onclick, przed przejściem na stronę, to proszę:
Ajax
W innym wypadku, wstawiasz ten kod PHP, który Ci koledzy napisali, na stronie docelowej.

Jeśli dalej nie łapiesz, to proponuję zmienić dział (zlecenia). Jak zaoferujesz dobrą cenę, to chętnych nie zabraknie. Z innej strony, jeśli chcesz się czegoś nauczyć, to zacznij od podstaw - tutoriale, samouczki, książki itd.

Ten post edytował Daimos 18.07.2011, 22:09:25
Go to the top of the page
+Quote Post
thek
post
Post #11





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Boże... Widzisz i nie grzmisz. Może choć piekło pochłonie?
Po kliknięciu w link wykonuje się skrypt zliczający kliknięcie, a potem kierujący na docelową stronę. Inna sprawa, że powinno być WHERE `id` = $_GET['a'] i jeszcze nie zapomnij o filtrowaniu tej zmiennej by Ci ktoś sql-injection nie zaserwował. A możesz motyw z przekierowaniem zrobić bo to przecież Twój serwer. No i z JS też można skorzystać. Ale z reguły lepiej jest poprzez taki sposób jak Ci podają, bo ścinasz pozycjonowanie adresu. Po co zewnętrzna witryna ma się lepiej pozycjonować? No ale tu wchodzimy już w SEO, co wykracza poza ramy tego tematu.
Go to the top of the page
+Quote Post
Daimos
post
Post #12





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Cytat(thek @ 18.07.2011, 23:16:34 ) *
Boże... Widzisz i nie grzmisz. Może choć piekło pochłonie?
Po kliknięciu w link wykonuje się skrypt zliczający kliknięcie, a potem kierujący na docelową stronę. Inna sprawa, że powinno być WHERE `id` = $_GET['a'] i jeszcze nie zapomnij o filtrowaniu tej zmiennej by Ci ktoś sql-injection nie zaserwował. A możesz motyw z przekierowaniem zrobić bo to przecież Twój serwer. No i z JS też można skorzystać. Ale z reguły lepiej jest poprzez taki sposób jak Ci podają, bo ścinasz pozycjonowanie adresu. Po co zewnętrzna witryna ma się lepiej pozycjonować? No ale tu wchodzimy już w SEO, co wykracza poza ramy tego tematu.

A co ma przekierowanie do SEO? 301 załatwia sprawę, ale po co robić przekierowanie, jak są dwie inne możliwości, opisane wcześniej
Go to the top of the page
+Quote Post
--Piter--
post
Post #13





Goście







Cytat(Daimos @ 18.07.2011, 22:07:49 ) *
Jeśli chcesz to zrobić w zdarzeniu onclick, przed przejściem na stronę, to proszę:
Ajax


Dokładnie o to mi chodzi (przed przejściem na stronę), a wszyscy piszą o jakichś oczywistych sposobach, ale na inną okazję ;]

Czyli tylko AJAX tutaj pomoże (IMG:style_emoticons/default/questionmark.gif)

Go to the top of the page
+Quote Post
thek
post
Post #14





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A widzisz różnicę między:
<a href="http://www.domena.pl" onclick="skrypt_klika">link</a>
<a href="klik.php?id=1"">link</a>
Od strony SEO jest znaczna jeśli nie zadbasz o choćby nofollow dla linka.

Z 301 to chyba żartujesz (IMG:style_emoticons/default/smile.gif) Przekierowanie 301 oddaje moc strony linkowi do którego kieruje! Tak więc jeśli zrobimy sobie "proxy" poprzez własny skrypt przekierowujący to jaki będzie efekt? Ano strona www.domena.pl NIE dostanie ułamka mocy naszej strony. A w przypadku pierwszym jak najbardziej ją pozycjonujemy, bo wskazujemy ją na naszej stronie jako docelową i tym samym podnosimy jej wartość. Może czas zabrać się za lekturę materiałów o SEO w końcu?

Pomyślałeś dlaczego podczas zmiany systemu adresów ustawia się 301 na stare tak, by kierowały na nowy format linka? Ano właśnie ze względu na SEO i fakt, by nowy format linka seo-friendly "przejął" moc starej wersji.
Go to the top of the page
+Quote Post
Daimos
post
Post #15





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


Cytat(thek @ 18.07.2011, 23:46:07 ) *
A widzisz różnicę między:
<a href="http://www.domena.pl" onclick="skrypt_klika">link</a>
<a href="klik.php?id=1"">link</a>
Od strony SEO jest znaczna jeśli nie zadbasz o choćby nofollow dla linka.

Z 301 to chyba żartujesz (IMG:style_emoticons/default/smile.gif) Przekierowanie 301 oddaje moc strony linkowi do którego kieruje! Tak więc jeśli zrobimy sobie "proxy" poprzez własny skrypt przekierowujący to jaki będzie efekt? Ano strona www.domena.pl NIE dostanie ułamka mocy naszej strony. A w przypadku pierwszym jak najbardziej ją pozycjonujemy, bo wskazujemy ją na naszej stronie jako docelową i tym samym podnosimy jej wartość. Może czas zabrać się za lekturę materiałów o SEO w końcu?

Pomyślałeś dlaczego podczas zmiany systemu adresów ustawia się 301 na stare tak, by kierowały na nowy format linka? Ano właśnie ze względu na SEO i fakt, by nowy format linka seo-friendly "przejął" moc starej wersji.

Sprawdź sobie w pliku klik.php?id=1, czy nie zostanie przekazana moc dla http://www.domena.pl, jeśli zrobisz tam przekierowanie. Przynajmniej w google (innych teraz nie jestem pewny)
Inna sprawa, że mi tu nie chodzi o zewn. domeny, autor tego nie zaznaczył, więc zakładam linki wewnętrzne

Ten post edytował Daimos 18.07.2011, 23:21:05
Go to the top of the page
+Quote Post
--Piter--
post
Post #16





Goście







Link jest do strony wewnętrznej, w której jest przekierowanie do zewnętrznej za pomocą nagłówków, jednak nie o to chodzi w tym temacie.

Zapytam jeszcze raz, czy AJAX to jedyne rozwiązanie na zliczanie kliknięć, przed przejściem na stronę docelową ?
Go to the top of the page
+Quote Post
thek
post
Post #17





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




@Daimos: Czy Ty czytasz co napisałem? Gdzie wspomniałem, że wewnętrzne przekierowanie w klik.php będzie 301, które przekaże moc? Ja jedynie Tobie wytknąłem, że 301 jakie proponujesz/sugerujesz to kiepski pomysł. W absolutnie żadnym wypadku nie dałbym wewnątrz pliku klik.php R=301 (IMG:style_emoticons/default/smile.gif)

I ja na odwrót uważam z linkami, bo linkowanie wewnętrzne nie potrzebuje takiego cudowania. W zasadzie wystarczy sprawdzać referera w zmiennej $_SERVER, choć mam świadomość możliwości jego blokowania czy modyfikowania przez paranoików. Ale tacy userzy TYM bardziej zablokują skrypty JS mające zliczać kliki (IMG:style_emoticons/default/wink.gif)

Piter... Skoro taka jest kolejność to czemu przed zrobieniem Location i przekierowania nie inkrementujesz licznika w bazie? To jest właśnie to co wkleili IceManSpy czy gac3k.
Wywołujesz
  1. <a href="klik.php.id=1">link</a>
a w pliku klik.php
  1. <?php //tu połaczenie z bazą;
  2. //tu zapytanie inkrementujące licznik w bazie;
  3. //tu nagłówki do przekierowania i samo przekierowanie;
  4. ?>

EDIT: i jeśli dobrze zrozumiałem post autora powyżej to dobrze odczytałem intencje autora... Skrypt jeden odwołujący się do bazy by spod id pobrać link i przekierować na stronę zewnętrzną. Jedynie pomiędzy odczytem a przekierowaniem powinno być jeszcze inkrementowanie.
Go to the top of the page
+Quote Post
--Piter--
post
Post #18





Goście







Cytat(thek @ 19.07.2011, 00:01:58 ) *
Piter... Skoro taka jest kolejność to czemu przed zrobieniem Location i przekierowania nie inkrementujesz licznika w bazie?


Dlatego, że interesuje mnie inny sposób na zliczanie klików.
Co prawda w tym przypadku mogę tak zrobić, jednak chciałem się dowiedzieć jak zliczać kliki, bez tego pośredniczącego pliku w którym mam przekierowanie,
a konkretnie jak przypisać dane zapytanie SQL do takiego zdarzenia jakim jest kliknięcie w link.
Go to the top of the page
+Quote Post
cer98
post
Post #19





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 17.07.2011

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


może napiszecie jak pozbyć się tego, że ktoś podstawi w adresie get np index.php?usun=1 na usun=2 ? Nie używam include

Ten post edytował cer98 19.07.2011, 00:34:42
Go to the top of the page
+Quote Post
rzymek01
post
Post #20





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


nie ma to jak dobra porcja humoru na nockę (IMG:style_emoticons/default/smile.gif)

@cer98, z której wierzby płaczącej się urwałeś?

@-Piter-, sposób ze zliczaniem kliknięć przed przejściem na stronę jest IMO bez sensu, i tak przejdziesz na te stronę za ułamek sekundy, to po się bawić w AJAX?, jeśli chcesz odróznić kliknięcia od bezpośrednich wejść to sprawdzaj referera jak thek pisał

coś takiego byłoby rozsądne, jakbyś robił sobie taką mapę, że zliczenie następuje już po najechaniu na link, i potem byś sobie trafienia sprawdzał, ale to też bez sensu, bo jak ktoś się zdecyduje najechać myszą na link to zazwyczaj klika (IMG:style_emoticons/default/smile.gif)

Najlpiej jest śledzić ruch myszy i wszystkie kliknięcia, co pozwala wykryć, przykładowo klknięcia w element, który nie jest linkiem i takie tam
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: 27.11.2025 - 15:11