po refreshu uzywa submit ponowne tak samo div dodaje update co refresh

0

witam, tak jak w tytule tematu jak mogę to wyłączyć? zeby refresh nie dawal ponownie submit ani div update do bazy danych
tutaj umieszczam przyklad.

<DIV id=abilitypoints>
<b id="abpoints">Wybierz na co przeznaczasz punkty zdolności.<br>Pozostało punktów: <?php echo $gracz['zx']; ?></b>
<div class=ab1 id=ab11 onclick="<?php if($gracz['abilitypoints'] > '0'){
	
mysql_query("update gracz set xd = xd+ 1 where id =".$gracz['id']." limit 1");
mysql_query("update gracz set zx = zx- 1 where id =".$gracz['id']." limit 1");
 } ?>"></div>
</DIV>

po refreshu dodaje automatycznie wartosci jak to obejsc?

0

jeśli wszystko poszło ok to zrobić przekierowanie na stronę która ma się wyświetlić a nie wyświetlać treść zaraz po zapisie danych.

0
mr_jaro napisał(a):

jeśli wszystko poszło ok to zrobić przekierowanie na stronę która ma się wyświetlić a nie wyświetlać treść zaraz po zapisie danych.

niestety zadna strona ma się nie pokazywać. ma tylko wykonać update div i tyle tak samo submit tylko jezeli sie na niego kliknie.

0

No to zrób to ajaxem, jeżeli po kliknięciu submit strona ci się cała przeładowuje to znaczy ze wyświetlasz nową stronę tak czy tak.

0
mr_jaro napisał(a):

No to zrób to ajaxem, jeżeli po kliknięciu submit strona ci się cała przeładowuje to znaczy ze wyświetlasz nową stronę tak czy tak.

zgadza się ;]
mógłbyś zarzucić jakiś przykład?

0

Najprościej. Załóżmy, że masz formularz na stronie index.php i zakładam, ze w tym samym pliku masz zapis (nie wiem czy na pewno bo nie raczyłeś pokazać całego kodu). Dodajesz wtedy po operacjach zapisu danych linijkę która wywoła geta przekierowując na te samą stronę tylko nie metodą post która poleciała z formularza tylko get.

header("Location: index.php");
0
mr_jaro napisał(a):

Najprościej. Załóżmy, że masz formularz na stronie index.php i zakładam, ze w tym samym pliku masz zapis (nie wiem czy na pewno bo nie raczyłeś pokazać całego kodu). Dodajesz wtedy po operacjach zapisu danych linijkę która wywoła geta przekierowując na te samą stronę tylko nie metodą post która poleciała z formularza tylko get.

header("Location: index.php");

ten kod który podałem wyzej ma dodawać wartość po kliknieciu na element ale jak odswiezam strone automatycznie dodaje wartosc bez klikania na element.
zaraz spróbuję headerem ale myśle ze nieda rady

0

Ehhh czyli nie zabezpieczyłeś tego czy rzeczywiście ktoś kliknął na przycisk? To skąd to ma wiedzieć czy chcesz coś zaktualizować czy nie?

0
mr_jaro napisał(a):

Ehhh czyli nie zabezpieczyłeś tego czy rzeczywiście ktoś kliknął na przycisk? To skąd to ma wiedzieć czy chcesz coś zaktualizować czy nie?

jak mam to zabezpieczyć? przy rejestracji taki sam mam problem po odswiezeniu strony uzywa submita sam bez klikania na niego

0

Ehh nie będę tłumaczył podstaw. Poczytaj co to jest validowanie formularzy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1