{"id":207,"date":"2013-09-05T23:13:12","date_gmt":"2013-09-05T14:13:12","guid":{"rendered":"http:\/\/taitan916.info\/blog\/?p=207"},"modified":"2024-01-12T21:23:13","modified_gmt":"2024-01-12T12:23:13","slug":"post-207","status":"publish","type":"post","link":"https:\/\/taitan916.info\/blog\/archives\/207","title":{"rendered":"PHP\u3068ajax\u3067\u30c1\u30e3\u30c3\u30c8\u306e\u4f5c\u6210"},"content":{"rendered":"<p><span style=\"color: #000099;\">\u25a0\u30bd\u30fc\u30b9<\/span><br \/>\n<span style=\"color: #008800;\">\u30fbindex.<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/php\">php<\/a><\/span><br \/>\n&lt;?<br \/>\nerror_reporting(E_ALL &amp; ~E_NOTICE);<br \/>\ninclude(\".\/config.<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/php\">php<\/a>\");<\/p>\n<p>\/\/\u30c7\u30fc\u30bf\u306e\u53d7\u3051\u53d6\u308a<br \/>\n$loginid\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= ($_POST['loginid']) ? $_POST['loginid'] : '';<br \/>\n$loginpass\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= ($_POST['loginpass']) ? $_POST['loginpass'] : '';<br \/>\n$key\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= ($_POST['key']) ? $_POST['key'] : '';<\/p>\n<p>\/\/\u30ed\u30b0<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/%A5%A4%A5%F3%A5%C1%A5%A7\">\u30a4\u30f3\u30c1\u30a7<\/a>\u30c3\u30af<br \/>\n$loginflg\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= ($loginid == $account[$key]['loginid'] &amp;&amp; $loginpass == $account[$key]['loginpass'] &amp;&amp; $loginid != '' &amp;&amp; $loginpass != '') ? 1 : 0 ;<br \/>\n?&gt;<\/p>\n<p>&lt;!DOCTYPE HTML PUBLIC \"-\/\/<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/W3C\">W3C<\/a>\/\/<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/DTD\">DTD<\/a> HTML 4.01 Transtional\/\/EN\" \"<a href=\"http:\/\/www.w3c.org\/TR\/html4\/loose.dtd\">http:\/\/www.w3c.org\/TR\/html4\/loose.dtd<\/a>\"&gt;<br \/>\n&lt;meta http-equiv=\"content-type\" content=\"text\/html\"\/&gt;<br \/>\n&lt;meta cherset = \"<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/UTF-8\">UTF-8<\/a>\"&gt;<br \/>\n&lt;html lang=\"ja\"&gt;<br \/>\n&lt;head&gt;<br \/>\n&lt;title&gt;\u30c1\u30e3\u30c3\u30c8&lt;\/title&gt;<br \/>\n&lt;script type=\"text\/<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/javascript\">javascript<\/a>\" src=\"<a href=\"http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.7.2\/jquery.min.js\">http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.7.2\/jquery.min.js<\/a>\"&gt;&lt;\/script&gt;<br \/>\n&lt;script&gt;<br \/>\nvar account = {'1' : '\u592a\u90ce', '2' : '\u82b1\u5b50'};<\/p>\n<p>function chat_send () {<br \/>\nvar chat_body = $('#chat_body').val();<br \/>\nvar key = $('#key').val();<br \/>\nif (chat_body == '' || chat_body == ' ' || chat_body == '\u3000') {<br \/>\nalert('\u5185\u5bb9\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002');<br \/>\nreturn false;<br \/>\n} else {<br \/>\nchat_<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/ajax\">ajax<\/a>(chat_body, key);<br \/>\n}<br \/>\n}<\/p>\n<p>function chat_<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/ajax\">ajax<\/a> (chat_body, key) {<br \/>\nvar data = {chat_body : chat_body, key : key, mode : 'send'};<br \/>\n$.<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/ajax\">ajax<\/a>({<br \/>\ndata : data,<br \/>\ntype : 'POST',<br \/>\nurl : '.\/<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/ajax\">ajax<\/a>.<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/php\">php<\/a>',<br \/>\nsuccess : function(req) {<br \/>\n$('#chat_body').val('');<br \/>\n}<br \/>\n});<br \/>\n}<\/p>\n<p>function chat_get (){<br \/>\nvar timestamp = new Date().getTime();<br \/>\n$.get(\".\/chat.log?stamp=\"+timestamp, function(req){<br \/>\n$(\"#reserve\").html(req);<br \/>\n});<br \/>\nsetTimeout(\"chat_get();\",500);<br \/>\n}<\/p>\n<p>&lt;? if ($loginflg == 1) : ?&gt;<br \/>\n$(function(){<br \/>\nchat_get();<br \/>\n});<br \/>\n&lt;? endif ; ?&gt;<br \/>\n&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body&gt;<br \/>\n&lt;h1&gt;\u30c1\u30e3\u30c3\u30c8&lt;\/h1&gt;<br \/>\n&lt;? if ($loginflg == 0) : \/\/\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u306a\u3044\u5834\u5408?&gt;<br \/>\n&lt;fieldset style=\"width:200px;\"&gt;<br \/>\n&lt;legend&gt;\u30ed\u30b0\u30a4\u30f3\u30d5\u30a9\u30fc\u30e0&lt;\/legend&gt;<br \/>\n&lt;form action=\"&lt;?=$_SERVER['<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/PHP\">PHP<\/a>_SELF'];?&gt;\" method=\"post\"&gt;<br \/>\n\u30a2\u30ab\u30a6\u30f3\u30c8\u540d\uff1a<br \/>\n&lt;select name=\"key\"&gt;<br \/>\n&lt;? for ($i = 1; $i &lt;= count($account); ++$i) : ?&gt;<br \/>\n&lt;option value=\"&lt;?=$i;?&gt;\"&gt;&lt;?=$account[$i]['name'];?&gt;&lt;\/option&gt;<br \/>\n&lt;? endfor; ?&gt;<br \/>\n&lt;\/select&gt;&lt;br \/&gt;<br \/>\nID\uff1a&lt;input type=\"text\" name=\"loginid\"&gt;&lt;br \/&gt;<br \/>\nPASS\uff1a&lt;input type=\"text\" name=\"loginpass\"&gt;&lt;br \/&gt;<br \/>\n&lt;input type=\"submit\" value=\"login\"&gt;<br \/>\n&lt;\/fieldset&gt;<br \/>\n&lt;? else : \/\/\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u3044\u308b\u5834\u5408?&gt;<br \/>\n&lt;div style=\"height:500px; width:500px; overflow-y:scroll;\"&gt;<br \/>\n&lt;fieldset style=\"overflow-y:scroll;\"&gt;<br \/>\n&lt;legend&gt;\u30c1\u30e3\u30c3\u30c8\u30ed\u30b0&lt;\/legend&gt;<br \/>\n&lt;span id=\"reserve\"&gt;<br \/>\n&lt;?<br \/>\nif (!is_file($file_path)) {<br \/>\necho '\u30c1\u30e3\u30c3\u30c8\u30ed\u30b0\u306f\u3042\u308a\u307e\u305b\u3093\u3002';<br \/>\n}<br \/>\n?&gt;<br \/>\n&lt;\/span&gt;<br \/>\n&lt;\/fieldset&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;br&gt;<\/p>\n<p>&lt;fieldset style=\"width:200px;\"&gt;<br \/>\n&lt;legend&gt;&lt;?=$account[$key]['name'];?&gt;\u3067\u30ed\u30b0\u30a4\u30f3\u4e2d&lt;\/legend&gt;<br \/>\n&lt;form acthon=\"&lt;?=$SERVER['<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/PHP\">PHP<\/a>_SELF'];?&gt;\" method=\"post\" name=\"chat_form\"&gt;<br \/>\n&lt;textarea name=\"chat_body\" id=\"chat_body\"&gt;&lt;\/textarea&gt;&lt;br \/&gt;<br \/>\n&lt;input type=\"hidden\" name=\"mode\" value=\"send\"&gt;<br \/>\n&lt;input type=\"hidden\" name=\"key\" id=\"key\" value=\"&lt;?=$key;?&gt;\"&gt;<br \/>\n&lt;input type=\"hidden\" name=\"loginid\" value=\"&lt;?=$loginid;?&gt;\"&gt;<br \/>\n&lt;input type=\"hidden\" name=\"loginpass\" value=\"&lt;?=$loginpass;?&gt;\"&gt;<br \/>\n&lt;input type=\"button\" value=\"\u767a\u8a00\" onClick=\"return chat_send();\"&gt;<br \/>\n&lt;\/form&gt;<br \/>\n&lt;\/fieldset&gt;<br \/>\n&lt;? endif;?&gt;<br \/>\n&lt;\/body&gt;<br \/>\n&lt;\/html&gt;<\/p>\n<p><span style=\"color: #008800;\">\u30fbconfig.<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/php\">php<\/a><\/span><br \/>\n&lt;?<br \/>\n$file_path\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= \".\/chat.log\";<br \/>\n$account\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= array(<br \/>\n'1' =&gt; array(<br \/>\n'name' =&gt; '\u592a\u90ce',<br \/>\n'loginid' =&gt; 'id1',<br \/>\n'loginpass' =&gt; 'pass1',<br \/>\n),<br \/>\n'2' =&gt; array(<br \/>\n'name' =&gt; '\u82b1\u5b50',<br \/>\n'loginid' =&gt; 'id2',<br \/>\n'loginpass' =&gt; 'pass2',<br \/>\n),<br \/>\n);<br \/>\n?&gt;<\/p>\n<p><span style=\"color: #008800;\">\u30fb<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/a&lt;br \/&gt;\njax\">ajax<\/a>.<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/php\">php<\/a><\/span><br \/>\n&lt;?<br \/>\nerror_reporting(E_ALL &amp; ~E_NOTICE);<br \/>\ninclude(\".\/config.<a class=\"keyword\" href=\"http:\/\/d.hatena.ne.jp\/keyword\/php\">php<\/a>\");<\/p>\n<p>if ($_POST['mode'] == 'send' &amp;&amp; $_POST['chat_body']) {<br \/>\n$body = str_replace('*', '\uff0a', $_POST['chat_body']);<br \/>\n$body = str_replace('@_@', '\uff20\uff3f\uff20', $body);<br \/>\n$chat_body = '<br \/>\n[\u767a\u8a00\u8005]' . $account[$_POST['key']]['name'] . '&lt;br \/&gt;<br \/>\n[\u65e5\u6642]' . date('Y\/m\/d H:i:s') . '&lt;br&gt;<br \/>\n[\u767a\u8a00\u5185\u5bb9]' . $_POST['chat_body'] . '&lt;hr&gt;';<br \/>\nif (is_file($file_path)) {<br \/>\n$chat_log = file_get_contents($file_path);<br \/>\n$chat_body = $chat_body . $chat_log;<br \/>\n}<br \/>\nfile_put_contents($file_path, $chat_body, LOCK_EX);<br \/>\necho 1;<br \/>\n} else {<br \/>\necho 0;<br \/>\n}<br \/>\n?&gt;<\/p>\n<p><span style=\"color: #000099;\">\u25a0\u899a\u3048\u3066\u304a\u304f\u3053\u3068<\/span><br \/>\nget\u3067\u30c1\u30e3\u30c3\u30c8\u30ed\u30b0\u3092\u53d6\u308a\u306b\u884c\u304f\u969b\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u5fae\u5999\u306b<br \/>\n\u6b8b\u3063\u3066\u3044\u308b\u3063\u307d\u3044\u6319\u52d5\u304c\u3042\u3063\u305f\u3002\u753b\u50cf\u3060\u3051\u3058\u3083\u306a\u304f\u3001<br \/>\n\u975e\u540c\u671f\u901a\u4fe1&amp;\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u66f8\u304d\u63db\u3048\u308b\u5834\u5408\u306f\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3092\u3064\u3051\u308b\u3002<\/p>\n<p>\u30ed\u30b0\u30a4\u30f3\u60c5\u5831\u3092\u5f15\u304d\u56de\u3059\u969b\u306f\u30bb\u30c3\u30b7\u30e7\u30f3\u4f7f\u3063\u305f\u307b\u3046\u304c\u30b9\u30de\u30fc\u30c8\u306b\u3067\u304d\u305d\u3046\u3002<br \/>\n\u3053\u306e\u3042\u305f\u308a\u306f\u3084\u3063\u305f\u3053\u3068\u304c\u7121\u3044\u306e\u3067\u8981\u52c9\u5f37\u3002<\/p>\n<p>file_get_contents()\u306f\u6307\u5b9a\u3057\u305f\u5834\u6240\u306b\u30d5\u30a1\u30a4\u30eb\u304c\u7121\u3044\u5834\u5408\u306f\u30a8\u30e9\u30fc\u304c<br \/>\n\u51fa\u305f\u306e\u3067\u3001\u4f7f\u3046\u3068\u304d\u306fis_file\u3067\u5b58\u5728\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3046\u3002<\/p>\n<p>\u3082\u3063\u3068\u8a2d\u8a08\u306e\u6bb5\u968e\u3067\u7d30\u304b\u3044\u3068\u3053\u308d\u3082\u8a70\u3081\u308b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u25a0\u30bd\u30fc\u30b9 \u30fbindex.php &lt;? error_reporting(E_ ... <\/p>\n","protected":false},"author":1,"featured_media":1085,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,3,4],"tags":[],"class_list":["post-207","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","category-jquery","category-javascript"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts\/207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/comments?post=207"}],"version-history":[{"count":0,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/posts\/207\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/media\/1085"}],"wp:attachment":[{"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/media?parent=207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/categories?post=207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/taitan916.info\/blog\/wp-json\/wp\/v2\/tags?post=207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}