Oznámení

Provoz fóra byl ukončen

Podivné chování Texy v AJAX komentářích

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)

http://diskuse.jakpsatweb.cz/index.php?…

před 12 lety

David Grudl
Nette Core | 6806