如何将变量传递到下一页而不在URL中传递或使用会话?

时间:2015-04-04 08:15:18

标签: php

我想将一个变量传递给另一个页面但是会有多个变量,例如:

<a href=view.php?viewkey=mnbvc>View</a> 
<a href=view.php?viewkey=vcbvc>View</a> 
<a href=view.php?viewkey=uiytj>View</a> 
<a href=view.php?viewkey=wegnv>View</a> 

它会看起来像那样,但是这样做的视图键是在我不想要的URL中传递的,无论如何都要将它隐藏在用户之外?

3 个答案:

答案 0 :(得分:0)

根据@ adeneo的评论,请使用POST请求代替GET

<form method="post" action="view.php">
    <select name="viewkey" required="required">
        <option value="" selected="selected">Choose an option</option>
        <option value="mnbvc">mnbvc</option>
        <option value="vcbvc">vcbvc</option>
        <option value="uiytj">uiytj</option>
        <option value="wegnv">wegnv</option>
    </select>
    <button type="submit">Pass the variable</button>
</form>

然后像view.php一样获取它:

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
{
    var_dump($_POST['viewkey']);
}

答案 1 :(得分:0)

你可以改用POST。

<a href="javascript:void(0)" class="linkToPage" data-key="mnbvc">View</a>

然后使用Jquery, - 获取key属性,将其设置为表单并将表单提交给view.php

例如。

$('.linkToPage').click(function(){ 
    $('#formInput').val($(this).data('key'));
    $('#form').submit();
});

您的表单可能是这样的:

<form id="form" action="view.php">
  <input type="hidden" id="formInput">
</form>

答案 2 :(得分:-1)

如果要隐藏用户的值,可以使用POST变量,并且需要在表单中嵌入值。通过简单的HTML或使用JQuery将其应用到下一页。例如使用具有相同名称的单选按钮onclick通过提交按钮传递值...