未在url中传递的变量和未显示的页面

时间:2016-04-26 07:24:02

标签: php

我正在将用户重定向到名为" forgot_pass"的页面。以这种方式

"forgot_pass.php?code='$code'&username='$hidden_username'>"

但是当用户点击链接进行重定向时,网址就像这样

http://localhost/Validation/forgot_pass.php?code=

并且没有显示任何页面。 在url中传递的变量具有值,因为我已经检查过它。但是当它们在网址中发送时它们不会显示。

帮我解决这个问题。

reset.php

<?php
ini_set("display_errors", TRUE);
require_once './include/db_connection.php';

    $pass = $_POST['pass'];
    $pass1 = $_POST['pass1'];
    $code = $_GET['code'];
    $hidden_username = $_POST['username']; 
    if($pass == $pass1)
    {
        echo 'Password Changed !';
    }
    else
    {
        echo "Passowrd must match
        <a href='forgot_pass.php?code='$code'&username='$hidden_username'>Try Again</a>

        ";
    }

forgot_pass.php

<?php

ini_set("display_errors", TRUE);
require_once './include/db_connection.php';
    if(isset($_GET['code']))
    {
       $get_code = (isset($_GET['code'])? $_GET['code'] : null);
        $get_username =(isset($_GET['username']) ? $_GET['username'] : null);

        $match_code = mysqli_query($link, "select * from signup where username='$get_username'");
        if(mysqli_num_rows($match_code) > 0)
        {
            while($row = mysqli_fetch_assoc($match_code))
            {
               $db_username = $row['username'];
                $db_code = $row['paareset'];
            }
        }

        if($get_username == $db_username && $get_code == $db_code)
        { ?>
<html>
    <head>

        <meta charset="UTF-8">
        <title>Change Password</title>

    </head>
    <body>
<div class="container">
    <div class="row">
        <div class="row">
            <div class="col-md-4 col-md-offset-4">
                <div class="panel panel-default">
                    <div class="panel-body">
                        <div class="text-center">
                          <h3><i class="fa fa-pencil fa-4x"></i></h3>
                          <h2 class="text-center">New Password?</h2>
                            <div class="panel-body">

                                <form class="form" method="post" 
                                      action= "reset_pass.php?code=<?php echo $get_code ?>" 
                                <fieldset>
                                  <div class="form-group">
                                    <div class="input-group">
                                      <span class="input-group-addon"><i class="glyphicon glyphicon-pencil color-blue"></i></span>

                                      <input name="pass" placeholder="New Password" class="form-control" type="password" required="">
                                    </div>

                                  </div>

                                    <div class="form-group">
                                 <div class="input-group">
                                      <span class="input-group-addon"><i class="glyphicon glyphicon-pencil color-blue"></i></span>

                                      <input  name="pass1" placeholder="Re-type Password" class="form-control" type="password" required="">
                                      <input type="hidden" name="username" value="<?php echo $db_username ?>">
                                 </div>

                                    </div>
                                  <div class="form-group">
                                      <input class="btn btn-lg btn-primary btn-block" name="send" value="Change Password" type="submit">
                                  </div>
                                    <div class="form-group">
                                      <span style="color: red"><?php if(isset($message['mail'])) {echo $message['mail']; } ?></span>

                                    </div>
                                </fieldset>
                              </form>

                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

    </body>
</html>

<?php

        }
    } // End if (isset['code'])


if(!isset($_GET['code']))
{

?>
<html>
    <head>
    </head>
    <body>
          // Here i  am displaying another form that gets email address and sends email 
   </body>
</html>

<?php
}

5 个答案:

答案 0 :(得分:2)

删除参数周围的单引号,您正在使用它们来分隔URL,因此不要在URL中使用 (或至少转义它们):

echo "Password must match <a href='forgot_pass.php?code=$code&username=$hidden_username'>Try Again</a>";

答案 1 :(得分:2)

尝试这种方式

echo "Passowrd must match
    <a href='forgot_pass.php?code=".$code."&username=".$hidden_username.">Try Again</a>"

答案 2 :(得分:1)

你的列不匹配

尝试将代码更改为

window.onpageshow = function(event) {
    //do something
};

答案 3 :(得分:0)

请检查您的文件名是否正确。

您的名字为:reset.phpforgot_pass.php

forgot_pass.php中,您的行动将转向reset_pass.php

答案 4 :(得分:0)

删除单引号

&#34; forgot_pass.php代码= $代码&安培;用户名= $ hidden_​​username&GT;&#34;