Autor Zpráva
lakkys
Profil
Zdravím,

Mám php soubor kombinovaný s html příkazy ve struktuře...

<html>
<form action="neco.php" method="post">
<?php
...
...
...
...
if ($pocetprvku > $roztahnout) break;
?>
</form>
</html>

A potřebuji někde dovnitř <form></form> umístit link, button atd. na který pokud kliknu stejná stránka se načte znovu a do proměnné $roztahnout se uloží určitá hodnota a pokud na odkaz nekliknu uloží se jiná hodnota něco jako:

if (kliknul jsem) $roztahnout =150; else $roztahnout = 50;

Mohl by někdo poradit jak na to? Zkoušel jsem tam dát button s podmínkou if (isset($_POST['action'])) jenže po kliknutí na něj se načte action toho vnějšího <form> a proměnná se nepřenese...

Předem díky za pomoc
lionel messi
Profil
lakkys:

Po kliknutí na odkaz by som v Javascripte nastavil cookie, obnovil stránku a v PHP kontroloval existenciu danej cookie.

Javascript:
function nastavCookieObnov() {
  document.cookie("roztahnout=1");
  window.location.reload(true);
}

HTML + PHP
<form action="neco.php" method="post">
<a href="#" onclick="nastavCookieObnov();">Obnov stránku</a>
<?php
//tu bude ľubovoľný kód

//môžeme použiť aj ternárny operátor - ak cookie existuje, priradí sa 150, inak 50
$roztahnout = isset($_COOKIE["roztahnout"]) ? 150 : 50;

//tu bude trebárs podmienka
if ($pocetprvku > $roztahnout) break; 
?>
</form>

Je pomerne pravdepodobné, že skúsenejší kolegovia prídu s lepším riešením.

PS: Pomenovanie premenných mi evokuje, že by to možno šlo celé spraviť v Javascripte a možno by to dokonca bolo aj lepšie riešenie, ale možno som iba nepochopil autorov zámer. :-)
RastyAmateur
Profil
lakkys:
Na co tu proměnnou potřebuješ na straně PHP? Generuješ podle ní něco, vypisuješ jí někam? To se dá řešit javascriptem.

Další řešení, které mě napadlo je dát button/odkaz na adresu ?roztahnout=1 a v kódu kontrolovat if (isset($_GET["roztahnout"])), ale zase to bude zbytečně komplikované v případě, že bys to nebylo jediné použití...
Keeehi
Profil
lakkys:
Můj tip: Máš formulář a v něm je pár inputů. Ty tam chceš přidat tlačíko, kterým si uživatel může přidat další inputy, pokud by mu ty předešlé nestačily. Je to tak? Pokud ano, bude nejlepší přidávat ty inputy do formuláře dynamicky pomocí javascriptu. Ne, že by to nešlo i tak trochu jak myslíš ty, ale formulář by se musel odesílat, aby uživatel nepřišel o už vyplněná data a musel bys je pak zpětně vypisovat do stránky. Přidávání elementů pomocí javascriptu není nijak složité.

lionel messi:
Cookies určitě ne. Ty se na přenos takové informace nehodí. To už je lepší parametr v adrese jak píše RastyAmateur.
lakkys
Profil
Je to o tom, že mám php soubor do kterého importuji řádky z xml a vypisuji pod sebe. A chci tam přidat nějaký odkaz, tlačítko pomocí kterého bych při reloadu stránky mohl přidat řádky. Při další návštěvě by tam zase byla ta defaultní hodnota. Teď tam mám if ($pocetprvku > 50) break; čili při více jak 50-ti řádcích se script přeruší... input a button tam dát nemohu, protože to mám celé obalené ve <form>


RastyAmateur:
ten odkaz funguje v pohodě, díky

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