痔になりやすい生活習慣とは?

formを使わずに
application/x-www-form-urlencoded
型のデータを送信させることってできるのでしょうか?

あるサイトで、
<form method="post" action="/xxx">
<input type="hidden" value="1" name="aaa"/>
<input type="text" value="2" name="bbb"/>
<input type="checkbox" value="3" name="ccc" />
</form>
のようなformがあったときに、
POSTで送信されているデータが、通常だと
aaa=1&bbb=2&ccc=3
となるはずのところが、
aaa=1&bbb=2&ccc=3&ddd=4
となっていました。

また、この値(ここでは4としました)は送信ごとに変動していました。

(なお、ヘッダ情報はすべてFirefoxのLiveHTTPheadersで確認しました。)

そのページ内には、hiddenや、その他のタグすべて(aやdiv)を含めて
name(およびid)がdddのものはありませんでした。
(ソースを直接確認、およびFirefoxのFire bugおよびWeb Developerで確認しました。
さらに、これらで"ddd"をページ内検索してもヒットせず、見落としはないと思います。)

また、Javascript(Javaも)をすべてOFFにし、
さらにクッキーも受けつけない・キャッシュも削除・無効化
した上で送信しても、
まったく同様に上記のdddのパラメータが送信されています。

(念のため確認したのですが、これに加えて、
Javascript適用後のHTMLであるFirebugで表示されるソースも
じっくり見ましたが、ここでも見つからなかったので、
Javascriptによるhiddenタグ描画という可能性はないと思われます。)

Javascriptやクッキーを使用せず、
かつHTMLのフォームタグも使わずに、
ユーザーにある(動的に変動する)パラメータをもつ
POST情報を送信させる方法があるのでしょうか?

抽象的で申し訳ありませんが、
何か参考になりそうなことがありましたら
どうぞよろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

送信に


<input type="image">
を使っていませんでしたか?

type="image"で送信するとき、クリックされた座標が追加され送信されます。
例)~~&x=4&y=10 ←クリックした画像上の位置、xやyの部分はブラウザで違ったりする。

違っていたら失礼。
    • good
    • 0
この回答へのお礼

まさにその通りでした。勉強不足としかいいようがありません。
このような(不適切に)抽象化した例で
ここまで正確に推測していただいたsteel_gray様に感謝致します。

本当にありがとうございます。

お礼日時:2008/10/15 20:12

そのdddという名前とは正確にはなんでしょう?


ほんとうにdddではないですよね?

また値はここでは4になっていますが、長さはそんなものですか?
もっとすごく長かったりしませんか?
英語や記号はふくまれていませんか?
    • good
    • 0
この回答へのお礼

ご指摘どおり、本来はdddではなくx(とy)であり、
上で回答してくださった
steel_gray様のご指摘どおり、
type=imageなinputによるパラメータでした。

まさかxとyに意味があったとは思わず、
dddと抽象化しましたが、これが不適切でした。

ありがとうございました。

お礼日時:2008/10/15 20:20

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QリダイレクトでPOST

教えてください。

リダイレクトの際、POSTで次のページにデータを渡すことは可能でしょうか?

