Autor | Zpráva | ||
---|---|---|---|
Martaneek Profil * |
#1 · Zasláno: 2. 3. 2011, 10:18:28
Dobrý den,
mám (pro Vás) zřejmě triviální dotaz, ale já jsem z toho vedle, jak tak jedle :-) Při ukládání dat do DB přes formulář, kde je mám nasazené TinyMCE (nevím, zda to souvisí), posílám data přes $_POST. Když do textarey zadám text s uvozovkami (např. "AHOJ"), data se mi nepošlou, prostě to uvozovky ignoruje. Zkoušel jsem apostrof - ten projde. Např. text: Ahoj, jsem tu zcela "nový" $_POST ořízne na: Ahoj, jsem tu zcela. Provedl jsem provizorní opatření kdy uvozovky nahrahuji apostrofem Str_Replace('"', "'", $_POST["poznamka"]); ale to je zřejmě jako drbání se levou nohou za pravým uchem. Jak-z-toho-ven? :-) |
||
panther Profil |
#2 · Zasláno: 2. 3. 2011, 10:21:19
Martaneek:
a zpracování formuláře, tedy ukládání, máš kde? Ukaž. |
||
Martaneek Profil * |
#3 · Zasláno: 2. 3. 2011, 13:47:54
insert.php:
<?php $posilam=true; if ($_POST["odeslano"]) { if (strlen($_POST["poznamka"])==0) { echo "<h2>Poznámka musí mít nějaký obsah!</h2>"; } else { $posilam=false; ?> <h3>Náhled údajů před vložením</h3> <table cellpadding="2" cellspacing="2" border="0" align="center" width="500px" style="background: none; text-indent:4px; text-align:left;"> <tr><td style="text-align:right; width:40%;">Poznámka:</td><th><?php echo $_POST["poznamkas"];?></th></tr> // zde ještě vidím uvozovky.... </table> <form method="post" action="<?php echo $back;?>"> // $back = JS history goback -1 <input type="hidden" name="poznamka" value="<?php echo $_POST["poznamka"];?>"> <input type="Submit" name="zpet" value="<< Zpět"> </form> <form method="post" action="?p=modify"> <input type="hidden" name="poznamka" value="<?php echo $_POST["poznamka"];?>"> <input type="Submit" name="Uložit" value="Uložit >>"> </form> <?php } } if ($posilam): ?> <h3>Vložení poznámky</h3> <form method="post" style="width:700px" action="<?php echo $_SERVER["PHP_SELF"]."?p=insert"; ?>"> Poznámka:<br> <textarea id="popis" rows="3" name="poznamkas" cols="60"><?php echo $_POST["poznamka"];?></textarea><br> <input type="hidden" name="odeslano" value="true"> <input type="Submit" name="odeslat" value=">> Náhled"> </form> <?php endif;?> modify.php: <?php echo $_POST["poznamka"]; // a tady už uvozovky neprojdou $vysledek=mysql_query("insert into notes (poznamka) values ('".$_POST["poznamka"]."')", $GLOBALS["link"]); // zapis do DB if (!$vysledek) { //pokud je zapis neuspesny header("Location: http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"]."/databaze/index.php?p=unsuccess&page=karta_stavby&id=".$id_stavby."&type=ids"); } else { //pokud je zapis uspesny header("Location: http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"]."/databaze/index.php?p=unsuccess&page=karta_stavby&id=".$id_stavby."&type=ids"); } ?> |
||
Martaneek Profil * |
#4 · Zasláno: 3. 3. 2011, 09:39:17
Takže abych si odpověděl. Stačilo k echu poznámky dát htmlspecialchars, předtím jsem různé pokusy chybně dával k "Náheldu před odesláním", nikoli ke spávnému formuláři. Chjo....
<form method="post" action="?p=modify"> <input type="hidden" name="poznamka" value="<?php echo htmlspecialchars($_POST["poznamka"]);?>"> <input type="Submit" name="Uložit" value="Uložit >>"> </form> |
||
Časová prodleva: 13 let
|
0