Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Aktualizacja , update dodawanie
Forum PHP.pl > Forum > Przedszkole
Stelivo
Cześć smile.gif


  1. <?php
  2. if($_POST['wyslano'])$_POST['wartosc']+=15;
  3. echo '<form action="" method="post">
  4. <input type="hidden" value="'.$_POST['wartosc'].'" name="wartosc" />
  5. <input type="hidden" value="true" name="wyslano" />
  6. <input type="submit" value="przycisk" />
  7. </form>'.$_POST['wartosc'].'';
  8.  
  9. include("SQL.php");
  10. if($_SERVER['REQUEST_METHOD'] == 'POST')
  11. {
  12. $zapytanie = "UPDATE `gracze` SET `test` = ''.$_POST['wartosc'].''";
  13.  
  14. $idzapytania = mysql_query($zapytanie);
  15. }
  16.  
  17. ?>


I mam problem chce , żeby jak zawsze klikneło dodawało się , oczywiście dodaje jak klikam cały czas ale jak kliknę jeden raz a za 5sekund drugi to się nie dodaje :/
nospor
Opisz problem jeszcze raz , tym razem na spokojnie i przed wyslaniem go przeczytaj go sobie samemy jeszcze raz na glos i zastanow sie czy osoba postronna jest w stanie to zrozumiec - jak tak to wowczas publikuj smile.gif

Bo na chwile obecna twoj opis problemu wydaje sie malo prawdziwy. Po sekundzie jak klikniesz to sie doda, ale po 5 juz nie.... cud skrypt smile.gif No chyba ze robisz jakies przekierowanie po uplywie 5 sekund, robisz?
Stelivo
A więc tak : Kiedy cały czas klikam w button to dodają się wartości (15+15...) i tak dalej ale po upływie pewnego czasu nie dodają się , moim problemem jest , jak temu zaradzić ?
nospor
Napisales dokladnie to samo co wczesniej.
Stelivo
Kiedy Klikam BUTTON , to dodaje mi wartość do bazy mysql , kiedy klikam cały czas to mi się dodaje , a kiedy klikam jeden raz a po upływie 5 sekund jak nacisnę drugi raz to wartość wcześniejsza się usuwa i zmieniana jest na początkową.
nospor
Znowu napisales to samo i ciagle nie odpowiedziales na moje pytanie:
Czy robisz jakies przekierowanie po uplywie jakiegoś czasu? Czy kod co pokazales to caly kod czy moze jest cos jeszcze?
Bo na chwilą obecna z kodem co nam pokazales sytuacja ktora opisujesz nie ma racji bytu
Stelivo
Tylko ten kod , a musze robić przekierowanie ?
nospor
No to w takim razie opisywana przez ciebie sytuacja jest niemozliwa do zajścia. Jest wiec kilka mozliwosci:
1) Ciagle ukrywasz przed nami jakis drobny szczegol
2) Dzieje sie cos czego nie zauwazasz
3) Jestem totalnie slepy i nie widze jakiejs oczywistosci

Kolejnosc pozycji wg. prawdopodobienstwa wystapienia wg mnie jest taka: 2, 1, 3 No ale roznie bywało smile.gif

ps: a jak wyglada plik sql.php ?
Stelivo
1) Nic nie ukrywam , to wszystko jest.
2) (...)
3) Nie umiem ci odpowiedzieć.


  1. <?php
  2. mysql_connect('1', '2' , '2');
  3. mysql_query("SET NAMES 'utf8'");
  4. ?>
nospor
Swoja drogą twoj kod nie ma prawa w ogole dzialac. Zamien to na taki:
  1. $zapytanie = "UPDATE `gracze` SET `test` = ''.$_POST['wartosc'].''";
  2. echo 'Zapytanie'.$zapytanie;
  3. $idzapytania = mysql_query($zapytanie) or die(mysql_error());

I pokaz co wyswietla

edit: no ale to w ogole leci PARSE ERROR. Na pewno tak masz? Na pewno ci sie czasami do bazy cos dodaje? Bo to naprawde nie ma prawa dzialac.... nie pomylily ci sie apostrofy z cudzyslowami przy przepisywaniu na forum?
Stelivo
Wszystko dodaje do bazy danych ale ja chce , żeby się zawsze dodawało.
nospor
Zrozum, ze ta linijka
$zapytanie = "UPDATE `gracze` SET `test` = ''.$_POST['wartosc'].''";
to jeden wielki PARSE ERROR
Z powodu tej jednej linijki do bazy nigdy ci sie nic nie doda.
A skoro ci sie dodaje raz na jakis czas, to znaczy ze albo podales nam zly kod, albo ty edytujesz jeden plik a dzialasz na innym. Innej mozliwosci nie ma. Paniał?
Greg0
Myślę że tutaj chodzi o to że to jest wysyłane POSTem. I póki trwa sesja POSTa ciągle nam się dodaje. Jeśli on wyjdzie z tej strony i wejdzie na nią jeszcze raz cała suma się zeruje. Jednym słowem musisz ją pobierać z bazy na początku. Opisanie problemu level expert po prostu...
nospor
Nie ma czegos takiego jak sesja posta.

