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 *
Ben:
Musíte to ukládat někem, kde informace přetrvají. Například do souboru, do session či do sušenky.
fajzen
Profil
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
Ben:
Ulož to do cookies, nebo session, prostým přičtením ničeho nedosáhneš.
Ben
Profil *
Radek9:
takze neco takoveho $_SESSIONS['pocet']=$pocetkliku++; a copak stim nulovanim na zacatku?
Ben
Profil *
mckay:
ok diky moc zlata java :)
mckay
Profil
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;
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0