Autor | Zpráva | ||
---|---|---|---|
Ben Profil * |
Dobry den
Chci pri každem kliknuti na tlacitko(submit) aby se pricetla jednicka a uz nevim jak na to. A bez nulovani na zacatku skriptu to nejde vubec :( dekuju za radu <?php $pocetkliku=0; if(isset($_GET['odeslano'])){ $pocetkliku++; echo "Kliknul jste :".$pocetkliku; } ?> <form method="get" href="inkrement.php"> <input type="submit" name="odeslano" "> </form> Moderátor nightfish: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou. Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
Radek9_ Profil * |
#2 · Zasláno: 18. 1. 2010, 13:10:17
Ben:
Musíte to ukládat někem, kde informace přetrvají. Například do souboru, do session či do sušenky. |
||
fajzen Profil |
#3 · Zasláno: 18. 1. 2010, 13:10:58 · Upravil/a: fajzen
Ben:
každé odoslanie formulára znamená znovunačítanie stránky, a to znamená opätovné vykonanie PHP skriptu... takže: 1. keď je $pocetkliku vždy vynulované a následne zvýšené o 1, musí v ňom byť iba 1 (alebo 0, ak sa na stránku dostal návštevník bez odoslania formulára) 2. aj keby $pocetkliku nebolo vždy vynulované, PHP si nepamätá hodnoty premenných medzi jednotlivými behmi skriptu takže treba informáciu o tom, koľkokrát už formulár bol odoslaný, niekde ukladať. V PHP je viacero možností - sessions, cookies, predávanie v adrese, pomocou skrytého inputu vo formulári prípadne do súboru alebo databázy príklad so skrytým inputom vo formulári: <?php $pocetkliku= (!empty($_GET['pocetkliku']) ? $_GET['pocetkliku'] : 0); if(isset($_GET['odeslano'])){ $pocetkliku++; echo "Kliknul jste :".$pocetkliku; } ?> <form method="get" href="inkrement.php"> <input type="hidden" name="pocetkliku" value="<?php echo $pocetkliku; ?>"> <input type="submit" name="odeslano"> </form> |
||
mckay Profil |
#4 · Zasláno: 18. 1. 2010, 13:11:30
Ben:
Ulož to do cookies, nebo session, prostým přičtením ničeho nedosáhneš. |
||
Ben Profil * |
#5 · Zasláno: 18. 1. 2010, 13:14:15
Radek9:
takze neco takoveho $_SESSIONS['pocet']=$pocetkliku++; a copak stim nulovanim na zacatku? |
||
Ben Profil * |
#6 · Zasláno: 18. 1. 2010, 13:15:28
mckay:
ok diky moc zlata java :) |
||
mckay Profil |
#7 · Zasláno: 18. 1. 2010, 13:24:37
Ben:
Zkus na začátku stránky otestovat, jestli existuje $_SESSION['pocet'] - pokud ne, nastav mu hodnotu jedna, pokud ano, tak mu nastav hodnotu plus jedna tedy neco na zpusob: if(!isset($_SESSION['pocet'])){ $_SESSION['pocet'] = 1; } else{ $_SESSION['pocet'] = $_SESSION['pocet'] + 1; } |
||
Časová prodleva: 14 let
|
0