• 締切済み

html内でjavaをかき、そこで取得した値をst

html内でjavaをかき、そこで取得した値をstrに入れています。 このstrという値をa.phpの中に入れてメール送信したいです。 <?php echo $_SERVER[REMOTE_ADDR]; $to = "メールアドレス"; $from = "メールアドレス"; $subject = "テスト" $message = "テスト1".$_["REMOTE_ADDR"]; ...と続いていき、最終的には、strに入ってる値をa.phpの中に入れて、端末情報と一緒にメールで送信したいです。 ここまでは作れたのですが、javaの方のstrに入れてある値をどのようにphpのメール送信のコードに書き込めば良いかわかりません、、、 どなたか分かる方、教えていただけませんでしょうか。

  • PHP
  • 回答数3
  • ありがとう数0

みんなの回答

回答No.3

JavaScriptはクライアント(ブラウザ)での処理、PHPはサーバーでの処理で別々の実行環境です。 よって、JavaScriptのメモリ(変数)に対して、PHPから自在にアクセスできる訳ではありません。 つまり、ブラウザで実行するJavaScript内でstr="aaaa";  としているだけでは PHPでそれをそのまま、$message .= $str;なんていうように取り出すことはできません。 Ajaxで画面を随時更新したいのではなく、別途 次の画面に進むための submitボタンがあるのであれば、 そのときにJavaScriptの変数の中身を一緒に送ることになります。 例1) PHPに送信するためのform内に<input type="hidden" name="str"> のようにGETまたはPOSTで送信できるHiddenデータを予め用意しておいて JavaScriptでこのvalueに値をセットすれば PHP側では $_GET['str'] または$_POST['str']で取り出せます。 例2) JavaScript内で、document.cookie = "str="+encodeURIComponent(str);のようにして cookieに値をセットしておけば、 それをPHP側で $_COOKIE['str'] で取り出すことができます。 ただし、大きめのデータの場合、バイト数制限のあるcookieは向きません。

回答No.2

phpはサーバー・サイド言語です、動かすにはサーバーを立てる必要があります、と言っても自分のPCをサーバー化するだけですが。 下記のようなサーバー用ツールをインストールする必要があります。 初めに「Apache 2.4 Server Binaries」が在りますが、少し下の方に「Apache 2.2 Server Binaries」もあります。 安定性から言うと1つ前の「Apache 2.2 Server Binaries」の方が安定しているでしょう(32bit版、64bit版があるので、自分のOSに合わせてインストールして下さい)。 Apacheの設定も必要です。 Apache Haus Downloads http://www.apachehaus.com/cgi-bin/download.plx PHPもインストールする必要があります(下記ページ参照)。 「Beta」と付いてるのは(普通にバグがある)テスト用です、「PHP 7.1.7 Released」もありますが、「PHP 5.6.31 Released」の方が安定しているでしょう(32bit版、64bit版があるので、自分のOSに合わせてインストールして下さい)。 PHP 7.0.11のダウンロードとインストール http://www.phpbook.jp/install/install/index1.html とりあえず、自分のPCをサーバー化してPHPが走る環境を構築して下さい(具体的な話は それからです)。 下記はPCからサーバーにデータを送る場合の基本です(JavaScript化も可能です、JavaScriptは自分のPC側で走ります)。 PHPでフォームからデータを受け取る方法(GETとPOST) https://techacademy.jp/magazine/4955

  • t_ohta
  • ベストアンサー率38% (5085/13290)
回答No.1

java じゃなくて JavaScript ですよね。 JavaScript はブラウザで動作していて、PHP はサーバで動作するので直接値を渡せませんので、フォームか Ajax を使って JavaScriptで持っている値をサーバへ送信する必要があります。

9710051113
質問者

補足

回答ありがとうございます。 ではJavaScriptで取得した値をPHPに GET関数を使用して取得したいのですが、 どのように書けば宜しいでしょうか

