Autor Zpráva
domino216
Profil
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
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
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 *
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
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 *
domino216:
Ano. Špatně jsem vás pochopil.
domino216
Profil
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
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
Aha, ok, to bude tím. Díky;-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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