Jump to content
php.lv forumi

AJAX: POST čatiņam - pamācība


IM24LV

Recommended Posts

Sveiki!

 

Varbū kāds zin kādu easy tutoriāli, kurā ir kas līdzīgs ajax chat (shoutbox) parādīts? nepieciešams ir lai ievadot tekstu laukā un nospiežot pogu submit, tas caur ajax pievienojas datubāzei? :) vienkārši ajax apgūt vismaz pagaidām nevēlos, bet vajadzētu vismaz lai ar kopēšanu varētu savest kārtībā to lietu :)

Link to comment
Share on other sites

:D laikam izklausīšos pēc nūba.(tāds jau arī šajā jomā esmu) :) pirmajā (w3c) nav nekā saistībā ar pašu post, un pārējie ir puslīz komerciāli, kuros via nu nekā tāda nav vai arī l;ai apskatītu ir jāmaksā :(

Edited by IM24LV
Link to comment
Share on other sites

apmēram jau sāku nojaust kas tur notiek. meklēju kādu gatavu pareizu formu kas strādā, tad varētu pielāgot savām vajadzībām, bet tā kkā nevaru atrast w3s ir atrodami visādi varianti, bet ne tieshi ievadīšana un pievadīšana datubāzei :(

Link to comment
Share on other sites

if (iMEMBER) {

$shout_name = $userdata['user_id'];

} elseif ($settings['guestposts'] == "1") {

$shout_name = trim(stripinput($_POST[sn]));

$shout_name = preg_replace("(^[0-9]*)", "", $shout_name);

$shout_name = "G_".$shout_name;

if (isNum($shout_name)) $shout_name="";

}

$shout_message = str_replace("\n", " ", $_POST[sm]);

$shout_message = preg_replace("/^(.{255}).*$/", "$1", $shout_message);

$shout_message = str_replace("[", " [", $shout_message);

$shout_message = preg_replace("/([^\s]{21})/", "$1\n", $shout_message);

$shout_message = trim(stripinput(censorwords($shout_message)));

$shout_message = str_replace("\n", "<br>", $shout_message);

$shout_messagee = str_replace("\n", "", $_POST[sm]);

if ($shout_name != "" && $shout_message != "" && $shout_name != "G_") {

dbquery("INSERT INTO ".$db_prefix."shoutbox (shout_name, shout_message, shout_datestamp, shout_ip) VALUES ('".$shout_name."', '".$shout_message."', '".time()."', '".USER_IP."')");

$oneMessage = true;

}

 

 

Bez tiem visiem pārveidojumiem jau protams var iztikt. bez ajax jau nav nekādu problēmu, tas ajax jau sagādā lielākās galvassāpes, bet bez ajax nevar - zūd čata jēga (nepieciešams tāpat kā www.hc.lv, kreisajā malā)

 

Tāks, atradu laikam vēlvienu variantu ka to pašu var ar iframe izdarīt. jāpatestē vai tas būs taspats.

Link to comment
Share on other sites

Jēzus Marija, jau gandrīz visu dienu būšu ar šo mazo mēsliņu, kas nemaz tik vienkāršs nav, nodarbojies :) Esmu ticis tiktāl, bet nevaru saprast kas par vainu varētu bū / kā tālāk darīt ;(

 

tātad sākumā ir parastā lapa, kurā ir teksta laukums un pievienoshanas poga:

 

<textarea name='sm' rows='4' class='textbox' style='width:140px;' id='shoutedit'></textarea>
<span id='shoutchangebutton'><input type='button' onClick=\"AddShoutPost('shout', 'lol', '".INFUSIONS."shoutbox_panel/actions.php?typek=add', '".INFUSIONS."shoutbox_panel/'); ods()\"  value='Pievienot' class='button'></span>

 

zemāk ir pats čatu tekstu lauks, bet tātad iepriekš jau tiek inklūdots javascripts:

 

function AddShoutPost(fo, div, tar, adre) { 
$('shoutchangebutton').innerHTML = "<input type='button' onClick=\"AddShoutPost('"+fo+"', '"+div+"', '"+adre+"actions.php?typek=add', '"+adre+"'); ods()\"  value='Wyslij' class='button'>";
	 var req = mint.Request();
		 req.onInitialization = function() { $(div).innerHTML = "Loading..."; }
		 req.OnLoading = function() { $(div).innerHTML = "<center><img src='infusions/shoutbox_panel/images/load.gif'></center>"; }
		 req.OnSuccess = function() { $(div).innerHTML = this.responseText; }
		 req.OnError = function () { $(div).innerHTML = "Wyst±pi³ b³±d !!!"; }			 
		 req.SendForm(fo,tar);
}

 

cik saprotu, tad vaina ir šajā javaskriptā, jo viņš pieprasa vēl no kaut kāda cita javascripta, kurš ir 1500 rindas biezs, un galīgi nevaru izlobīt ko viņam no ta javascripta vajag.

 

tātad actions.php attiecīgā daļā ir:

 

if($typek == "add"){
if (iMEMBER) {
	$shout_name = $userdata['user_id'];
} elseif ($settings['guestposts'] == "1") {
	$shout_name = trim(stripinput($_POST[sn]));
	$shout_name = preg_replace("(^[0-9]*)", "", $shout_name);
	$shout_name = "G_".$shout_name;
	if (isNum($shout_name)) $shout_name="";
}
	$shout_message = str_replace("\n", " ", $_POST[sm]);
	$shout_message = preg_replace("/^(.{255}).*$/", "$1", $shout_message);
	$shout_message = str_replace("[", " [", $shout_message);
	$shout_message = preg_replace("/([^\s]{21})/", "$1\n", $shout_message);
	$shout_message = trim(stripinput(censorwords($shout_message)));
	$shout_message = str_replace("\n", "<br>", $shout_message);
	$shout_messagee = str_replace("\n", "", $_POST[sm]);
	if ($shout_name != "" && $shout_message != "" && $shout_name != "G_") {
		dbquery("INSERT INTO ".$db_prefix."shoutbox (shout_name, shout_message, shout_datestamp, shout_ip) VALUES ('".$shout_name."', '".$shout_message."', '".time()."', '".USER_IP."')");
			$oneMessage = true;
	}
include INFUSIONS."shoutbox_panel/message.php";

}

 

nu inklūdots tiek prosta visi ieraksti, tur problēmām nevajadzētu būt. :( kā lai saved to javascriptu kārtībā, jo cik noprotu trūkst dažas funkcijas, kurām jānāk no ta mintajaxa. ;(

Edited by IM24LV
Link to comment
Share on other sites

FUSION sistēmas lietotāji/koderi praktiski vienmēr izceļās ar savu neloģiskumu.

1.) paskaties vispirms kā strādā AJAX (bildītes - http://images.google.lv/images?um=1&hl...amp;q=ajax+php)

2.) uztaisi mazu piemēru uz `baltās lapas`

3.) pielieto iegūtas zināšanas reālajā uzdevumā

 

Tā ir, ka no autiņiem uzreiz iekš auto un tad sitās nost.

Link to comment
Share on other sites

×
×
  • Create New...