関連するQ&A

  • Cookieの値の取得

    お世話になっています。 Cookieの値の取得について疑問がありますので、どなたか教えていただけないでしょうか? ------------------------------------------------------- /test/test1.php の中に <? setcookie ("test" , "hogehoge" ,time() + 86400 * 30); ?> ------------------------------------------------------- /test/test2.php の中に <? echo $HTTP_COOKIE_VARS[test]; ?> ------------------------------------------------------- /test2/test3.php の中に <? echo $HTTP_COOKIE_VARS[test]; ?> ------------------------------------------------------- というファイルを作成しました。(test3.phpのみ階層が違います) まず始めにtest.phpを表示させて、Cookieの情報を保存させます。 次にtest2.phpを表示させると、Cookieの情報を取得することが できますが、test3.phpを表示させると、Cookieの情報を取得すること ができません。これは、なぜなのでしょうか?また、取得する方法 はあるのでしょうか(無いわけは無いと思いますが・・・)? 以上です よろしく、お願い致します。 teraum

    • ベストアンサー
    • PHP
  • mail()関数の値がtrueしか返ってこないです

    PHP初心者です PHPに関する質問なのですが メールフォームにメールアドレスを入力して送信すると メールが返信されるスクリプトを作成中 <?php if (mail($_POST["mail"],'test','test@xxx.ne.jp') echo "メールを送信できました"; else echo "メールを送信できませんでした"; ?> という風なソースを書いて実行しました メールアドレスを正しく入力して送信するとちゃんと メールが届きます、それは当然なのですが たとえば適当な文字の羅列 (例:f所亜ジョあじょgじゃおじょあじょじょあ) こんな文字をフォームに入力して送信しても if構文が正常に動作せず、"メールが送信できました" と表示されます、これはifの条件の値がTRUEしか 返ってきてないということなのでしょうか? また、このif構文を正常に動作させるにはどうしたら いいでしょうか?教えてもらえるとありがたいです・・・・

    • 締切済み
    • PHP
  • 【 REMOTE_HOSTの値の取得方法について 】

    既製のCGIを設置するのがイッパイイッパイの 初心者ですm(__)m REMOTE_HOSTの値を取得して表示させたいのですが 当方レンタル中のサーバーの初期設定では取得できず 下記の如くの手順で取得するように表示してありましたが どうにも理解できず困っております。 下記の「Perl内」とは何処の事を指しているのか アドバイスを頂きたくお願い申し上げます。 ****以下、該当サーバーの説明文引用***** 【 REMOTE_HOSTの値の取得方法について 】 レンタルサーバーの処理速度を優先して、初期状態ではIPアドレスからDNSの参照をしないように設定している為、REMOTE_HOSTの値を取得したい場合はPerl内で下記の記述をして下さい。 $addr = $ENV{'REMOTE_ADDR'}; $host = gethostbyaddr(pack('C4',split(/\./,$addr)),2) || $addr;

    • ベストアンサー
    • Perl
  • タグに変数を埋め込んでも値が反映されません。

    こんにちわ。 最近PHPを始めた者です。 echo を使ってブラウザに出力する時に、 echo "<a href=test.php?     page=$page>$name</a>"; と記述しましたら、 ブラウザで 「$name」はリンクとして表示されますが、 リンクアドレスは、「test.php?page=」となり $pageの値が入りません。 解決方法を教えて欲しいです・・・。 初歩的なことかもしれませんが宜しくお願いします。

    • ベストアンサー
    • PHP
  • テキストリンクでメーラーを起動しつつ、画面遷移なしにCGIを起動するには?

    ”<a href="mailto:test@test.test">test@test.test</a>”で「test@test.test」をクリックした時に、メールソフトが起動しますが、同時に、クリックした人の「REMOTE_ADDR」を取りたいのですが、何かいい方法をご存知の方、いませんか? JavaScriptの「onClick」で何とか、REMOTE_ADDRをメールで送信するCGI(PERL)を起動させようとしているのですが、うまくいきません。。

    • ベストアンサー
    • CGI
  • PHPでのパターマッチングと文字列の取得について

    PHPでのパターンマッチングについて質問です。 ある文章から特定の文字や数字を取り出したいと考えています。 いろいろ調べて試しましたが、うまくいきません。。 今は以下のように試しましたがこれでは特定のものは取り出せないと気付きました。 <?php $str=fopen("test.txt","r"); $str2= strstr($str,"point"); echo $str2;ここも何も表示されず… ?> 理想としては、例えば英文が数行あり、その中にpoint=13というものがあったとします。ここで13という値を取得して、別のファイルの指定したところに挿入したいのですが、phpで可能でしょうか。 可能であれば、やり方や、関数など教えてもらいたいです。 よろしくお願いします。

    • 締切済み
    • PHP
  • POSTされた値をEUCで表示したい

    <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> </head> <body> <form action="test2.php" method="POST"> <input name="str1" value="テストです"> <input type="submit"> </form> </body></html>'; exit; } ?> こうして送信されたデータは <?php echo '<html><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> </head><body>'; echo $_POST['str1']; ・・・・・ として表示しますが、このままのテストソースではSJISで普通に表示されますが、EUCで表示するにはWindowsの中のphp.iniを編集すればよいと思います。 どのようにすればよいですか? test2.phpが・ニ・ケ・ネ、ヌ、ケと表示したら成功です。

    • 締切済み
    • PHP
  • 送信者のIPを取得するには

    現在メールフォームを作っています。 送信者の情報を取得する作りにはしていません。 迷惑メールが届き出してからでは遅いので、 ホスト名やIPアドレスを取得するフォームにしたいのですが、 <INPUT TYPE="hidden" NAME="env_report" VALUE="取得したい情報の属性"> という記述をCGIファイルに書けばいいのでしょうか。 また、下記の記述をどこに書くのかも分かっていません。 REMOTE_HOST 送信者(入力者)のホスト名 REMOTE_ADDR 送信者(入力者)のIPアドレス どなたかご教授をお願いします。

  • aaa.php?abc=1で渡したabcの値をechoする方法

    <a href='aaa.php?abc=1'>テスト</a> と記述したとします。 テストというリンクをクリックすると、aaa.phpに渡されますが、そのaaa.phpで、abcの値をechoしたいとき、どのように記述すればいいのでしょうか? <?php echo ×××; ?> ××× の部分が分からなくて困っています。初歩的ですみません。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • bat内での文字の置き換えについて

    環境変数に設定されている値を"と\を\でエスケープを行い、javaのクラスに渡したいです。(環境変数にはあらゆる英数記号がはいる可能性があります) set str=%TEST_PATH:\=\\% set str2=%str:"=\"% ↑という処理を行うことで、変換が出来る事はわかりましたが特殊記号が入った場合にうまく動きません。 又、"が先頭にある場合とそれ以外の場合だと挙動が異なる事に気づきました。 "が先頭にある場合は%TEST_PATH:\=\\%を"で囲むとエラーになり、それ以外では囲まないとエラーになるのはなんででしょうか? 理由と解決策を教えてください。 ~~~作成物~~~ 2つの値を環境変数に設定した場合。(「<>"&|,'\」などと設定するとうまくいかないです) TEST_PATH="<>\ TEST_PATH2=<>"\ ~~~bat~~~ @echo off echo start1 set str=%TEST_PATH:\=\\% echo %str% set str2=%str:"=\"% echo %str2% echo start2 set str="%TEST_PATH2:\=\\%" echo %str% set str2=%str:"=\"% echo %str2% echo end