做了一个从静态页面抓取访客IP地址的小东西,如果静态页面为空的话还好,如果不为空的话无法显示静态页内容是怎么回事?附源码:[1.静态页]
<html>
<title>无标题文档</title>
<script src="3.php" runat="server"></script>
</head>
<!--此时body的内容为空,但如果放入内容不运行-->
<body></body>
</html>
附源码:[3.php]
<?php
    $test = $_SERVER["REMOTE_ADDR"];
?>
var i =1;
var now = new Date();
function shijian(){
var year = now.getYear();
var month = now.getMonth()+1;
var day = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
var shijian = year+"-"+month+"-"+day+"-"+hour+":"+minute+":"+second;
var yemian = window.location.href;;
var test = '<?php echo $test;?>';
var resoult = shijian+"页面:"+yemian+",IP="+ test;
document.write("<form name=\"sent\" method=\"post\" action=\"\">");
document.write("<input type=\"hidden\" id=\"name1\" name=\"name1\" value=\""+resoult+"\"\/>");
document.write("<\/form>");  
    //获取表单对象和用户信息值  
    var f = document.sent;  
    var name1 = f.name1.value;  
  
    //接收表单的URL地址  
    var url = "3.php";      var postStr   = "name1="+ name1;   
  
    var ajax = false;  
    //开始初始化XMLHttpRequest对象  
    if(window.XMLHttpRequest)   
    {   //Mozilla 浏览器  
        ajax = new XMLHttpRequest();  
        if (ajax.overrideMimeType)   
        {   //设置MiME类别  
            ajax.overrideMimeType("text/xml");  
        }  
    }  
    else if (window.ActiveXObject)   
    {   // IE浏览器  
        try   
        {  
            ajax = new ActiveXObject("Msxml2.XMLHTTP");  
        }   
        catch (e)   
        {  
            try   
            {  
                ajax = new ActiveXObject("Microsoft.XMLHTTP");  
            }   
            catch (e) {}  
        }  
    }  
    if (!ajax)   
    {   // 异常,创建对象实例失败  
        window.alert("不能创建XMLHttpRequest对象实例.");  
        return false;  
    }  
    
 
                  
    //通过Post方式打开连接  
    ajax.open("POST", url, true);    
    //定义传输的文件HTTP头信息  
    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  
  
    //发送POST数据  
    ajax.send(postStr);  
  
}  <?php$name = $_POST['name1'];
$op=fopen('1.txt','a');
$value=$name;
fwrite($op,$value."\r\n");
fclose($op);
?> if(i==1){
window.onload = shijian;
}

解决方案 »

  1.   

    <script src="3.php" runat="server"></script>
    ASP 以前用过这种,假如PHP也直接可以用,直接在3.php里面写入就完了,还加那么多JS干嘛??直接获取用户IP和当前页面地址,然后写到文本,都不用JS再提交,你这是多此一举
      

  2.   


    多此一举啊。而且你这种方法容易被黑。别人也可以向3.PHP发送内容。
    如果非得用3.php,那么3.php的写法:
    <?php$name = $_SERVER["REMOTE_ADDR"];
    $op=fopen('1.txt','a');
    $value=$name;
    fwrite($op,$value."\r\n");
    fclose($op);
    ?>