Autor | Zpráva | ||
---|---|---|---|
domino216 Profil |
#1 · Zasláno: 13. 3. 2012, 20:52:43
Zdravím!
Můj problém je nejspíš banální, ale vůbec nevím, co s tím. Zkoušel jsem leccos ale jsem php naprostý začátečník, tak nevím. Na stránce http://zd.unas.cz/anketa2.php mám kód uvedený níže, ve kterém potřebuji, aby se mi po stisknutí tlačítka "Rezervuj" objevilo místo tohoto tlačítka pouhé slovo "Rezervováno". Prosím moc o pomoc. Dík ;-) <html> <head> <title> Anketa </title> </head> <body> <?php $action = $_POST['action']; ?> <form name="form" method="post" action="anketa2.php"> <input type="hidden" value="uloz" name="action" /> <input type="submit" value="Rezervuj"> </form> <?php if ($action == "uloz" ): $nahradit_v = "<form name=\"form\" method=\"post\" action=\"anketa2.php\"> <input type=\"hidden\" value=\"uloz\" name=\"action\" /> <input type=\"submit\" value=\"Rezervuj\"> </form>"; $nahradit_co = "<form name=\"form\" method=\"post\" action=\"anketa2.php\"> <input type=\"hidden\" value=\"uloz\" name=\"action\" /> <input type=\"submit\" value=\"Rezervuj\"> </form>"; $nahradit_za_co = "Rezervováno"; str_replace($nahradit_co, $nahradit_za_co, $nahradit_v); endif; ?> </body> </html> |
||
nemeja Profil |
#2 · Zasláno: 13. 3. 2012, 20:55:59
To se dělá pomocí JavaScriptu a ne pomocí PHP ;)
|
||
panther Profil |
domino216:
buď javascript, nebo pokud PHP tak třeba takto: if (isset($_POST['action'])) { echo 'rezervovano'; } else { echo '<form>...</form>'; } |
||
domino216 Profil |
#4 · Zasláno: 13. 3. 2012, 21:17:32 · Upravil/a: domino216
Ok ok, díky moc, vypadá, ze to jo good i v tom php ;-)
Jo, ale když znovu načtu stránku, tak se mi zase zobrazí tlačítko "Rezervovat". lze i toto ošetřit v php? Aby se mi při znovunačtení stránky objevilo už jen "Rezervováno" ? |
||
Pop Profil * |
#5 · Zasláno: 13. 3. 2012, 21:30:17
domino216:
if (isset($_POST['action']) or $_COOKIE['rezervace'] == "1") { echo 'rezervovano'; setcookie ('rezervace', 1, time() + 60*60*24*21, '/'); } else { echo '<form>...</form>'; |
||
domino216 Profil |
#6 · Zasláno: 13. 3. 2012, 21:42:15
Pop: cookie ale ukládají jen u uživatele, ale ostatní ip adresy budou zase vidět možnost "Rezervovat", ne?
|
||
Louka Profil |
if (isset($_POST['action']) or ($e=file_exists("rezervovano.txt"))) { echo 'rezervovano'; if(!$e) file_put_contents("rezervovano.txt","rezervovano"); // edit, aby se to nepřepisovalo pokaždé + edit2, přidán vykřičník } else { echo '<form>...</form>'; |
||
Pop Profil * |
#8 · Zasláno: 13. 3. 2012, 21:57:02
domino216:
Ano. Špatně jsem vás pochopil. |
||
domino216 Profil |
#9 · Zasláno: 14. 3. 2012, 23:28:34
Zdravím po denní odmlce!
Po aplikaci návodu od Louky všechno klape jak má, akorát jsem místo "file_put_contents("rezervovano.txt","rezervovano")" musel dat "fopen("rezervovano.txt","w")", protože jinak mi to vždy vohodilo: Fatal error: Call to undefined function: file_put_contents() in /3w/unas.cz/z/zd/include/prezenty.php on line 19 Mám stránky na webzdarma, je možné, že tam file_put_contents nefunguje? O alternativě fopen jsem četl, že se moc nedoporučuje, ale zkoušel jsem to a funguje zatím dobře.. Je fopen nějak závadné? Zatím všem díky moc za pomoc a ochotu;-) |
||
Davex Profil |
#10 · Zasláno: 14. 3. 2012, 23:57:26
Funkce
file_put_contents() je podporována od PHP 5. Asi jsi natrefil na server, kde je starší verze. fopen() je běžně používaná funkce a nemusíš se jí bát.
|
||
domino216 Profil |
#11 · Zasláno: 15. 3. 2012, 00:51:47
Aha, ok, to bude tím. Díky;-)
|
||
Časová prodleva: 11 let
|
0