WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:javascriptからphpへの値渡し時のアドレスバー非表示

0:[投稿] ちびしん [2006/11/25 21:57 ] [環境:IE6,winXPSP2 winXPSP2,Apache2,php5,perl,MySQL5]

いつもお世話になっております。

postとgetでは、前者のほうがセキュリティ的によいと、
いろいろなHPでありましたので、HTMLから

method="post" action="../xxx.php?"+"a="+this.a.value

でアドレスバーにパスを表示させないようにすることが出来
たのですが、

method="post" onsubmit="Login()"

とし、下記外部ファイルjsにてphpに値渡しをすると、アドレスバー
に全部表示されてしまいます。

function Login(){
 var userid=xxx.userid.value;
 var pass=xxx.pass.value;
 if( userid=="" || pass=="" ){
   location.reload(); return;
 }else {
   xxx.method = "post";//←わざわざ入れても駄目でした。
   xxx.action = "login.php?userid="+userid+"&pass="+pass;
 }
}

この方法は取れないのでしょうか?
外部ファイルにし、何をしているのか見せたくない為の方法なのですが、他によい方法をご存知の方いらっしゃいましたら、ご教示
いただけると幸いです。

どうぞ宜しくお願いいたします。


1:[回答] tk [2006/11/26 11:31 ]

>xxx.action = "login.php?userid="+userid+"&pass="+pass;
だとGETしているのと変わらないのでは?

if(userid==""||pass=="") location.reload();
else xxx.submit();

location.reload()の所も、フォームのクリアが目的なら
xxx.resert()
でいいような。


2:[回答] 燕雀 [2006/11/26 16:43 ]

php で認証を行うのであれば,ちょっと敷居が高いと感じられるかもしれませんが,pear の Auth の使用を検討されると良いと思います.
http://www.go-pear.org/manual/ja/html/package.authentication.auth.html


3:[質問] ちびしん [2006/12/07 16:05 ]

tk様、燕雀様、レスありがとうございます。
お返事遅くなり、申し訳ございません。

to tk様
たとえPostであっても繋げてしまってはGetになってしまうのですね。

to 燕雀様
現在、Authの前にpear挑戦しております。

しかし、確認するためにpear_info()が出来ません。
コマンドプロンプトから
>pear install -a pear_info
を行って、install ok と出たのですが、phpでの確認が出来ないのです。

phpは、C:\php5
pearは、C:\php5\pear
にインストールしてあるのですが、
pear_info()をする際、C:\php5\pear\pearにinfo.phpがあり、
それから呼び出すと別のサイトで書いてありましたので試したのですが、
info.phpでinclude_onceされている各phpが、
pear\・・・.phpだったり、その上の階層だったりで、どうもこの
ディレクトリのごちゃごちゃがうまくいかない原因ではないかと思っています。
例えば、C:\php5\pear\pear\Remote.phpは、いろんなphpから
呼び出されています。しかし呼び出され方は、同じ場所からや上の階層のphp5\pearからだったりするのです。

基本的にpearで使用する各phpの内容を変更して使用しないといけないのでしょうか?若しくは片っ端からあっちこっちにコピーして同じものがいろんなところにたくさんある状況を作らないといけないのでしょうか?

いろいろ試したのですが、全くうまくいきません。
どうぞ宜しくお願いいたします。

尚、
php.iniでは、
include_path=".;C:\PHP5\pear;C:\PHP5\includes"
extension_dir = "C:\PHP5\ext"

Apacheのhttpd.confでは、
LoadModule php5_module "C:/PHP5/php5apache2.dll"
DocumentRoot "D:/WWW/"
UserDir "D:/WWW/public_html"

としています。

どうぞ宜しくお願いいたします。


4:[回答] m035 [2006/12/07 19:07 ][URL]

hiddenにJavaScriptから値を設定後、postなformから送信で良いと思いますが。


5:[保留] ちびしん [2006/12/08 15:53 ]

お世話になっております。

to 燕雀様
pearをインストールしなおしました。
するとpear_infoうまくいきました。
なぜ出来ていなかったのか、原因不明になってしまいました。
でもとりあえず出来ていますので、Authに移りたいと思います。

to m035様
レスありがとうございます。
そうですね。hiddenという方法もありました。

to 皆様
まず簡単そうなものからやって、徐々にレベルアップしたいと思います。
とりあえず保留とさせていただき、またご報告させていただきます。
今後とも、宜しくお願いいたします。

回答(必須): 状態:

お名前(必須):

URL:




[戻る]