下拉列表,点击直接新建URL,没有提交按钮,贴出隐藏的PHP变量
Drop-down list, click direct to new URL, no submit button, posting hidden PHP variables
我想制作一个下拉列表,每个 selection 都是一个新的 URL link,其中没有提交按钮。相反,当用户从下拉列表中 select 时,他们会直接转到 URL。我可以使用以下 HTML:
来完成这项工作
<select name="mydropdown" class="class1" onChange="document.location = this.value" value="GO">
<option value="page1.php">Page1</option>
<option value="page2.php">Page2</option>
<option value="page3.php">Page3</option>
</select>
不过,我还想 post 两个隐藏的 PHP 变量到 selected 页面,$username 和 $password。
非常感谢任何帮助。
将变量传递到其他页面的最佳方法是使用 $_SESSION
,因为您没有表单并且用户不想知道您传递的是什么变量/值。 read the docs here about PHP Sessions
NOTE: Advise not to pass password through out the page, it make your
system vulnerable for attackers. Best practice is verify user in each
page if you want or encrypt and store the password.
您可以通过 jquery 提交表单来尝试。还以编码格式传递密码。检查下面的代码 ==>
function callredirect(pagename){
$("#frmdropdown").attr("action",pagename);
$("#frmdropdown").submit();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="post" id="frmdropdown">
<input type="hidden" name="username" value="abc" />
<input type="hidden" name="password" value="password" />
<select name="mydropdown" class="class1" onChange="callredirect(this.value)" >
<option value="page1.php">Page1</option>
<option value="page2.php">Page2</option>
<option value="page3.php">Page3</option>
</select>
</form>
我想制作一个下拉列表,每个 selection 都是一个新的 URL link,其中没有提交按钮。相反,当用户从下拉列表中 select 时,他们会直接转到 URL。我可以使用以下 HTML:
来完成这项工作<select name="mydropdown" class="class1" onChange="document.location = this.value" value="GO">
<option value="page1.php">Page1</option>
<option value="page2.php">Page2</option>
<option value="page3.php">Page3</option>
</select>
不过,我还想 post 两个隐藏的 PHP 变量到 selected 页面,$username 和 $password。
非常感谢任何帮助。
将变量传递到其他页面的最佳方法是使用 $_SESSION
,因为您没有表单并且用户不想知道您传递的是什么变量/值。 read the docs here about PHP Sessions
NOTE: Advise not to pass password through out the page, it make your system vulnerable for attackers. Best practice is verify user in each page if you want or encrypt and store the password.
您可以通过 jquery 提交表单来尝试。还以编码格式传递密码。检查下面的代码 ==>
function callredirect(pagename){
$("#frmdropdown").attr("action",pagename);
$("#frmdropdown").submit();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="post" id="frmdropdown">
<input type="hidden" name="username" value="abc" />
<input type="hidden" name="password" value="password" />
<select name="mydropdown" class="class1" onChange="callredirect(this.value)" >
<option value="page1.php">Page1</option>
<option value="page2.php">Page2</option>
<option value="page3.php">Page3</option>
</select>
</form>