我写了两个php,一个用session来缓存ip,一个输出;<?php
session_start();
session_register("ip");
$ip = $_SERVER['REMOTE_ADDR'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>
register application
</title>
<body>
<form name="form1" method="post" action="show_register.php">
<input type="submit" name="Submit" value="show">
</form>
</body>
</html><?php
session_start();
echo $ip;
?>
然后执行第一个之后,在temp目录中生成了一个sess_77j092vsepsntm4903s4mdnpu5,里边的内容是IP|N;
然后页面不显示ip

解决方案 »

  1.   

    <?php
    session_start();
    session_register("ip");
    $ip = $_SERVER['REMOTE_ADDR'];
    ?>
    改成
    <?php
    session_start();
    $ip = $_SERVER['REMOTE_ADDR'];
    session_register("ip");
    ?>
      

  2.   

    就这样?那你的$_SESSION['ip']里的值不就是空值?
    有没有$_SESSION['ip'] = $ip;?
      

  3.   

    你至少应该把变量值写进session里吧?????
      

  4.   

    try, 编写顺序调整:session_start();
    $ip = $_SERVER['REMOTE_ADDR'];
    session_register("ip");
      

  5.   

    我重来不用session_register的 。新的不用了<?php
    session_start();
    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312">
    <title>
    register application
    </title>
    <body>
    <form name="form1" method="post" action="show_register.php">
    <input type="submit" name="Submit" value="show">
    </form>
    </body>
    </html>
    <?php
    session_start();
    echo $_SESSION['ip'];
    ?>
      

  6.   

    session_start();
    $_SESSION['IP']=$_SERVER['REMOTE_ADDR'];输出的时候
    echo $_SESSION['IP'];