スレッド表示 | フラット表示〕 全トピック 920 件中 764 番目 次≫ ≪前

ラジオボタンで選択

created: 2003-11-04 01:38 | modified: 2003-11-05 01:05 | reply: 6

[871] ラジオボタンで選択

user: NOEL | created: 2003-11-04 01:38
はじめまして。
NOELと申します。PHPをはじめて間もないのですが
やりたいことがありまして、色々サイトを廻って始めの一歩を踏み出したところです。


今、フォームから入力した内容をテキストエリアに表示するものを作成しています。
入力は3種類あり、

■1つめ---ラジオボタンで 赤・青・黄・その他「テキストボックスに記入」
■2つめ---テキストボックス
■3つめ---テキストボックス
  「送信ボタン」
■結果出力テキストエリア

全体のイメージはこのような形です。

<form method="POST" action="自身のPHPファイル">
色:
<input type="radio" name="iro" value="red" checked>
<input type="radio" name="iro" value="blue">
<input type="radio" name="iro" value="yellow">
<input type="radio" name="iro" value="sonota">
<input type="text" size="13" name="iro">

横サイズ:
<input type="text" size="10" name="yoko">

縦サイズ:
<input type="text" size="10" name="tate">

<input type="submit" value="送信">

<textarea rows="10" cols="60">
<?php
print $_POST['iro']."<br>";
print $_POST['yoko']."<br>";
print $_POST['tate'];
?>
</textarea>
</form>

現在ソースはこのように書いてます。
結果として横サイズと縦サイズの
テキストボックスに入力された文字は出力されますが、
ラジオボタンの結果が出ないのと
何よりその他の場合はテキストボックスの文字を拾う方法もわからない状態です。
アドバイスをよろしくお願いします。
reply: 872 返信 編集 削除

[872] 別の name にしてみては

user: ゆうじ | created: 2003-11-04 02:24
こんばんは。この部分、
<input type="radio" name="iro" value="red" checked>
<input type="radio" name="iro" value="blue">
<input type="radio" name="iro" value="yellow">
<input type="radio" name="iro" value="sonota">
<input type="text" size="13" name="iro">

ラジオボタンとテキストボックスで
同じ名前(name="iro")を使ってるので、
$_POST['iro'] でチェックボックスの値が
獲得できなくても当然かと思います。

<input type="radio" name="iro" value="sonota">
この記述は削除して、

<input type="text" size="13" name="iro">
このテキストボックスの名前を
name="sonota" としてはいかがでしょう。
わたしならそうします。

これでPHPでも値が取れると思います。

訂正:
> <input type="radio" name="iro" value="sonota">
> この記述は削除して、

これ削除しない方がよいですね。
すみません訂正させていただきます。
チェックボックスで、red、blue、yellow のどれかが、
必ず選択されてしまいますので。

残しておいたうえで、
テキストボックスを別の名前にしてください。
Parent: 871  reply: 878 返信 編集 削除

[878] 出来ました!!

user: NOEL | created: 2003-11-04 22:00
ゆうじさん!出来ましたー!!ありがとうございます!
しかも条件分岐付きです!

<input type="radio" name="iro" value="red" checked>
<input type="radio" name="iro" value="blue">
<input type="radio" name="iro" value="yellow">
<input type="radio" name="iro" value="0">
<input type="text" size="13" name="sonota">

?中略?

<?php
if ($_POST['iro'] == 0){
print $_POST['sonota'];
}else{
print $_POST['iro'];
}
print $_POST['yoko'];
print $_POST['tate'];
?>
昨日はもう、ドツボにはまって動けなくなってました。
PHP以前のミスでお恥ずかしい。。。
ご回答いただいて基本的な事に気が付きました。

で、その続きを質問させて下さい。
送信ボタンにより、結果がテキストエリアに入るようになりましたが、
そのまま更新ボタンでページを更新しても
前回の結果が出力されたままになっています。
URLの ?= 以降が見えなくなっているだけで実は存在しているんだろうなぁ。。。
と漠然と想像します。
ブラウザの更新ボタンを押すとリフレッシュされる方法はありますでしょうか?
Parent: 872  reply: 880 返信 編集 削除

[880] 残念ながらPHPでは制御できません

user: ゆうじ | created: 2003-11-05 00:10
ご報告ありがとうございました。
それもきちんと結果をまとめていただいて、
お返事した甲斐があります。嬉しいですね。

更新ボタンの件ですが、
ブラウザの更新ボタンの働きというのは、
直前にブラウザが発行したリクエストを繰り返すことです。
なので、フォームのボタンを押した後、
更新ボタンを押したとすると、ボタンを2回クリックしたことと同じになります。

> ブラウザの更新ボタンを押すとリフレッシュされる方法・・・

ということですが、
更新ボタンにリフレッシュする働きはありませんし、
ブラウザに依存するところですので、
残念ながらPHPでは制御できません。

フォームの内容を初期状態に戻したいのでしたら、
フォームにリセットボタンをつけるのが良いと思います。
Parent: 878  reply: 881 返信 編集 削除

[881] 納得しました。

user: NOEL | created: 2003-11-05 00:33
ありがとうございます!

一回限りのURIというものが存在しないだろうか?
と淡い期待をしておりました。
丁寧に教えていただいて納得いたしました。
また、ご回答をいただく間も更に調べていましたら
灯台下暗し・・・こちらのTripの中に?以降はURIという呼び名だと
分かるものがありまして一つ用語を覚えました。

このあとは地道な形成の作業に入れます。
・・・と、もう一つだけ教えていただきたいのですが・・すいません欲張りで。

PHPファイル内で自身のPHPに飛んで処理をしているのですが
その場合、例えばJavaScriptのようにページを読み込みなおしせず処理を実行するということは可能なのでしょうか?
Parent: 880  reply: 882 返信 編集 削除

[882] 残念ですが2

user: ゆうじ | created: 2003-11-05 00:49
> ページを読み込みなおしせず処理を実行・・・

PHPはサーバーサイドスクリプトなので、
残念ながらこれも実現できない部分ですね。

# こう考えると結構PHPで出来ないことありますねェ。
Parent: 881  reply: 883 返信 編集 削除

[883] 色々ありがとうございました

user: NOEL | created: 2003-11-05 01:05
> PHPはサーバーサイドスクリプトなので、

そ、そーですよね。
なんだかよく考えれば当たり前なことばかりの質問で失礼しました。
いやぁ、でもスッキリした気分で進められます。

># こう考えると結構PHPで出来ないことありますねェ。

PHPって存在は知ってても、どんなことが出来るのかさえ分からなかった私にとっては、
何が出来るのか良く知ってるのに一から組むことが出来なかったJavaScriptやPerlに比べ
簡潔でとっつきやすいスクリプトだという印象です。
まだやっと「ママ」と言えた程度ですが結果が見えやすくとても楽しいです!

近いうちきっと、お世話になることがあると思います。
その時はまたよろしくお願いします!
ありがとうございました!
Parent: 882  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 764 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