| 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: 16 let
|
|||
0
).