リンクアシスタント サポート掲示板

相互リンク集支援ツール リンクアシスタント
| スレッド一覧 | 新規スレッド | 留意事項 | ワード検索 | 過去ログ | 管理用 |   

このスレッドはロックされています。記事の閲覧のみとなります。

サポート掲示板 一覧 > 記事閲覧

コンボBOXの追加について
日時: 2006/06/27 20:31
名前: あき

お世話になります
リンクアシスタントのおまけソフトにあつかましくもお願いがあります
申込フォームなんですが
ジャンルの選択にリストBOX又はコンボBOX機能を
追加頂けないでしょうか

メンテ
Page: [1]

Re: コンボBOXの追加について ( No.1 )
日時: 2006/06/28 01:49
名前: 管理者
参照: http://la.aulta.net/

申込みフォームは、ご自身で変更いただけます。

form.htmlをメモ帳(テキストエディタ)で開きます。

----------------------------------------------
<TD bgcolor="#80ff80" nowrap>希望ジャンル</TD>
<TD bgcolor="#f9f9f9" nowrap></TD>
<TD bgcolor="#f9f9f9"><INPUT name="GenreName" type="text" size="20"></TD>
<TD bgcolor="#f9f9f9">掲載希望のジャンルがあれば、入力してください。</TD>
----------------------------------------------

この部分を探してください。

<TD bgcolor="#f9f9f9"><INPUT name="GenreName" type="text" size="20"></TD>

↑の場所を削除し、その位置に、↓を加えてください

----------------------------------------------
<TD bgcolor="#f9f9f9">
<SELECT name="GenreName">
<OPTION value="1" selected>おすすめ</OPTION>
<OPTION value="2">パソコン</OPTION>
<OPTION value="3">ソフトウェア</OPTION>
<OPTION value="4">その他</OPTION>
</SELECT>
</TD>
----------------------------------------------

ジャンルの数だけ、
<OPTION value="重複しない数字">ジャンル名</OPTION>
を加えます。


↓に続きます。
メンテ
Re: コンボBOXの追加について ( No.2 )
日時: 2006/06/28 01:58
名前: 管理者
参照: http://la.aulta.net/

次に、check.php をメモ帳で開きます。

----------------------------------------------
//希望ジャンル
if ( isset( $_POST["GenreName"] ) ) {
$GenreName = trim($_POST["GenreName"]);
} else {
$GenreName ="";
}
----------------------------------------------

この部分まで移動してください。
ここを削除し、次のように書き換えます。

----------------------------------------------
//希望ジャンル
$GenreName ="";
if ( isset( $_POST["GenreName"] ) ) {
switch ($_POST["GenreName"]){
case "1"; $GenreName = "オススメ"; break;
case "2"; $GenreName = "パソコン"; break;
case "3"; $GenreName = "ソフトウェア"; break;
case "4"; $GenreName = "その他"; break;
}
}
----------------------------------------------

必要に応じて、
 case "4"; $GenreName = "その他"; break;
この行を増やします。


以上で、作業が完了となりますが、エラーが発生する場合は、 ; " などの記号その他上記サンプルと見比べて書き損じがないか確認してみてください。


あと、ファイルの編集には、メモ帳よりもテラパッド(フリー)がオススメです。
http://www.vector.co.jp/soft/win95/writing/se104390.html

既に、良質なテキストエディタをご使用の場合は、余計なお世話ということで、無視して頂ければ・・・


それでは、また何か分からないことがありましたらご連絡ください。
メンテ
Re: コンボBOXの追加について ( No.3 )
日時: 2006/06/28 02:13
名前: 管理者
参照: http://la.aulta.net/

あっあと、またまた余計なお世話になっちゃいますが・・・。

『リンクについて』を見てて気づいたのですが、
まず、↓をご覧になってみてください。
http://fc2blogshop.blog13.fc2.com/blog-entry-787.html

『通販生活』って言葉をサイトタイトルから外したほうが良いと思いますよ。
仮に↑の警告がなかったとしても、このキーワードで飛んでくる人もほとんどいませんので、どちらにせよ外したほうが良いですよ。

なんでこんなことを言うのかというと、『通販生活』でGoogle3位に表示されているAlfadorleってサイトがありますが、過去1ヶ月間で、このキーワードで訪問した人の数は、たった1人だけですので・・・。

以上、経験者は語るでした
メンテ
Re: コンボBOXの追加について ( No.4 )
日時: 2006/06/28 11:35
名前: あき

出来合いのバージョンアップを頂くより
非力な私の スキルアップになりますので
ソースを教えて頂いた事に感謝しています

&警告ありがとうございました
早速、修正に取り掛かります
メンテ
Re: コンボBOXの追加について ( No.5 )
日時: 2006/06/28 14:58
名前: あき

