2016-12-02 1 views
1

Извините, я почти отчаянно пытаюсь решить эту проблему. Я искал решение в течение 2 недель.Как получить содержимое формы из HTML с PHP?

У меня есть синтаксис javascript, чтобы найти IP-адрес. Содержимое входного текста - из javascript, и я хочу определить его как переменную в PHP.

window.onload = function() { 
     findIP(addIP); 
    } 
    function findIP(onNewIP) { // onNewIp - your listener function for new IPs 
     var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; //compatibility for firefox and chrome 
     var pc = new myPeerConnection({iceServers: []}), 
     noop = function() {}, 
     localIPs = {}, 
     ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g, 
     key; 

     function ipIterate(ip) { 
     if (!localIPs[ip]) onNewIP(ip); 
     localIPs[ip] = true; 
     } 
     pc.createDataChannel(""); //create a bogus data channel 
     pc.createOffer(function(sdp) { 
     sdp.sdp.split('\n').forEach(function(line) { 
      if (line.indexOf('candidate') < 0) return; 
      line.match(ipRegex).forEach(ipIterate); 
     }); 
     pc.setLocalDescription(sdp, noop, noop); 
     }, noop); // create offer and set local description 
     pc.onicecandidate = function(ice) { //listen for candidate events 
     if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return; 
     ice.candidate.candidate.match(ipRegex).forEach(ipIterate); 
     }; 
    } 


    function addIP(ip) { 
     console.log('got ip: ', ip); 
     document.getElementById("get_IP").value=ip; 
    } 


    var ipaddr = findIP(addIP); 

    </script> 

<html> 
<body> 
<form name="getgot" method="post" > 
<input type="hidden" name="get_IP" id="get_IP"> 
</form> 
</body> 
</html> 

Как я могу отгонять его как переменную в PHP? пожалуйста, помогите

+3

Вы можете отправить найденный IP-адрес AJAX в PHP-скрипт или отправить '

' скрипту PHP. –

ответ

0

Если у вас уже есть переменная ip в JavaScript (на любой странице), вот один простой способ, чтобы включить эту переменную Javascript в переменную PHP:

<?php 
if (isset($_GET['ip'])) { 
    $IP = $_GET['ip']; 
} 

else { 
    echo ' 
    <script> 
    if (typeof ip !== 'undefined') { 
     window.location.href += '?ip='+ip; 
    } 
    </script> 
    '; 
} 
?> 

Этот PHP скрипт будет:

  1. Проверьте параметр ?ip= существует в URL
  2. Если параметр существует, PHP переменная $IP будет создана с тем же значением
  3. Если параметр не существует, Javascript будет проверять, что переменная ip существует
  4. Если переменная существует, то окно будет перезагрузить с параметром ?ip=

Если ни один параметр URL, ни переменная существует, ничего не происходит.