Problém se zobrazením obsahu <textarea>
Zdravím dnes po druhé.
Udělal jsem si zápis pro psaní článků.
Obsah se píše do formůláře vytvořený z <textarea>obsah</textarea>
Myslel jsem si že nebude problém zapisovat do něj pomocí jednoduchých HTML kódů(font,img,iframe)
Při zkoušce to vypadá takto http://clanky.michales.eu/standings_black.php?conf =3&sort=1
Zobrazuje se to jako prostý text.
V databázi mám ten obsah nastavený jako longtext a ve formuláři mám print 'Obsah: <p><textarea cols="60" rows="10" name="obsah" /></textarea>' . "\n";
A v souboru který to odesílá mám
$obsah=htmlspecialchars($_POST['obsah'], ENT_QUOTES);
Díky za každé rady aby mi to zobrazovalo už ten kdo html zpracovaný v tomto případě obrázek.
Snad sem se vyjádřil dobře.
PS: V souboru který to zobrazuje mám toto <td><?php print $results['obsah']; ?></td>
Ahoj.
Pokud to bereš jako procvičení, tak žádné námitky.
V jiném případě trochu vynalézáš kolo.
Na to existují hotové moduly tzv. WYSIWYG editory.
Z anglické věty „What you see is what you get“.
Demo jednoho z nich je zde: demo
Např. já jsem používal FCK editor.
Problém je asi v tom že nemohu použít žádný takovýto editor.
Články jsou součástí výsledkových tabulek a jsou spjatý s každou tabulkou.
Malá ukázka kde je to funkční.
news.php
Mám to postavený na stejném základě jako on.
On bohužel nechce nic prozradit.
Blbost. CKEditor je pouze editor, tzv. frontend. Jak a kam vložený text uložíš a následně zobrazíš, je plně v tvé režii. Prostě je jedno, jestli použiješ tento editor nebo si napíšeš vlastní, princip je stejný. Jde jen o ušetření práce...
Ten editor mi nepomůže jak jsem psal je to spjatý s tabulkamy. To conf=3 v odkazu je právě číslo určité tabulky.
Ale zkusit to mohu.
PS: zde je například jiný článek k jiné tabulce http://clanky.michales.eu/standings_black.php?conf =24&sort=1
Zápis do tabulky je furt stejný jen se rozlišuje právě vždy tím conf="číslo"
Editor si můžeš vložit do jaké stránky chceš. To, co se v něm napíše si uložíš do databáze. A pak si text z databáze kdekoliv zobrazíš, kde potřebuješ. Tak stále nevidím, v čem je problém, že to je spjatý s tabulkami.
Ale nemusíš mě přesvědčovat o opaku, stačí zrušit to odstraňování html tagů, jak psal los a naprogramuj si to celé sám... Když ti to tak bude vyhovovat.
Ak chceš zobrazovať HTML a nie prostý text, tak nepoužívaj pri ukladaní do databázy funkciu htmlspecialchars.
BTW: Máš tam navyše jedno lomítko <textarea /></textarea>.
To sem chtěl přesně vědět a co mám použít místo htmlspecialchars děkuji za odpověď
Namiesto htmlspecialchars nemáš použiť nič.
Predpokladám, že pri ukladaní do databázy ošetruješ vstupy (napr. pomocou mysql_real_escape_string). Tie musíš samozrejme ošetrovať aj naďalej.
Ďalej predpokladám, že to HTML budú môcť zadávať len administrátori, pretože v opačnom prípade si vytvoríš bezpečnostnú dieru do svojich stránok.
Nějak to nechápu
Pokud tam nemám toto $obsah=htmlspecialchars($_POST['obsah'], ENT_QUOTES);
tak mi to do databáze nic nezapíše.
Jinak ano vstupy jsou ošetřeny.
PS: v PHP nejsem nijak zběhlý tak sry za blbý otázky.
Máš odstranit htmlspecialchars, ne celý řádek.
Super děkuji moc :D vyřešeno.
Hlavně neber na lehkou váhu to zabezpečení, viz. los.