GETだと
header("Location: "a.php?no=".$no);
と、問題なくできるのですが、
できれば、パラメータを隠したいと思います。

以上ですが、よろしくお願いします。

Aベストアンサー

多分できないです。
それに、結局クライアント側に情報を送信しているのだから、POSTにしたところでパラメータを隠した事にはならないですし。
本当に隠すならサーバ側でセッション情報を引き継ぐような形にしないとダメでしょう。

AJAXのかたちにして、ページ遷移を見えなくするというのが手っ取り早いかも。

QリンクでPOSTデータを送信することは可能ですか?

はじめまして。
Submitボタンを使用せずに<A>リンクでFORMのPOSTメソッドデータを送信することは可能でしょうか?
やはりURLにデータを付加して送信するしかないのでしょうか?
ご教授よろしくお願い致します。

Aベストアンサー

javascript を使えば可能です。大雑把にはこんな感じ。

・パラメータが全部 hidden な form を記述しておく(ブラウザでは表示されない)
・<a href> では、その form を submit するように javascript を記述する

試してないですけど、こんな感じ。

<form name=f method=POST action="http://どこか">
<input type=hidden name=x1 value=v1>
</form>

<a href="javascript:document.f.submit()">リンクから submit</a>

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">

Qフォーム上で押されたボタンによってサーブレットの処理を変えたい

Urizakaです。
さて、さっそく質問です。
JSPの同一フォーム上に「登録」「修正」「削除」のボタンを置き、その押された
ボタンによってサーブレット内での処理が切り替わる(具体的には、違う
SQL文を実行し、違うJSPページをgetRequestDispatcherメソッドで生成
する)ようにしたいのですが、どのようにすればよいのでしょうか?
もちろんそれぞれの処理に対して別々のサーブレットを作り、javaScript
でそれぞれのサーブレットへ飛ぶように制御するという処理も考えたことは
考えたのですが、できれば一つのサーブレットで済ませたいと考えたもので
…宜しくお願いします。

Aベストアンサー

お恥ずかしい限りです。
前述の例、動くわけがありませんね(汗)

2つめの例、書きなおします。

---------------------------------------------------

■JSPのフォーム

<form name=MyForm action="<<サーブレットのURL>>" method=post>
<input type=button name=MyClick value=登録 onClick="func('Toroku');">
<input type=button name=MyClick value=修正 onClick="func('Shusei');">
<input type=button name=MyClick value=削除 onClick="func('Sakujo');">
<input type=hidden name=MySubmit>
</form>

<script language="JavaScript">
function func(MyCommand){
document.MyForm.MySubmit.value=MyCommand;
document.MyForm.submit();
}
</script>

■Servletでの処理
// リクエストの取得
String MyAction = req.getParameter("MySubmit");

// 処理の実行
if (MyAction.equals("Toroku")){...}
if (MyAction.equals("Shusei")){...}
if (MyAction.equals("Sakujo")){...}



---------------------------------------------------

こんな感じでどうでしょうか。
ちなみにこうやって書いておくと、フォームのボタンからじゃなくても
アンカーをクリックすることで同じ効果が出せそうな……

<a href="JavaScript:func('Toroku')">登録</a>

あ、でもまたボロが出そうなのでこの辺で(^_^;)

お恥ずかしい限りです。
前述の例、動くわけがありませんね(汗)

2つめの例、書きなおします。

---------------------------------------------------

■JSPのフォーム

<form name=MyForm action="<<サーブレットのURL>>" method=post>
<input type=button name=MyClick value=登録 onClick="func('Toroku');">
<input type=button name=MyClick value=修正 onClick="func('Shusei');">
<input type=button name=MyClick value=削除 onClick="func('Sakujo');">
<input type=hidden name=M...続きを読む

Qページ読み込み時に自動的にsubmitさせる方法

過去のPHPでの質問
http://www.okweb.ne.jp/kotaeru.php3?q=483327
の中で出てきた

>hiddenでデータ定義しておいて
>Javascriptでページ読み込み時に自動的にsubmitさせたらいいかも。

POSTでデータを送るためにこれを実現したいと思っているのですが自動的にsubmitさせる方法がわかりません。

ご存知の方がおられましたらアドバイス宜しくお願いします。

Aベストアンサー

<BODY onLoad="document.F.submit();">
とやれば、このファイルがロードされた時に、
このファイル内の
<FORM NAME=F>~</FORM>
と定義されたFORMの内容がsubmitされると思いますが・・・。

Qデータ送信をボタンを押さずに行いたいのですが...

環境
 WindowsXP、Apache2.0.47、PHP4.3.2で使用しています。

質問
 POSTメソッドのようなデータの送信を、submitボタンなしで行うにはどうすればよいのでしょうか?

詳細(現状)
 file_1.phpのページでデータの入力を行い送信ボタンを押すとfile_2.phpへジャンプします。
 file_2.phpでは入力データをSQLに登録し、再びfile_1.phpへ戻ります。

 file_1.phpは、変数を引き渡すため<form action="file_2.php" method="post">でfile_2.phpへ
 file_2.phpは、<META http-equiv="refresh" content="0; url=file_1.php">でfile_1.phpへ移動します。

 連続でデータを入力するときに前のデータをデフォルトで表示しておきたいのですが、
 file_2.php→file_1.phpへ変数を渡すにはどうすればよいのでしょうか?

よろしくお願いします。

環境
 WindowsXP、Apache2.0.47、PHP4.3.2で使用しています。

質問
 POSTメソッドのようなデータの送信を、submitボタンなしで行うにはどうすればよいのでしょうか?

詳細(現状)
 file_1.phpのページでデータの入力を行い送信ボタンを押すとfile_2.phpへジャンプします。
 file_2.phpでは入力データをSQLに登録し、再びfile_1.phpへ戻ります。

 file_1.phpは、変数を引き渡すため<form action="file_2.php" method="post">でfile_2.phpへ
 file_2.phpは、<META http-equiv="refresh" conten...続きを読む

Aベストアンサー

file_2.php内に以下の記載を行ってみてください。

---------------------------------------------
<body onload="document.FRM.submit();" >
<Form Name="FRM" Method="POST" action="file_1.php">
<input type =hidden name="Data_A" value= "<? /* ここに渡したい値を記載 */ ?>">
</Form>

Qリンクをクリックした時にformからPOST送信したい。

HTML、PHP、JavaScript等でサイトを作っているのですが・・・。

【実現出来ている例】
<form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">
 <input type="submit" value="送信">
</form>
 submitボタンを一つ置いて、それがクリックされた場合に
formの内容をPOSTで送信する。

【実現したい例】
<form name="form1 method="post">
 <a href="Next.php" onClick="???">???</a>
</form>
 formの中のリンクをクリックされた場合に、formの内容を
POSTで送信したいのですが、その実現方法がわかりません。
GETで送るという手もあり得ますが、今回はどうしてもPOST
したいのですが。

Aベストアンサー

<form name="form1" method="post" action="Next.php">
<a href="#" onClick="document.form1.submit();">???</a>
</form>

onclick内の対象がform1としてあてているので、
アンカータグは別にform内に記述しなくても大丈夫です

form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます

アンカータグから動的にvalueを変更したい場合は、
document.form1.hogename.value = 'hoge';
等をsubmit()の前に行えば可能です

ただしform内に
<input type="hidden" name="hogename" value="">
を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

Qテキストボックスに数字しか入力できないようにするには?

タイトルの通りなのですが、あるテキストボックスに数字しか入力できないようにしたいのですが可能でしょうか?また、

「あいうえお 12345 「」:・、¥・」

というような文字列をコピーし、そのテキストボックスにペーストした際にも数字の12345だけが残るといった事も実現したいのですが…

どなたかご存知の方いらっしゃいましたら教えて頂けると幸いです。

Aベストアンサー

>英数字

では、こんな感じで

<input type="text" onKeyup="this.value=this.value.replace(/[^0-9a-z]+/i,'')">


人気Q&Aランキング