{"id":2708,"date":"2019-04-09T04:04:56","date_gmt":"2019-04-08T19:04:56","guid":{"rendered":"http:\/\/okamurax.com\/?p=2708"},"modified":"2020-05-05T13:23:49","modified_gmt":"2020-05-05T04:23:49","slug":"phpjavascriptvue-js-%e3%83%a1%e3%83%a2%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0","status":"publish","type":"post","link":"https:\/\/appbay.org\/?p=2708","title":{"rendered":"PHP+JavaScript(Vue.js) \u30e1\u30e2\u30d7\u30ed\u30b0\u30e9\u30e0"},"content":{"rendered":"<p>\u4f55\u304b\u30e1\u30e2\u3092\u53d6\u308b\u5834\u5408\u3001\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30c3\u3068\u66f8\u304f\u3053\u3068\u304c\u591a\u3044\u306e\u3067\u3001\u30d6\u30e9\u30a6\u30b6\u306b\u66f8\u3051\u305f\u3089\u3069\u3046\u3060\u308d\u3046\u3068\u601d\u3044\u4f5c\u6210\u3057\u3066\u307f\u305f\u3002<\/p>\n<p>\u666e\u6bb5\u304b\u3089\u30d6\u30e9\u30a6\u30b6\u306f\u958b\u3044\u3066\u3044\u308b\u3057\u3001\u30ec\u30f3\u30b5\u30d0\u306b\u8a2d\u7f6e\u3059\u308c\u3070\u5916\u3067\u3082\u898b\u308c\u308b\u306e\u3067\u3001\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3088\u308a\u4fbf\u5229\u306b\u306a\u308a\u305d\u3046\u3068\u601d\u3063\u3066\u3044\u305f\u304c\u3001\u3057\u3070\u3089\u304f\u4f7f\u3063\u3066\u307f\u3066\u3001\u3084\u3063\u3071\u308a\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u306b\u623b\u3063\u3066\u3057\u307e\u3063\u305f\u3002<\/p>\n<pre class=\"lang:js decode:true\">&lt;?php\r\n\r\nif ( empty($_POST['pwd']) || $_POST['pwd'] !== \"123\" ) {\r\n  \r\n  echo \"&lt;form method='post'&gt;\";\r\n  echo \"&lt;input type='password' name='pwd'&gt;\";\r\n  echo \"&lt;\/form&gt;\";\r\n  exit;\r\n\r\n}\r\n\r\n?&gt;\r\n\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;meta charset=\"UTF-8\"&gt;\r\n&lt;title&gt;&lt;\/title&gt;\r\n&lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/vue\/dist\/vue.js\"&gt;&lt;\/script&gt;\r\n&lt;script src=\"https:\/\/unpkg.com\/axios\/dist\/axios.min.js\"&gt;&lt;\/script&gt;\r\n&lt;style type=\"text\/css\"&gt;\r\n* {\r\n  padding: 0;\r\n  border: 0;\r\n}\r\nhtml, body, #app {\r\n  height: 98%;\r\n}\r\ntextarea {\r\n  width: 100%;\r\n  height: 100%;\r\n  font-family: \"\u30e1\u30a4\u30ea\u30aa\", sans-serif;\r\n  font-size: 20px;\r\n}\r\ntextarea:focus {\r\n  outline: none;\r\n}\r\n&lt;\/style&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n&lt;div id=\"app\"&gt; \r\n&lt;p id=\"datetime\"&gt;&lt;\/p&gt;\r\n&lt;textarea v-model=\"val\" v-on:input=\"timer\" v-on:keydown.ctrl.enter=\"save\"&gt;&lt;\/textarea&gt;\r\n&lt;\/div&gt;\r\n&lt;script&gt;\r\nlet v = new Vue({\r\n  el: '#app',\r\n  data: {\r\n    url: 'http:\/\/&lt;?php echo $_SERVER[\"HTTP_HOST\"] . \"\/\" . \"post.php\"; ?&gt;',\r\n    timer_id: '',\r\n    val:''\r\n  },\r\n  methods: {\r\n\r\n    window: onload = function(){\r\n      v.post();\r\n    },\r\n\r\n    save: function(){\r\n      if(v.timer_id != \"\") clearTimeout(v.timer_id);\r\n      v.post();\r\n    },\r\n\r\n    post: function(){\r\n\r\n      let param = new URLSearchParams();\r\n      param.append(\"data\", v.val);\r\n\r\n        axios\r\n          .post(v.url, param) \r\n          .then(response =&gt; {\r\n            v.val = response.data;\r\n          })\r\n          .catch(error =&gt; {\r\n            alert(error);\r\n        });\r\n\r\n        let t = new Date();\r\n        document.querySelector(\"#datetime\").innerHTML = t.getFullYear() + \"\/\" +  t.getMonth() + 1 + \"\/\"+ t.getDate() + \" \" + t.getHours() + \":\" + t.getMinutes() + \":\" + t.getSeconds();\r\n\r\n        v.timer_id = \"\";\r\n    },\r\n\r\n    timer: function(){\r\n\r\n      if(v.timer_id != \"\") clearTimeout(v.timer_id);\r\n      v.timer_id = setTimeout(function(){\r\n\r\n        v.post();\r\n\r\n      }, 5000);\r\n      \r\n    }\r\n  }\r\n})\r\n&lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<pre class=\"lang:php decode:true \">&lt;?php\r\n\r\nif (parse_url($_SERVER['HTTP_REFERER'])['host'] !== $_SERVER[\"HTTP_HOST\"]) exit;\r\nif (!empty($_POST['data']) &amp;&amp; !file_put_contents(\"..\/data.txt\", $_POST['data'])) die(\"\u66f8\u8fbc\u5931\u6557\");\r\necho file_get_contents(\"..\/data.txt\");\r\n<\/pre>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/KGo_7RAykO4\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4f55\u304b\u30e1\u30e2\u3092\u53d6\u308b\u5834\u5408\u3001\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30c3\u3068\u66f8\u304f\u3053\u3068\u304c\u591a\u3044\u306e\u3067\u3001\u30d6\u30e9\u30a6\u30b6\u306b\u66f8\u3051\u305f\u3089\u3069\u3046\u3060\u308d\u3046\u3068\u601d\u3044\u4f5c\u6210\u3057\u3066\u307f\u305f\u3002 \u666e\u6bb5\u304b\u3089\u30d6\u30e9\u30a6\u30b6\u306f\u958b\u3044\u3066\u3044\u308b\u3057\u3001\u30ec\u30f3\u30b5\u30d0\u306b\u8a2d\u7f6e\u3059\u308c\u3070\u5916\u3067\u3082\u898b\u308c\u308b\u306e\u3067\u3001\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3088\u308a\u4fbf\u5229\u306b\u306a\u308a\u305d\u3046\u3068 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/appbay.org\/?p=2708\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;PHP+JavaScript(Vue.js) \u30e1\u30e2\u30d7\u30ed\u30b0\u30e9\u30e0&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3,139],"class_list":["post-2708","post","type-post","status-publish","format-standard","hentry","category-1","tag-php","tag-vue-js"],"_links":{"self":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/2708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2708"}],"version-history":[{"count":8,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/2708\/revisions"}],"predecessor-version":[{"id":3030,"href":"https:\/\/appbay.org\/index.php?rest_route=\/wp\/v2\/posts\/2708\/revisions\/3030"}],"wp:attachment":[{"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/appbay.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}