-3
こんにちは私は自分のウェブサイトから私にメッセージを送っている間にIPアドレスと地理情報の詳細をユーザーに伝えますが、$ip = $_SERVER['REMOTE_ADDR'];
はありません実際のvistor ipを表示して、私は他のホスト上でうまく動作している多くのPHP関数を試してきましたが、私のホストではクライアントipを正しく表示していませんので、JavaScriptを使用してipを取得し、 JavaScriptから取得したipをsent.phpページのフォームに入力するとフォームからPOST値を取得し、その変数を処理して地理情報とその他の情報を取得してPHPメールに送信できます。ここでJavascriptから訪問者IPを取得し、それをPHP変数として使用する
は、実際のユーザのIP
<script type="application/javascript">
function getIP(json) {
document.write("My public IP address is: ", json.ip);
}
</script>
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP">
</script>
を取得するにはjavascriptのですそして、私の電子メールの連絡先フォームは
<form name="contact" class="select-style" action="sent.php" method="POST" >
<p>Hello
<select name="recipient">
<option value="recipient_0" selected>Please Select Recipient !</option>
<option value="recipient_1">Sales</option>
<option value="recipient_2">Support</option>
</select>
</p>
<label for="email">Your Message : </label>
<textarea name="message" value="Your Message" id="message" ></textarea>
<p>Regards,</p>
<label for="name">Name: </label>
<input type="text" name="name" value="" id="name" />
<label for="email">Email: </label>
<input type="text" name="email" value="" id="email" />
<input type="hidden" name="ip" value="">
<input type="submit" name ="submit" value="OK I want to send it now, thanks!" />
</form>
であり、私はこれは私がフォーム
と入力IPをすべきかだと思います<script type="text/javascript">
jsvar= json.ip;
document.contact.ip.value = jsvar;
</script>
しかし、私が望む結果は得られません。助けてください。
に隠し入力した後、これらのJavaScriptコードを挿入する必要があります。そうでない場合は、何かが間違って設定されているか、正しく設定されていないことがあります。 JSを通してやってはいけません。 – vlaz
''しかし、私が望む結果を与えるわけではありません。 '" - まあ、あなたが望む結果は何ですか?それがあなたに与えている結果は何ですか?どの時点で間違っていますか?基本的には、ユーザーにIPを伝えるように求めているので、必要な情報を伝えることができます。あなたが正しいIPアドレスを取得しようとしているという保証はありません。 – David
[入力フィールドの値をjavascriptで設定する]の可能な複製(http://stackoverflow.com/questions/7609130/set-the-value-of-a-input-field-with-javascript) – RST