Oznámení
Provoz fóra byl ukončen
Podivné chování Texy v AJAX komentářích
Upozornění: Tohle vlákno je hodně staré.
před 12 lety
- zimmi
- Člen | 95
Zdravím fórum,
rozhodl jsem se udělat na blog LIVE náhled komentářů, k tomu
používám toto:
if (window.ActiveXObject) {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
httpRequest = new XMLHttpRequest();
}
function Nahled () {
var jmeno=document.formular.elements[0].value;
var mail=document.formular.elements[1].value;
var web=document.formular.elements[2].value;
var text=document.formular.elements[4].value;
var url = 'http://www.zimmi.cz/neco.php?text='+text;
httpRequest.open("GET", url, true);
httpRequest.onreadystatechange= function () {processRequest(jmeno, mail, web); } ;
httpRequest.send(null);
}
function processRequest(jmeno, mail, web) {
if (httpRequest.readyState == 4) {
if(httpRequest.status == 200) {
var text=httpRequest.responseText;
document.getElementById('nahled').innerHTML = "<h3>Náhled komentáře</h3> "+text+"";
} else {
alert("Chyba pri nacitani stanky "+ httpRequest.status +":"+ httpRequest.statusText);
}
}
}
V souboru neco.php je:
<?php
require_once('texy/texy/texy.php');
$texy = &new Texy();
#$_GET['text'] = htmlspecialchars($_GET['text']);
$text = $texy->process($_GET['text']);
echo $text;
?>
Texy funguje tak napůl. Z prázdného řádku nevytvoří odstavec, u seznamu funguje jen první položka (ostatní se řadí za ni). Dělá si co chce, a já vůbec nevím proč. Vidět to můžete třeba na http://www.zimmi.cz/…jni-stat.php
před 12 lety
- David Grudl
- Nette Core | 6806
- text je nutné při zakomponování do URL escapovat
- před vstupem do Texy nesmí být modifikován (ostranit htmlspecialchars, zkontrolovat vypnutí magic quotes)
před 12 lety
- zimmi
- Člen | 95
dgx: text je nutné při zakomponování do URL escapovat
Můžu se zeptat jak? :o)
před 12 lety
- juneau
- Člen | 166
A nezapomenout na neosetrene znamenko „+“, ktere proste …zmizi! :) (alespon pri mem bastleni)