« 1 2 3 »
Autor Zpráva
Lonanek
Profil
Samozřejmě, návody existují. Záleží na tom, co a kam chcete vypsat, jaká je verze phpBB, ...
Čeluk
Profil
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
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
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
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
Lonanek:
Jasně ale já nevím jak to udělat jinak. Proto jsem to zkoušel takto :-)
Lonanek
Profil
Čemu nerozumíte na návodu úpravy šablon pro phpBB?
Čeluk
Profil
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
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
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
A kde by měl být výstup umístěn? V které části?
Čeluk
Profil
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
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
Lonanek:
Tento kód tam zkutečně mám. Jak to mám ale zpodmínkovat?
Lonanek
Profil
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
A co Vám na to řekl strýček Google? Nebo phpBB?
Čeluk
Profil
Lonanek:
Já opravdu nevím co je na tom špatně.
Lonanek
Profil
Můžete se obrátit na specializované fórum pro Vámi použitý systém.
Čeluk
Profil
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
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
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
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
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
« 1 2 3 »

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0