Autor | Zpráva | ||
---|---|---|---|
Čeluk Profil |
#1 · Zasláno: 10. 4. 2016, 00:20:09
Mám formulář který mi uloží jméno po odeslání. Takže ho nemusím příště zadávat. Proč to ale přestane po zavření prohlížeče a znovuotevření fungovat? Chtěl bych aby to fungovalo třeba i několik dní. Jak na to?
<?php session_start(); if(array_key_exists('sub',$_POST)) $_SESSION['name']=$_POST['name']; ?> <html> <form method="post"> <input type='text' name="name" value="<?php session_start(); $r=$_SESSION['name']; echo $r; ?>"> <input type='submit' name='sub' value='send my info'> </html> |
||
Taps Profil |
#2 · Zasláno: 10. 4. 2016, 07:12:36
Čeluk:
Podivej se na cookie |
||
Čeluk Profil |
Taps:
Přidal jsem tam setcookie("name", time() - 3600); Ale stále to nefunguje. Mám to takto ale nejde to: <?php session_start(); setcookie("name", time() - 3600); if(array_key_exists('sub',$_POST)) $_SESSION['name']=$_POST['name']; ?> <html> <form method="post"> <input type='text' name="name" value="<?php session_start(); $r=$_SESSION['name']; echo $r; ?>"> <input type='submit' name='sub' value='send my info'> </html> |
||
Taps Profil |
#4 · Zasláno: 10. 4. 2016, 08:47:03
Čeluk:
Nejdrive cookie musis nastavit a pak nacist Viz napr.www.linuxsoft.cz/article.php?id_article=436 |
||
Čeluk Profil |
#5 · Zasláno: 10. 4. 2016, 09:01:50
Taps:
Takto? To mi vypisuje nějaká čísla. <?php session_start(); SetCookie ("name", time()+10*60); if(array_key_exists('sub',$_POST)) $_SESSION['name']=$_POST['name']; ?> <html> <form method="post"> <input type='text' name="name" value="<?php session_start(); $r=$_SESSION['name']; echo $r; echo $_COOKIE["name"]; ?>"> <input type='submit' name='sub' value='send my info'> </html> |
||
Tomáš123 Profil |
#6 · Zasláno: 10. 4. 2016, 09:06:21
Čeluk:
Namiesto hodnoty priradzuješ vypršanie. Pozri sa na poradie parametrov funkcie setcookie() .
|
||
Čeluk Profil |
Tomáš123:
Já ten kód prostě dohromady nedám. Nezlobte se že jsem otravoval. Pěkný den přeji. Dělal jsem se s tím do 2 do noci a prostě to neumím udělat. ach jo... Ale už Vás otravovat nebudu. No nic.. |
||
Taps Profil |
#8 · Zasláno: 10. 4. 2016, 09:51:16
Čeluk:
Neni to nic sloziteho, tady mas prakticky priklad www.phpnerds.com/article/using-cookies-in-php/2 |
||
Čeluk Profil |
<?php SetCookie("user", "pavel", Time() + 7*24*60*60); ?> <html> <form method="post"> <input type='text' name="name" value="<?php echo $_COOKIE["user"]; ?>"> <input type='submit' name='sub' value='send my info'> </html> Jak to udělat aby se po odeslání formuláře vložilo aktuální jméno místo toho pavel? |
||
Tomáš123 Profil |
#10 · Zasláno: 10. 4. 2016, 11:42:22
Čeluk:
Jednoducho tam dosadíš obdržanú hodnotu z formulára: <?php if(isset($_POST['name'])) { setcookie("user", $_POST['name'], time() + 7 * 24 * 60 * 60); } ?> <!DOCTYPE html> <form method="post"> <input type="text" name="name" <?php if(isset($_COOKIE['user'])) { echo "value=\"$_COOKIE[user]\""; } ?>> <input type="submit" value="send my info"> </form> <input type="text" name="name"<?php echo ((isset($_COOKIE['user']) ? " value=\"$_COOKIE[user]\"" : ""); ?>> |
||
xaverista Profil |
#11 · Zasláno: 10. 4. 2016, 11:44:15
Čeluk:
„Jak to udělat aby se po odeslání formuláře vložilo aktuální jméno místo toho pavel?“ SetCookie("user", $_POST['name'], Time() + 7*24*60*60); |
||
Čeluk Profil |
#12 · Zasláno: 10. 4. 2016, 14:51:55
xaverista:
Ale po zavření prohlížeče a otevření to už jméno neví. <?php SetCookie("user", $_POST['name'], Time() + 7*24*60*60); ?> <html> <form method="post"> <input type='text' name="name" value="<?php echo $_COOKIE["user"]; // vypíše hodnotu cookie jménem user, pokud je nastavena ?>"> <input type='submit' name='sub' value='send my info'> </html> |
||
Čeluk Profil |
#13 · Zasláno: 10. 4. 2016, 16:13:10
Tomáš123:
To funguje skvěle. Když to ale vložím do kódu tak se mi zobrazí php kód v políčku na jmého. <input type="text" tabindex="1" name="username" id="username" size="25" value="<?php if(isset($_COOKIE['user'])) { echo "value=\"$_COOKIE[user]\""; } ?>" class="inputbox autowidth" required /> Místo jména se objeví ten PHP kód proč? |
||
Taps Profil |
#14 · Zasláno: 10. 4. 2016, 17:00:39
Čeluk:
soubor, ve kterém máš níže uvedený kod musí mít koncovku php <input type="text" tabindex="1" name="username" id="username" size="25" value="<?php if(isset($_COOKIE['user'])) { echo "value=\"$_COOKIE[user]\""; } ?>" class="inputbox autowidth" required /> |
||
Tomáš123 Profil |
#15 · Zasláno: 10. 4. 2016, 17:11:03
Čeluk:
Do atribútu value (na riadku 1) vpisuješ na riadku 3 ďalšie value ... Vzniká ti:
<input type="text" tabindex="1" name="username" id="username" size="25" value="value="..."" class="inputbox autowidth" required /> .
|
||
Čeluk Profil |
Tomáš123:
Upravil jsem to ale stále to vypisuje PHP kód v políčku. <input type="text" tabindex="1" name="username" id="username" size="25" value="<?php if(isset($_COOKIE['user'])) { echo $_COOKIE['user']; } ?>" class="inputbox autowidth" required /> Aha už to vidím. Ta stránka je v HTML. Dá se s tím něco dělat? Kromě převodu na PHP? |
||
Xanomes Profil |
#17 · Zasláno: 10. 4. 2016, 18:56:20
Čeluk:
„Aha už to vidím. Ta stránka je v HTML. Dá se s tím něco dělat? Kromě převodu na PHP?“ To je tak velký problém přepsat koncovku souboru :) ? |
||
xaverista Profil |
#18 · Zasláno: 10. 4. 2016, 19:51:40
Xanomes:
„To je tak velký problém přepsat koncovku souboru :) ?“ Víš kolik je na to potřeba času? Si nedokážeš ani představit... |
||
Čeluk Profil |
#19 · Zasláno: 10. 4. 2016, 20:07:35
xaverista:
Jde o to že se mi ten soubor .html načítá ve fóru ve formuláři na odeslání, když ho přepíšu na .php tak mi to samozřejmě fungovat nebude. Tak blbej nejsem že bych neuměl přepsat koncovku. |
||
Lonanek Profil |
#20 · Zasláno: 10. 4. 2016, 20:35:01
Tak to je opravdu nepřekonatelný problém to přepsat. Musí se přepsat koncovka a ještě k tomu form v souboru fóra...
|
||
Čeluk Profil |
#21 · Zasláno: 10. 4. 2016, 20:38:07
Lonanek:
Když ale přepíšu soubor na .PHP tak mi to pak nebude zobrazovat ten zbývající .html kód nebo bude? |
||
Tomáš123 Profil |
#22 · Zasláno: 10. 4. 2016, 20:41:15
Čeluk:
„Dá se s tím něco dělat? Kromě převodu na PHP?“ Nie. PHP funguje iba v súboroch s príponou .php. V prvom príspevku si mal funkčný skript (zrejme správne uložený); zmenilo sa niečo? HTML kód sa v PHP súbore samozrejme nestarí... xaverista: Zbytočný šum. Toto nie je chat. |
||
Xanomes Profil |
#23 · Zasláno: 11. 4. 2016, 21:15:49
Tomáš123:
Čeluk: „Když ale přepíšu soubor na .PHP tak mi to pak nebude zobrazovat ten zbývající .html kód nebo bude?“ Ale jistě že bude. K čemu by jinak .php a <?php bylo?
<?php if(isset($_GET['jmeno'])) { $jmeno = $_GET['jmeno']; } else { $jmeno = "anonymní"; } ?> <!doctype html> <title>Testovací stránka</title> <meta charset="utf-8"> <h1>Vítej zpět, uživateli <?php echo $jmeno; ?>!</h1> |
||
Lonanek Profil |
Doporučil bych upravit:
řádek 3 na $jmeno = htmlspecialchars($_GET['jmeno']);
nebo řádek 11 na <h1>Vítej zpět, uživateli <?php echo htmlspecialchars($jmeno); ?>!</h1>
|
||
Xanomes (nepřihlášen) Profil * |
#25 · Zasláno: 12. 4. 2016, 13:22:13
Lonanek:
Jistě, to byla jen ukázka, že to jde :) |
||
Čeluk Profil |
#26 · Zasláno: 12. 4. 2016, 22:19:47
Xanomes (nepřihlášen):
Ono mi to stejně nefunguje. Nechápu to. Stránka se načítá v jiné html stránce ale i když přepíši obě na .php tak mi to stejně nefunguje. Musí to být něčím jiným. Ale stejně děkuji moc za pomoc. Je to phpbb fórum. Kdyby to chtěl někdo udělat tak bych mu za to 500 kč dal. Víc si dovolit nemůžu. |
||
Xanomes Profil |
#27 · Zasláno: 14. 4. 2016, 17:55:23
Čeluk:
Těžko soudit, když nevíme, jak to tam vkládáš :) Musíš někde dělat chybu |
||
Čeluk Profil |
#28 · Zasláno: 14. 4. 2016, 20:20:13
Xanomes:
I když vložím <?php echo "pokus"; ?> tak se taky nic nestane. Prostě tu stránku uložím jako .php a stejně v tom .php kód nefunguje. |
||
Lonanek Profil |
#29 · Zasláno: 14. 4. 2016, 20:30:38
Čeluk:
„Je to phpbb fórum.“ V phpBB fórum se echo nepoužívá. Šablony jsou tvořeny jinak, pro vykreslení se používají proměnné. |
||
Čeluk Profil |
#30 · Zasláno: 14. 4. 2016, 21:19:24
Lonanek:
Aha, a dalo by se to tedy nějak upravit na proměnou ? |
||
Téma pokračuje na další straně.
|
0