何度もすみません
コンボBOXはうまくいきましたが
check.php の 修正で
case "1"; $GenreName = ""; break;
case "2"; $GenreName = "パソコン"; break;
if (strlen($GenreName) < 1) {
echo "<br>".EchoFontColor("希望ジャンルの選択は必須です。","#FF00")."<br><br>";
echo "<form><input type=\"button\" value=\"入力画面に戻る\" onClick=\"history.back()\"></form></body></html>";
exit;
}
と 必須にしてエラー処理をしたつもりですが
色々書いた見ましたが うまくいきません
恐れ入りますが ご指導願えないでしょうか
現在は 1番目を 当方におまかせ にしています
メンテ
Re: コンボBOXの追加について ( No.6 )
日時: 2006/06/28 16:08
名前: 管理者
参照: http://la.aulta.net/

サイトのほう見てみましたが、問題解決できたように見えましたがいかがでしょうか?

>case "1"; $GenreName = ""; break;
これは、意味がないですね。

ジャンルリストにユーザーが希望するものが無い場合を想定して、ということなのだろうと思いましたがいかがですか?

HTMLフォームのコンボボックスでは、リストからの選択のみ可能で、そこにユーザーが文字を入力することはできないようになっています。

-------------------------------------------
ジャンル一覧に希望のものが無い場合は、備考欄に希望ジャンルをお書きください。
-------------------------------------------

簡単に行うなら、このような説明を加えると良いかと思います。
メンテ
Re: コンボBOXの追加について ( No.7 )
日時: 2006/06/28 16:41
名前: あき

ありがとうございます
問題解決したのですが 欲が出てきて・・・

>case "1"; $GenreName = ""; break;
これは、記入不可は了解ですが
私の意図した所は
取あえずコンボボックスから選んで欲しい
1番目のままだったら
エラーでジャンルを 「選択してください」としたかったのですが

説明の追加では下記の様に考えていたのですが・・・
追加して欲しいジャンルがあれば、備考欄に希望ジャンルをお書きください。

if (strlen($GenreName) < 1) {
echo "<br>".EchoFontColor・・・・・
ここが エラーを返す 呪文に見えたのですが違うようですね

メンテ
Re: コンボBOXの追加について ( No.8 )
日時: 2006/06/28 17:29
名前: 管理者
参照: http://la.aulta.net/

なるほど、それでしたら・・・

form.htmlのリストを次のようにします。

<OPTION value="0" selected>選択してください</OPTION>
<OPTION value="1">おすすめ</OPTION>
<OPTION value="2">パソコン</OPTION>

selected が付いているものが、画面を開いた初期状態で選択されているものになります。


check.phpのほうは・・・
----------------------------------------------
//希望ジャンル
$GenreName ="";
if ( isset( $_POST["GenreName"] ) ) {
switch ($_POST["GenreName"]){
case "1"; $GenreName = "オススメ"; break;
case "2"; $GenreName = "パソコン"; break;
}
}

if (strlen($GenreName) == 0) {
 echo "<br>".EchoFontColor("ジャンルの選択は必須です。","#FF00")."<br><br>";
 echo "<form><input type=\"button\" value=\"入力画面に戻る\" onClick=\"history.back()\"></form></body></html>";
 exit;
}
----------------------------------------------

これでいかがでしょうか?
ちなみに、 case 0 は不要です。

No.5のコードを見てみましたが、エラーになる理由は、

switch{ ・・・ }
これに囲まれた間に、if{ ・・・ } を入れているからだと思われます。
メンテ
Re: コンボBOXの追加について ( No.9 )
日時: 2006/06/28 18:57
名前: あき

ありがとうございました
出来ましたが、少し疑問が残っています

教えていただいた↓は多分= の 2重記載かな
if (strlen($GenreName) == 0) { ← エラー
なので
if (strlen($GenreName) = 0) { ← エラー

if (strlen($GenreName) <= 1) { ← OK
でも、これじゃないとOK に成りませんでした??

お忙しい中 教えていただき有難うございました



メンテ
Re: コンボBOXの追加について ( No.10 )
日時: 2006/06/28 19:11
名前: 管理者
参照: http://la.aulta.net/

なぜでしょう?

PHPでは、一致するものという意味では、 == を使います。

<= 1 でも、間違ってはないので、それでよしとしましょうか

ちなみに、strlen()は、文字数を調べるものなので、この文の意味は、ジャンル名が0文字だった場合に・・・となります。

<= なら、1文字以下の場合・・・なので、同じですね。
メンテ

Page: [1]




Copyright(C) 2005 LinkAssistant All Right Reserved.