• 締切済み

変数がダブる?

条件で振り分ける為変数を利用しようとしています。 ○○.cgi?mode=view&a=1 と言う感じで○○.cgiにアクセスし、if文で"aが1ならAAを表示、2ならBBを表示、3なら~"と言う感じで振り分けようと考えています。 しかし、うまく振り分けが出来ないのでおかしいなと思いhtml部分に$aを表示してみました。すると、変数の内容がダブってしまっているのです。(1なら11、viewならviewviewと言う感じ) 全ソースを出すことも出来ないので抽象的な問題になりますが、どのあたりをチェックする必要があるでしょうか? ちなみに変数の名前が他のものと一緒になっているのかとも考えて変数名も変えてみましたが、変化無しです。 よろしくお願いします。

みんなの回答

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.1

こんにちは $a は何処から出たのでしょう? やってみましたけど表示できなかったです(><) $a = $in{'a'}ですか? <test0.cgi> print "<a href='test.cgi?a=1&b=2'>test</a>\n"; <test.cgi> print "$in{'a'}<br>$in{'b'}\n"; としたら『1』と『2』が表示されましたけど?

master-3rd
質問者

お礼

すみません。 私の設定ミスでした(;´Д`)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 処理中に動的に変化する変数をウィンドウプロージャで表示させるには?

    Win32APIを使っています。 タイトルの通りウィンドウプロージャ以外(実際はダイアログプロージャ)である処理をしているとします。そこで変化する変数(時間など)をウィンドウに表示させ、かつ無効リージョンが発生しても大丈夫なようにしたいのですが、 現在は 処理を実行中に(ダイアログプロージャ内で)変数aが変わった瞬間、グローバル変数flag=TRUEにし、次に SendMessage(hwnd,WM_PAINT,0,0); を実行し、 ウィンドウプロージャでは case :WM_PAINT if(flag) "aを表示する命令"; という感じにしています。しかしこれでは表示してくれません。 どこか変なことしてますか? また別の方法はありますか? 必要であればソース見せます。 よろしくお願いします。

  • 変数をリンクで使う

    Aのホ-ムPから、Bのホ-ムPへ 下記のコ-ドで print "<A HREF=\"./cgi-bin/photobbns.cgi?mode=disp&no=$abc\">\n"; 変数$abcを引数としてリンクで渡しBのホ-ムPで変数$abcを 使用したいのですが、変数$abcが数字の時は使えるのですが 変数$abcが文字の時は使えません、 文字の時も使える方法はありますか。

    • ベストアンサー
    • CGI
  • in windowと変数

    おそらく初歩的な質問ですいませんが2つ、 つまってしまったのでご教授ください。 var k = new Array("a","b","c"); var i=new Array[[],["1","aa","bb"],["1","aa","bb"],["1","aa","bb"]]; str=k[0];//もしくは0~2 if("i[str]" in window){ //処理 } こういった判定式があったとき 1: 上記では「存在しない」と判定されますがどのように記述したらいいのでしょうか? 2: in windowを否定(i[str]が存在しない場合)という書き方はどのようになるのでしょうか?

  • 変数など厳密なプログラムが書きたいのですが、どうすればよいでしょうか?

    PHPで関数の引数に渡すとき、以下のように$aaを$aとしてしまった場合に 関数内の$idは値がありませんが、関数内でこれを検出することができるのでしょうか? Perlなら use strict;とし、my等で定義されていない変数はすべて警告表示されますが、PHPはスルーです。 変数など厳密なプログラムが書きたいのですが、どうすればよいでしょうか? $aa = 1; test($a) function test($id){ ... }

    • ベストアンサー
    • PHP
  • bashで配列の個数部分を変数で指定するとエラーに

    bashで配列の個数部分を変数で指定するとエラーになってしまいます。 #!/bin/bash aa[0]="a0" aa[1]="a1" aa[2]="a2" bb[0]="b0" bb[1]="b1" bb[2]="b2" bb[3]="b3" cc[0]="c0" cc[1]="c1" cc[2]="c2" cc[3]="c3" cc[4]="c4" list=(aa bb cc) for i in ${list[@]} do eval echo "$i=\${#$i[*]}" n="\${#$i[*]}" mes="\${$i[$(( ${RANDOM} * 3 / 32768 ))]}" eval echo "$mes \${$i[$(( ${RANDOM} * 3 / 32768 ))]}" done $ . list-test.sh aa=3 a1 a2 bb=4 b2 b2 cc=5 c0 c2 上記の下記箇所の「各配列の個数部分の3」をイメージ的には変数で指定したいです。 mes="\${$i[$(( ${RANDOM} * 3 / 32768 ))]}" ↓ mes="\${$i[$(( ${RANDOM} * $n / 32768 ))]}" $nのように指定すると、下記のエラーになってしまいます。 >bash: 29205 * ${#aa[*]} / 32768 : 構文エラー: オペランドが予期されます (エラーのあるトークンは "${#aa[*]} / 32768 ") ${n}や\$nや($n)など色々試してみたのですが、解決できませんでした。 恥ずかしながら、どなた様かご教授ねがえませんでしょうか

  • 変数を効率よく扱う

    データベースCGIを改造中です。 各カテゴリーに何件登録があるか?と言うのを1ページにリストして表示したいと思っています。このカテゴリが100あるのですが、効率よく変数に格納する方法を探しています。 1.カテゴリーに何も登録が無い場合の「0件表示」 $c_ken1= 0; $c_ken2= 0; ~ と言う感じで変数に「0を」格納していますが、100行並ぶのであまり美しくないような気がします。 2.件数格納 「foreach~split」でデータを分割 if($category == 1){$c_ken1++;} elsif($category == 2){$c_ken2++;} ~ と、これまた100件並べないといけないのですが、美しくないです。 どうにかしてうまく100この変数に件数を格納する方法は無いでしょうか?

    • ベストアンサー
    • CGI
  • VBAのパスの取得について

    excelでマクロをVBAで組み、excelが現在置かれているところのパスを取得したのですが たとえばCのaaというファイルのbbところにおいて実行すると変数aに C:\aa\bb を取得することができました。 このパスの最後に\をつけて C:\aa\bb\ にしたいのですがどの書けば変数aに\を追加できるのでしょうか?

  • ASC関数について

    以下の構文で処理1はメッセージボックスにOKでますが 処理2は駄目です。 違いはBBの内容が"&H82A0"になっておりダブルコーテーション で文字として判断されているからだと思います。 変数を使用して判定する場合どのようにしたらよろしいのでしょうか。 アドバイスよろしくお願いいたします。 環境 VB6 Private Sub Form_Load() '処理1------------------- If Asc("あ") = &H82A0 Then MsgBox ("OK") End If '処理2------------------- Dim AA AA = "82A0" BB = "&H" & AA If Asc("あ") = BB Then MsgBox ("OK") End If End SuB

  • 変数について

    下記の様な、プログラムを作成しておりますが、 にたような変数名を付けており、数字だけを 変化させて表示結果を”ABC”と表示したいのですが、 $a1,$a2,$a3の値を表示するには、どうすれば よいでしょうか? <?php $a1=A; $a2=B; $a3=C; for ($b=1;$b<4;$b++){    echo $a.$b; } ?>

    • ベストアンサー
    • PHP
  • Locationの部分をいじる

    携帯サイトを作っています。 パスワード認証(1.cgi)→端末振り分け(2.cgi)という流れにしたいのですが、vodaとPCは問題なく各々の目的のページに飛べるのですが、i-modeがエラーがでてしまうようです。 振り分け先に指定しているURLなんかはちゃんと合っています。 どうも、i-modeでLocationが機能しないのが原因ではないかと思うのですが、cgiのいじり方が分かりません。 サポートBBSによると1.cgiの以下の部分を変えるそうなのですが if ($pass eq $password) { print "Location: $cgi\n\n"; exit; } の部分のLocationが機能しないのだと思います。 秘密cgiで表示する最初のページを、この部分で読み込み表示する方法や、この部分にcgiへのリンクを張る方法をとられてはいかがでしょう? ということで、具体的にどうしたらよいのか分かりません。(サポートBBSが実質停止状態なので・・・) わかる方いらしたら、ご教授いただければと思います。

    • 締切済み
    • CGI