Web言語のお勉強~ど素人が往く~

かつてVB6を1年くらい触った事があるだけのど素人がWeb言語に挑戦します。勉強結果を随時発表します。

【PHP】送信ボタンでデータを送信する時の手法いろいろ

送信ボタンでデータを送信する

PHP勉強メモφ(..)

今回は、フォームからデータを受け取る方法について解説します。例として、外観をHTMLで作り、PHPを使って実際にデータを送受信する方法で紹介します。
PHPでフォームからデータを受け取る方法(GETとPOST) | TechAcademyマガジン

formの基本は下記の様な感じ。
formでくくった中にinputタグを書いてテキスト入力でデータ内容を書いてもらって、submitで送信してもらう。
送信先はformのactionで指定したページへと遷移する。

<h1>フォームデータの送信</h1>
<form action = “index.php” method = “get”>
<input type = “text” name =“comment/“><br/>
<input type = “submit” value =“送信/“>
</form>

複数のボタンを配置したい場合は?

「更新」と「削除」ボタンを同一画面に配置したいなど。

こちらは配列にボタン名称を格納するパターン。

PHPでfor文などで1つのページに複数ボタンを設置した場合のボタンの判別

  1. input typeのボタンやテキストのname部分を配列にしとく
  2. if($_POST['submit'])の時、key関数を使ってどのボタンが押されたかを判別
  3. 配列を使って取り出す
  4. 後はお好きなように・・・
  5. ちなみにセキュリティーは考慮されてません(エスケープして下さい)

PHPで複数のボタンを配置したときの処理(forやwhileで設置した複数のボタンを判別)

ちょっと面倒くさそう。

こちらはボタンにnameを付けておいて、PHP側でPOSTで受け取って処理を分ける方法。

今回、HTMLでForm内に複数のSubmitボタンを配置して、ボタン毎に処理を分けたいと思ってます。


その場合、ボタンの name 属性に値を設定し、PHP側で $_POST['name属性の値'] があるかどうかを判定することで、どのボタンが押されたか判定できるようです。


(PHP)HTMLのFORMでSubmitボタンを複数配置したい場合 : 3流プログラマのメモ書き

こちらの方が使いやすそう!

<form method="post" action="control.php" id="input">
<input type="text"  name="testtext" value="">
<input type="submit" value="ボタン1"  name="button1"><br>
<input type="submit" value="ボタン2"  name="button2"><br>
<input type="submit" value="ボタン3"  name="button3"><br>
</form>

<?php
    if (isset($_POST['button1'])) {
        //ボタン1の時の処理 
        //(header関数で別のページに飛ばすことも可。その場合、他のPOSTの値を引き継ぐ時は
        // SESSION変数を使うとよいかも)
        exit;
    }elseif ( isset($_POST['button2']) ){
        //ボタン2の時の処理 
        exit;
    }elseif ( isset($_POST['button3']) ){
        //ボタン3の時の処理 
        exit;
    }
?>

この方式でいきたいと思います(^-^)/


私のPHP教科書はこちら。非常に分かりやすいです!

PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE)

PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE)

アクセス過多でAppleのサーバーがダウン(>_<)あと90分後に予約開始だと言うのに・・・

非常事態

ちょっと「SIMフリーiPhone6sの情報がみたいな~」とAppleのURLにアクセスしてみたら・・・

iPhone 6sとiPhone 6s Plusを見る - Apple (日本)

f:id:MoneyReport:20150912143658j:plain

ドドン!

Access Denied
You don't have permission to access "http://www.apple.com/jp/" on this server.


Reference #18.8cfa56b8.1442035716.62f332d3

と表示されて、アクセスできなくなっています(>_<)

本来なら下記の様なiPhone6sの情報が見られるはずなのに・・・

f:id:MoneyReport:20150911084653j:plain

Access Deniedってなあに?

ちなみにこの「Access Denied」って何なんでしょう?
調べてみたら・・・

access denied
アクセス拒否

access deniedの意味・用例|英辞郎 on the WEB:アルク

との事でアセスが拒否されました(;_;)
多分、世界中からのアクセスが殺到して、さすがのAppleのサーバーも捌ききれないアクセス数になったのではないかと(^o^;

iPhone6s予約開始時間である
2015/09/21 16:01
にAppleサイトにアクセスして上記の画像が現れない事を祈ります(^-^;

追記

15:55現在、アクセスできるように回復してました(^-^)/
開店準備だったようです(^_^;)

f:id:MoneyReport:20150912155645j:plain

重たい(>_<)はてなブログやはてなブックマークがさっきから繋がりにくいですね〜(ー ー;)

あれ?

何だかさっきから重たいですね〜。
はてなブログもそうですし、はてなブックマークもタイムアウトしますね〜(^_^;)
こんな感じ

f:id:MoneyReport:20150812230032j:plain

何でしょう?
スマートニュースのアプリでもはてなブログの記事だけ全然読み込まれなくて、スマートモードでしか記事が読めませんでした(>_<)

外部から攻撃でも受けてるんですかね〜。
お盆も近いですし海外から日本への攻撃ですかね?
はてなが代表して!?

追記

やはりトラブルがあったようですね。

http://staff.hatenablog.com/entry/2015/08/12/232204

に報告が上がっていました。
ネットワーク機器のトラブルだったそうで、現在は復旧したとの事です(^-^)/