質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

197閲覧

クエリパラメータ?からの引数による演算

BskBencher

総合スコア10

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/01/23 11:32

http://1.1.1.1/stocker?function=addstock&name=xxx&amount=57
http://1.1.1.1/stocker?function=sell&name=xxx&amount=9
http://1.1.1.1/stocker?function=checkstock&name=xxx
以上のようにアクセスが合った場合に
xxx:48
のように出力したいです。(57-9=48)
初心者であまりわかっていませんが、どのようにすれば上記のように出力できるのでしょうか。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

なぜそういうことがしたいのかわかりませんが、とりあえず以下のような手順ですかね。

  1. GETメソッドからのデータを受け取れるWEBサーバを用意する
  2. 受け取ったパラメータから機能を判定する
  3. 機能に従った処理をする

(このとき、表示するような機能が指定されていれば表示する)

投稿2019/01/23 12:07

dice142

総合スコア5158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BskBencher

2019/01/23 12:19

具体的にはどのようなコードを書けばいいのでしょうか。 teraterm,apacheを使っています。 よろしくお願いします。
dice142

2019/01/23 12:23

サーバ側の言語によって異なります。 おそらくまずはWebサーバについて調べるのが先でしょうかね。
BskBencher

2019/01/23 12:31

サーバーはLinux(CentOS)だと思います
dice142

2019/01/23 12:34

それはOSです。 やりたいことがあるのは良いことですが、それを実現する方法がわかっていらっしゃらないと思うので、 まずはそれを実現するWebサーバについて調べて見るところから初めてはいかがでしょう?
guest

0

JavaScriptだけでもQueryStringを取得することはできます。

本来はDBに在庫の状況を更新したいのでしょうが、
一応localStorageをローカルのDBとして使う手はないこともない・・・です。

下記を拡張子.htmlで保存して起動したあと、URL末尾に
?function=addstock&name=xxx&amount=57
?function=sell&name=xxx&amount=9
?function=checkstock&name=xxx
と順番に入力してみてください。

恐らくやりたいのはこういうことじゃないとは思いますが・・・。
少なくとも質問内容の要件は満たしてるかと。

html

1<div id="result"></div> 2 3<script> 4var query = getQueryString(); 5var func = query.function; 6var name = query.name; 7var amount = Number(query.amount); 8 9switch(func) { 10 case 'addstock': 11 addStock(name, amount); 12 break; 13 14 case 'sell': 15 sell(name, amount); 16 break; 17 18 case 'checkstock': 19 checkStock(name); 20 break; 21 22 case 'checkstockall': 23 checkStockAll(); 24 break; 25} 26 27function getStock(name) { 28 var stock = Number(localStorage.getItem(name)); 29 return isNaN(stock) ? 0 : stock; 30} 31 32function addStock(name, amount) { 33 var stock = getStock(name); 34 stock += amount; 35 localStorage.setItem(name, stock); 36 37 var result = name + 'を' + amount + '個入庫しました。'; 38 document.getElementById("result").innerText = result; 39} 40 41function sell(name, amount) { 42 var stock = getStock(name); 43 stock -= amount; 44 localStorage.setItem(name, stock); 45 46 var result = name + 'が' + amount + '個売れました。'; 47 document.getElementById("result").innerText = result; 48} 49 50function checkStock(name) { 51 var stock = getStock(name); 52 53 var result = name + 'の在庫は' + stock + '個です。'; 54 document.getElementById("result").innerText = result; 55} 56 57function checkStockAll() { 58 var result = ''; 59 for(var i = 0; i < localStorage.length; i++ ){ 60 var key = localStorage.key(i); 61 var stock = localStorage.getItem(key); 62 if (result != '') result += '\n'; 63 var row = key + 'の在庫は' + stock + '個です。'; 64 result += row; 65 } 66 document.getElementById("result").innerText = result; 67} 68 69function getQueryString() { 70 var args = {}; 71 var param = location.search.substring(1).split('&'); 72 for (var i = 0; i < param.length; i++) { 73 var keySearch = param[i].search(/=/); 74 var key = ''; 75 if (keySearch != -1) key = param[i].slice(0, keySearch); 76 var val = param[i].slice(param[i].indexOf('=', 0) + 1); 77 if (key != '') args[key] = decodeURI(val); 78 } 79 return args; 80} 81</script>

投稿2019/01/24 03:24

編集2019/01/24 03:54
runny_nose

総合スコア280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問