Autor | Zpráva | ||
---|---|---|---|
Lonanek Profil |
#1 · Zasláno: 14. 4. 2016, 21:27:11
Samozřejmě, návody existují. Záleží na tom, co a kam chcete vypsat, jaká je verze phpBB, ...
|
||
Čeluk Profil |
#2 · Zasláno: 14. 4. 2016, 21:49:52
Lonanek:
Potřebuji aby se po odeslání uložilo jméno. Takže když uživatel dá odpovědět , tak už bude vyplněné jeho jméno z minula a on napíše pouze odpověď. Verze phpbb je 3.1.7 |
||
Lonanek Profil |
phpBB disponuje mnoha proměnnými, které identifikují uživatele.
Nějak z toho popisu nedokáži posoudit o co má být výsledkem. uložilo jméno - kam? dá odpovědět - na co? bude vyplněné jeho jméno z minula - kde? Předpokládám, že vše uvedené se týká registrovaného uživatele phpBB. Jeho údaje jsou v systému známy a není potřeba je nijak složitě zjišťovat. Snažíte se vytvořit nějaký EXT (pro starší verze používáno MOD)? |
||
Čeluk Profil |
#4 · Zasláno: 14. 4. 2016, 22:56:53
Právě že to potřebuji pro neregistrované uživatele. Nebo i když dají vytvořit příspěvek tak musí zadat své jméno. No a já potřebuju aby si to jméno pamatovalo a když dají znova vytvořit příspěvek tak aby se tam to jméno vložilo. Takže už by ho dotyčný nemusel znova vyplňovat. Jinak se stává že si nepamatuje pod jakým jménem přispíval a pak zadá jiné. Tudíž je u každého příspěvku jiné jméno u neregistrovaného toho samého uživatele a příspěvky nedávají smysl.
V podstatě jako zde na diskusi kdybych se na něco zeptal jako neregistrovaný uživatel a chtěl odpovědět nebo se zeptat znovu, tak aby se mi předvyplnilo to jméno co jsem zadal naposledy. Víte jak to myslím? |
||
Lonanek Profil |
Kód, který Vám to zabezpečí máte. Stačí jej zakomponovat do phpBB a do šablony předat parametry. Viz výše odkazovaný návod.
Bohužel o tyto změny přijdete každou aktualizací phpBB fóra. Bez alespoň částečné znalosti kódu phpBB to asi nedáte... |
||
Čeluk Profil |
#6 · Zasláno: 15. 4. 2016, 17:17:28
Lonanek:
No já ho právě do fóra dal jako echo a to nefunguje. Co s tím dělat jiného nevím. |
||
Lonanek Profil |
#7 · Zasláno: 15. 4. 2016, 17:18:24
Z uvedeného odkazu cituji:
Pravidlo #1 Nikdy nic nevypisujeme v .php souboru, jakékoliv echo, print nebo podobné hned ukazuje na špatný skript! |
||
Čeluk Profil |
#8 · Zasláno: 15. 4. 2016, 17:25:15
Lonanek:
Jasně ale já nevím jak to udělat jinak. Proto jsem to zkoušel takto :-) |
||
Lonanek Profil |
#9 · Zasláno: 15. 4. 2016, 17:27:27
Čemu nerozumíte na návodu úpravy šablon pro phpBB?
|
||
Čeluk Profil |
#10 · Zasláno: 15. 4. 2016, 23:36:54
Lonanek:
No není mi jasné že když nemůžu použít PHP echo tak jak mám převést tento zápis aby to fungovalo: <input type="text" tabindex="1" name="username" id="username" size="25" value="<?php if(isset($_COOKIE['user'])) { echo $_COOKIE['user']; } ?>" class="inputbox autowidth" required /> |
||
Lonanek Profil |
#11 · Zasláno: 16. 4. 2016, 17:21:47
V phpBB 3.1.X se postupuje jinak než v případě starší verze (3.0.X).
Návod pro tvorbu rozšíření. Samozřejmě to jde i nestandardním způsobem - přímý zásah do souborů - ale to není doporučeno, protože při aktualizaci o úpravy přijdete. |
||
Čeluk Profil |
#12 · Zasláno: 16. 4. 2016, 19:45:43
Lonanek:
No já stejně už aktualizovat nemůžu (mám už několik souborů změněno). Ale sán to dohromady nedám. Ach jo.. |
||
Lonanek Profil |
#13 · Zasláno: 16. 4. 2016, 20:26:58
A kde by měl být výstup umístěn? V které části?
|
||
Čeluk Profil |
#14 · Zasláno: 17. 4. 2016, 07:41:44
Nyní to mám takto a potřeboval bych to předělat aby si to jméno pamatovalo. Takže když budu psát příspěvek třeba zítra tak aby už bylo vyplněné jméno co jsem zadával včera. Takto je to nyní:
<!-- IF not S_PRIVMSGS and S_DISPLAY_USERNAME --> <dl style="clear: left;"> <dt><label for="username">{L_USERNAME}{L_COLON}</label></dt> <dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" required /></dd> </dl> <!-- ENDIF --> |
||
Lonanek Profil |
#15 · Zasláno: 17. 4. 2016, 08:56:34
A jak se jmenuje upravený HTML soubor?
|
||
Čeluk Profil |
posting_editor.html
Je to na řádku 17 to vyplňování jména. |
||
Lonanek Profil |
Pokud se nepltu, v souboru posting.php si můžete to co potřebujete zpodmínkovat.
řádek 1746: 'USERNAME' => ((!$preview && $mode != 'quote') || $preview) ? $post_data['username'] : '', |
||
Čeluk Profil |
#18 · Zasláno: 18. 4. 2016, 07:06:47
Lonanek:
Tento kód tam zkutečně mám. Jak to mám ale zpodmínkovat? |
||
Lonanek Profil |
#19 · Zasláno: 18. 4. 2016, 15:32:57
Tak jak jste to požadoval:
'USERNAME' => ((!$preview && $mode != 'quote') || $preview) ? $post_data['username'] : (isset($_COOKIE['user'])) ? $_COOKIE['user'] : 'anonym', Nebude chtít, abych Vám to ještě upravil v souboru? |
||
Čeluk Profil |
Lonanek:
To mi vyhodí chybu při odeslání formuláře: Illegal use of $_COOKIE. You must use the request class or request_var() to access input data. Found in /data/web/virtual/www/posting.php on line 1746. This error message was generated by deactivated_super_global. |
||
Lonanek Profil |
|||
Čeluk Profil |
#22 · Zasláno: 18. 4. 2016, 18:51:02
Lonanek:
Já opravdu nevím co je na tom špatně. |
||
Lonanek Profil |
#23 · Zasláno: 18. 4. 2016, 18:57:32
Můžete se obrátit na specializované fórum pro Vámi použitý systém.
|
||
Čeluk Profil |
#24 · Zasláno: 18. 4. 2016, 18:59:54
Lonanek:
Tak dík za pomoc. Příště mi prosím napiš rovnou že to nedotáhneme do konce. Chodím na placený internet a kdybych věděl že mi nakonec nepomůžeš tak jsem mohl ušetřit peníze za placený internet i čas který musím věnovat abych sem došel. To mi příště raději nepomáhej. Dík |
||
Lonanek Profil |
#25 · Zasláno: 18. 4. 2016, 19:03:53
Dobře, příště Vás již nikam směrovat nebudu.
Každý chodíme na placený internet, i já, nic dnes není zadarmo. Poradit a vyřešit problém jsou dvě docela odlišné věci. Za radu se zpravidla neplatí. Toto je diskuzní fórum, ne vypracování hotových řešení na přání tazatele. |
||
Čeluk Profil |
Lonanek:
Ok, jak chcete. Nemá cenu v této diskusi dál pokračovat. Nashle Takže mám změnit $_COOKIE za $cookie = request_var('cookie_time', 0, false, true); ? |
||
Fisir Profil |
Reaguji na Čeluka:
Podle phpBB fóra by mělo fungovat tohle: $cookie = $request->variable('cookie_time', '', false, false, \phpbb\request\request_interface::COOKIE); Upraveno podle [#29]. |
||
Čeluk Profil |
#28 · Zasláno: 18. 4. 2016, 20:16:26
Fisir:
Děkuji. Ještě se zeptám, mělo by to vypadat takto? 'USERNAME' => ((!$preview && $mode != 'quote') || $preview) ? $post_data['username'] : (isset($cookie = request_var('cookie_time', '', false, false, \phpbb\request\request_interface::COOKIE);['user'])) ? $cookie = request_var('cookie_time', '', false, false, \phpbb\request\request_interface::COOKIE);['user'] : 'anonym', To mi totiž hází chybu tak jestli jsem to dal dohromady správně. Parse error: syntax error, unexpected '=', expecting ',' or ')' in /data/web/virtual/www/posting.php on line 1746 |
||
Lonanek Profil |
#29 · Zasláno: 18. 4. 2016, 20:23:36
Fisir:
Jak je uvedeno v prvním odkazu v [#21], cituji: request_var has been depreciated in 3.1 - you should now be using $request_variable |
||
Čeluk Profil |
#30 · Zasláno: 18. 4. 2016, 20:30:29
No mám to takto ale chybu to hází pořád:
'USERNAME' => ((!$preview && $mode != 'quote') || $preview) ? $post_data['username'] : (isset($cookie = $request_variable('cookie_time', '', false, false, \phpbb\request\request_interface::COOKIE);['user'])) ? $cookie = $request_variable('cookie_time', '', false, false, \phpbb\request\request_interface::COOKIE);['user'] : 'anonym', Chyba: Parse error: syntax error, unexpected '=', expecting ',' or ')' in /data/web/virtual/www/posting.php on line 1746 |
||
Téma pokračuje na další straně.
|
0