<?php
if($_GET['action'] == 2){
echo $vale;
}else{
$vale = "test";
Header("Location: test.php?action=2");
}
?>

解决方案 »

  1.   

    <?php
    if($_GET['action'] = 2){//写错了,应该是$_GET['action'] = =2
    echo $vale;//未定义变量
    }else{
    $vale = "test";//这个定义,不会影响上面的变量
    Header("Location: test.php?action=2");
    }
    ?>应该改成
    <?php
    if(!isset($vale)||isset($_GET["action"])||$_GET["action"] == 2){
      $vale = "test";
    }
    if(isset($_GET["action"])&&$_GET["action"] == 2){
    echo $vale;
    }else{
    Header("Location: test.php?action=2");
    }
    ?>
      

  2.   

    用cookie
    <?php
    if($_GET['action'] = 2){
    echo $_COOKIE[vale];
    }
    else
    {
    setcookie("vale","test");
    Header("Location: test.php?action=2");
    }
      

  3.   

    当然阿
    <?php
    if($_GET['action'] = 2){
    echo $vale;
    }else{
    $vale = "test";
    Header("Location: test.php?action=2");
    }
    ?>
    你传递地参数是action=2,所以执行的永远是第一个输出:echo $vale,可是你得$vale等于什么啊,为空,可不什么都没输出
    /改成
    <?php
    $vale=$_GET['action'];
    if($vale== 2){
    echo $vale;
    }else{
    $vale = "test";
    Header("Location: test555.php?action=2");
    }
    ?>
      

  4.   

    哦,我的也错了
    <?php
    if($_GET['action'] == 2){
    echo $_COOKIE[vale];
    }
    else
    {
    setcookie("vale","test");
    Header("Location: test.php?action=2");
    }
      

  5.   

    可能是我表达能力差,,其实我的意思是这样的..
    <?php
    if($_GET['action'] == 2){ //刚进入页面的时候这段不执行.
    echo $vale;
    }else{
    $vale = "test";//赋值给$vale
    Header("Location: test.php?action=2");转到action==2来显示我上面那句所赋的值.
    }
    ?>
    这样说清楚点了吧...
      

  6.   

    不会阿,我试了可以执行阿,没输出我上面说了,你的$vale没有赋值,你传递action=1,输出肯定是test
      

  7.   

    简单的说就是不用form的post或者get方式,向另一个页面传递一个变量.
    上面那个COOKIE的办法可以,,可是还有没其他方法呢?
      

  8.   

    <?php
    if($_GET['action'] == 2){ //刚进入页面的时候这段不执行.
    echo $vale;
    }else{
    $vale = "test";//赋值给$vale
    Header("Location: test.php?action=2");转到action==2来显示我上面那句所赋的值.
    }
    ?>
    如果按照这样
    跳转后$vale就没有值了。因为没传值过去。
      

  9.   


    <?php
    if($_GET['action'] == 2){ //刚进入页面的时候这段不执行.
    echo $vale;
    }else{
    $vale = "test";//赋值给$vale
    Header("Location: test.php?action=2&vale=$vale");//转到action==2来显示我上面那句所赋的值.
    //在这里你丢失了vale的值。
    }因为你第二次跳转的时候把$vale的值丢掉了~!
      

  10.   

    to wangmingsky(磨碎的沙子):
      可以给个实例或者说明一下用法吗?
      

  11.   

    to edlongren(edlongren):
      你这样的话就是用了get方式了,,,我想知道还有没办法..
      

  12.   

    我用$_GET方法得到的是action的值,跟$vale变量没有关系呀。如果也不用$_GET,就想得到action,那么可以把php.ini的register_globals设为On
      

  13.   

    to wasg() :
      我到现在不明白你这样做的意义~:)
      

  14.   

    就是我现在有A,B两个页面,我需要在A定义一个变量,之后不用表单来传递变量,也不用get的方式来传递,就是不用xxx.php?vale=xxx这样子,就是在A赋值了之后不用任何传递变量的方法跳转到B页面,B页面怎么才能获取到A页面的那个值.我现在试试用session.
      

  15.   

    a.php
    session_start();
    $_SESSION['test'] = "aaaa";
    -------------------
    b.php
    session_start();
    echo $_SESSION['test'];
      

  16.   

    用session可以,不过不知道还有没其他方法,,
      

  17.   

    不过谢谢大家,,我就用session好了,谢谢所有帮我的人,