Friiks Posted November 6, 2007 Report Share Posted November 6, 2007 Sveiki! Apnika man visur drukāt angliski un gribēju redzēt php.lv forumu... Katrā gadījumā problēma ir nekas nopietns - vairāk apnicīgs. Nesen tikai sāku darboties ar JS..pareizāk AJAX lietām bez prototype un sanāca man forma komentāriem ko darbina AJAX. Kad kautko iepostoju viss darbojas brīnišķīgi, bet, ka ārā echo'jot pie mainīgā pielieku nl2br(), kas parasti tekstu sadalītu smuki pa rindiņām vietās kur nospiests <Enter> .. tagad funckija vienkārši, šķiet, nestrādā. Fails, kas saņem tekstu no formas izskatās aptuveni šādi: <?php //db konfigurācija $var = mysql_real_escape_string(htmlspecialchars($_GET['teksts'])); if(!empty($var)){ //ieliek datubāzē } ?> Un pie datubāzes lauka izvades šādi: <?php //blaa blaa $var = mysql_query("SELECT `text` FROM `comments` ORDER BY `id` DESC") or die(mysql_error()); while($r = mysql_fetch_array($var)){ echo stripslashes(nl2br($r['text']))."<br />"; //<br> beigās, lai nenoformētie dati būtu katrs jaunā rindiņā } ?> JS ir šāds: <script type="text/javascript"> <!-- function initialize_request () { try {request = new XMLHttpRequest();} catch (error) {request = new ActiveXObject("Microsoft.XMLHTTP");} } function load_data(){ initialize_request(); request.open("GET","fails.php?act=get_posts",true); request.send(null); request.onreadystatechange=function(){ if (request.readyState != 4) { document.getElementById('messages').innerHTML = "Lādējas..."; } if (request.readyState == 4) { document.getElementById('messages').innerHTML = request.responseText; } } } --> </script> Vienīgais, kas man iešāvās tagad prātā ir tas, ka varbūt JS nojauc to nl2br() ? Katrā gadījumā esmu diezgan apjucis :P Link to comment Share on other sites More sharing options...
v3rb0 Posted November 6, 2007 Report Share Posted November 6, 2007 $_GET['teksts'] ??? Link to comment Share on other sites More sharing options...
Friiks Posted November 6, 2007 Author Report Share Posted November 6, 2007 Nu jā, JS sūta iepostoto tekstu fails.php?teksts=komentaara teksts formā Link to comment Share on other sites More sharing options...
andrisp Posted November 6, 2007 Report Share Posted November 6, 2007 (edited) Neizmantojot AJAX, tas skripts atgriež tekstu ar <br> elementiem ? Un ja ar AJAX, kā tas izskatās iekš DOM (paskaties ar Firebug)? PS. Kam tev tas stripslashes() ? PS2. Ar AJAX tehnoloģiju var veikt arī POST pieprasījumus. Un iespējams, ka vaina ir tieši tur, ka izmanto GET. Edited November 6, 2007 by andrisp Link to comment Share on other sites More sharing options...
Friiks Posted November 6, 2007 Author Report Share Posted November 6, 2007 Hmm, paskatījos phpmyadmin un sapratu, ka jau tur ievietotais teksts ir bez \n. Tātad problēma ir pirms ielikšanas DB. Un jā, cenntos ar $_POST ielikt, bet atgriza tikai tukšus rezultātus. Reku kods ko lietoju, lai postotu.. function post(form,the_id){ initialize_request(); var text = form.comment.value; request.open("POST", "fails.php?act=add_comment&text="+text+"&id="+the_id, true); request.send(null); request.onreadystatechange = load_data(); } Link to comment Share on other sites More sharing options...
v3rb0 Posted November 6, 2007 Report Share Posted November 6, 2007 request.open("post", "fails.php", true); request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); request.send("act=add_comment&text="+text+"&id="+the_id); Link to comment Share on other sites More sharing options...
andrisp Posted November 6, 2007 Report Share Posted November 6, 2007 (edited) Friiks, nepareizi. Iesaku izlasīt: http://developer.mozilla.org/en/docs/AJAX:Getting_Started Edited November 6, 2007 by andrisp Link to comment Share on other sites More sharing options...
Recommended Posts