Jak używać onclick w <button>


(Konradnie2) #1

Mam przyciski i jak za pomocą onclick zrobić żeby po naciśnięciu sprawdzało czy np koszt jest większy od posiadanych punktów i jeśli tak to zwiększyć jakąś daną w mysql o 1

Jak to zrobić??


(Grzesie K) #2

Zwiększanie danych w MySQL za pomocą js....? Niemożliwe. Możesz to zrobić np. w php.


(Konradnie2) #3

A jak to zrobić Czytałem że w przyciskach ustawia się onclick zeby coś zrobić.

Moje przyciski to obrazki.

Jeśli wiesz jak to zrobić to napisz przykład.


(Grzesie K) #4

Wszystko zależy od tego skąd masz pobrać koszt oraz punkty: MySQL, plik....? Gdzie masz zapisane te dane?


(Konradnie2) #5

W bazie mysql mam Punkty.

Koszt powstaje przez pomnożenie punktów przez 50.

Z mysqla wyciągam i wyswietlam punkty

Potem przypisuje wynik do $punkty

Potem $koszt=$punkty * 50;

I jak zrobić żeby zwiększało?? jeśli się zgodzi??


(Grzesie K) #6

nadal niestety nei rozumiem co chcesz sprawdzić.... Skoro koszt to 50*punkty to chyba oczywiste, że jest większy od posiadanych punktów


(Konradnie2) #7

Ale mam 2 rodzaje punktów.

1 to są punkty które zwiększam przyciskiem

2 to punkty co się zmieniają co jakiś czas.

Sprawdzam czy 2 punkty są większe niż kośzt który powstaje przez pomnożenie 1 punktów razy 50


(Grzesie K) #8

A na forum db.pl są same dobre wróżki, które to oczywiście wiedziały. Mógłbyś chociaż pokazać fragment kodu, który sam naskrobałeś. Aktualnie mogę powiedzieć tylko tyle, że musisz użyć instrukcji warunkowej php oraz UPDATE z sql, żaden button nie jest ci potrzebny skoro nie wprowadzasz, żadnych danych do skryptu (GET lub POST).

if($punkty>$koszt){

mysql_query("UPDATE `tabela` SET `punkty`=`punkty`+1 WHERE...");

}

(Konradnie2) #9

Tak tylko ja chciałem żeby po wcisnięciu przycisku(plusa) się wykonywała instrukcja if.

Nie chcę żeby zwiększało za każdym razem jak tylko będzie to możliwe lecz dopiero po wciśnięciu plusa.


(Drobok) #10

Pomijając fakt, że poprzednik nabił se posty. Może chodzi ci o:

onclick="return confirm('dodać?');[/code]

(potwierdzenie w js)

A co do klikania, najprościej dać action w buttonie do skryptu dodającego pkt.


(Konradnie2) #11

Niewiem.

Mam takie przyciski

plus.jpg

Co muszę zrobić żeby dodawało 1 jeśli zgodzi się warunek??


(Grzesie K) #12

#drobok poprzednik nie nabił sobie postów tylko chce pomóc, niestety autor nie opisał na początku co dokładnie chce uzyskać

#Kongi warunek powinieneś sprawdzić w php


(Konradnie2) #13

To mogę zrobić tak??

Plik1.php

[/code]


plus.php

[code] //wyświetlam punkty oba z mysqla $koszt=$punkty1 * 50; if($punkty2>=$koszt) { mysql_query("UPDATE user SET punkty=punkty+1 WHERE login='$login""); }

I to ma działać??


(Drobok) #14

owszem

//edit

Nie, stwierdziłem tak tylko dla tego, iż autor tematu tak dobrał słowa, iż zdawało mi się, że nie mówisz na temat :stuck_out_tongue:


(Grzesie K) #15

Tak, lecz powinieneś dodać addslashes do $login dla bezpieczeństwa. Dodatkowo ten cały formularz możesz zastąpić

[/code]

gdyż i tak nie wysyła on żadnych danych :smiley:

Edit:

#drobok za chwilę stwierdzisz ponownie że nabijam sobie posty, lecz tym razem mnie po prostu wyprzedziłeś :smiley:


(Konradnie2) #16

A co robi

Do czego to służy


(Drobok) #17

To funkcja z php co ci wywala z stringa znaki mogące posypać twój kod. Np ' " itd. Bowiem sprawdzając później w funkcji korzystając z specyficznych komend ktoś może dostać się do twojej bazy danych i odpowiednio spreparowaną komendą wyświetlić sobie wszystkie hasła itd.