Cytat
Jeśli on wyjdzie z tej strony i wejdzie na nią jeszcze raz cała suma się zeruje.
Pytalem sie go o to kilkukrotnie i za kazdym razem twierdzi, ze nic takiego nie robi. Wyraźnie napisal: czekam 5 sekund i juz sie wszystko zeruje. Nigdzie tu nie ma ani slowem wzmianki ze wychodzi ze strony

No i poraz kolejny: ten kod to PARSE ERROR i nie ma prawa w ogole dzialac smile.gif
Greg0
Wiem że nie ma, nie wiedziałem jak ubrać to w słowa, dobrze wiesz o co chodzi, a chodzi o bieżący request. I jest parse error tu się zgodzę.
Cytat(nospor @ 5.07.2013, 15:04:38 ) *
Wyraźnie napisal: czekam 5 sekund i juz sie wszystko zeruje. Nigdzie tu nie ma ani slowem wzmianki ze wychodzi ze strony

Tak jak napisałem, opis problemu jest godny pożałowania, mimo wszystko najprawdopodobniej chodzi o wyjście ze strony.
nospor
Cytat
mimo wszystko najprawdopodobniej chodzi o wyjście ze strony.
Jakby o to chodzilo, to chyba za czwartym razem jak sie go o to pytalem by chyba wkoncu przyznal, ze tak, ze wychodzi. Ale ciagle twardo twierdzi ze nie wychodzi. CIagle twardo twierdzi, ze ten kod mu dziala, pomimo ewidentnego PARSE ERROR.... czy tylko ja tu widze, ze cos jest nie halo? wink.gif

Cytat
Wiem że nie ma, nie wiedziałem jak ubrać to w słowa, dobrze wiesz o co chodzi,
Wiem, ale wolałem sie upewnic czy i ty wiesz wink.gif
mch.frnc
Ja też kompletnie nie rozumiem co autor tematu ma na myśli, ale pamiętam, że widziałem jak kiedyś ktoś męczył się z jakimś kodem, który raz działał raz nie, a wszystkiemu był winien jakiś egzotyczny edytor który dokładał coś do kodu od siebie "w locie". Mało prawodopodobne by tutaj była podobna sytuacja, ale może niech autor najlepiej wrzuci gdzieś wszystkie swoje pliki .php zamiast tylko ich zawartości, może to by coś pomogło smile.gif
Stelivo
Jedyny użytkownik mnie zrozumiał , a wcześniej nie wiedziałem jak to wytłumaczyć bo pierwszy raz mam z takich coś ztyczność.

Co mam zrobić ? Bo się pogubiłem...
nospor
To moze jeszcze napisz ktory cie zrozumial i ktorego slowa opisuja twoj problem...
Krychu1
  1. include('SQL.php');
  2. if($_POST['wyslij']){
  3. $wartosc += 15;
  4. mysql_query('UPDATE gracze SET test = '.$wartosc);
  5. }
  6. else{
  7. $sql = mysql_query('SELECT test FROM gracze');
  8. $rekord = mysql_fetch_assoc($sql);
  9. $wartosc = $rekord['test'];
  10. }
  11.  
  12. echo '<form action="" method="post">
  13. <input type="submit" name="wyslij" value="przycisk" />
  14. </form><br/>Wartość: '.$wartosc;


lub jeśli nie chcesz na bieżąco wyświetlać wartości to po prostu

  1. include('SQL.php');
  2. if($_POST['wyslij'])
  3. mysql_query('UPDATE gracze SET test = test+15');
  4.  
  5. echo '<form action="" method="post">
  6. <input type="submit" name="wyslij" value="przycisk" />
  7. </form>';


Nie wiem czy to jest rozwiązaniem, przynajmniej tyle zrozumiałem z opisu problemu.
upeertv


Ja bym to zrobil tak

  1. <form action="" method="post">
  2. <input type="hidden" value="'.$_POST['wartosc'].'" name="wartosc" />
  3. <input type="hidden" value="true" name="wyslano" />
  4. <input type="submit" name 'ok' value="przycisk" />
  5. </form>
  6. <?php
  7. if (isset($_POST['ok']){
  8. include("SQL.php");
  9.  
  10. $test = (($_POST['wartosc']) + 15);
  11. $zapytanie = "UPDATE `gracze` SET `test` = ''.$test.''";
  12.  
  13. }
  14. ?>
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.