gpt4 book ai didi

javascript - 访问 session 值

转载 作者:行者123 更新时间:2023-12-02 13:51:57 24 4
gpt4 key购买 nike

如果设置了特定 session ,如何隐藏表单样式?我就是这样做的

<form action="" method="post" <?php if ((isset($_SESSION['start']) )|| (isset($_SESSION['visitor']) )){ echo 'style="display:none;"'; } ?>>
<input type="radio" name="log" id="viso" value="vis" checked onclick="javascript:yesnoCheck();"> Visitor<br>
<input type="radio" name="log" id="uso" value="use" onclick="javascript:yesnoCheck();" > User<br>
<label name="frm" id="frm" style="display:none" ><b>Password</b></label>
<input type="password" style="display:none" name="pw" id="pw" placeholder="Enter Password" >
<input type="submit" >
</form>
<?php
if ( isset ($_POST['log'])&& $_POST['log']=="vis" )
{
$_SESSION["visitor"]="true";
unset($_SESSION["start"]);
}
else if ( isset ($_POST['log'])&& $_POST['log']=="use" )
{
if ( isset($_POST['pw']) && $_POST['pw']!="1111" )
echo "Wrong password";
else if ( isset ($_POST['pw'])&& $_POST['pw']=="1111" )
{
$_SESSION['start']="Welcome";
unset($_SESSION["visitor"]);
}
}
?>


但只有当我按提交按钮两次而不是第一次时它才会隐藏

最佳答案

你有一个简单的逻辑缺陷。你在设置 session 之前检查 session 。当用户填写表单并提交时,你的 php 运行这个

 <form action="" method="post" id="lol" <?php if ((isset($_SESSION['start']) )|| (isset($_SESSION['visitor']) )){ echo 'style="display:none;"'; } ?>>

请注意,此时未设置 session ,因此表单不会有 display:none 并将显示**即使用户已正确输入其详细信息,当响应到来时表单仍可见。现在要解决此问题,请在表单显示代码之前移动 session 检查

<?php
if ( isset ($_POST['log'])&& $_POST['log']=="vis" )
{
$_SESSION["visitor"]="true";
//....more stuff

//...
} ?>

<form action="" method="post" id="lol" <?php if ((isset($_SESSION['start']) )|| (isset($_SESSION['visitor']) )){ echo 'style="display:none;"'; } ?>>

关于javascript - 访问 session 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com