为了账号安全,请及时绑定邮箱和手机立即绑定

在我取消设置变量之前,我的多表单页面运行良好。为什么?

在我取消设置变量之前,我的多表单页面运行良好。为什么?

PHP
喵喔喔 2022-10-28 16:29:46
我已经在多表单页面上工作了一段时间。我需要一些帮助来了解为什么当我取消设置我的变量时多表单页面停止正常工作。我在代码中放置了一个 echo 语句来跟踪变量值,即使在页面刷新后变量仍然存在。从字面上看,我必须删除站点的 cookie 才能取消设置变量。这是代码:<?phpsession_start();// Start the sessionecho $_SESSION["formatPickleball"];$_SESSION["Pickleball"] = "";// Submit button is pressedif (isset($_POST['format1'])){    $_SESSION["formatPickleball"] = $_POST['member'];    $_SESSION["Pickleball"] = "hide";}if ($_SESSION["formatPickleball"] == "Captain") {$regCAP = "";// Submit button is pressedif (isset($_POST['submitCAP'])){$regCAP = "show";}$secondCAP = "";// Submit button is pressedif (isset($_POST['submit2'])){$secondCAP = "show";}$thirdCAP = "";// Submit button is pressedif (isset($_POST['submit3'])){$thirdCAP = "show";}} elseif ($_SESSION["formatPickleball"] == "Player") {$regPlay = "";// Submit button is pressedif (isset($_POST['submitPlay'])){$regPlay = "show";} }?><html><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"><script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.jquery.min.js"></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.min.css">    <script type="text/javascript"></script><body><div id="mainForm">    <h4>Are you a Captain or a Player on a Team?</h4><form method='POST'>    <input type="radio" name="member" value="Captain">Captain    <input type="radio" name="member" value="Player">Player<br>    <input type="submit" name="format1" value="Select">     </form></div>当我添加 $_SESSION["formatPickleball"] = ""; 到php代码的顶部,多表单无法正常工作。我有两个问题 1) 如何在不删除 cookie 的情况下取消设置变量?2) 这是用 PHP 编写此代码的最有效方法吗?
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

一旦 if 语句完成,我就可以通过使用窗口弹出窗口来清除变量。


if ($Num_CTeams > 1 && $_SESSION["Pickleball"] !="") {

    echo '<script language="javascript">';

    echo 'alert("Sorry, Captains can only captain up to two teams ONLY.")';

    echo '</script>';

    $_SESSION["formatPickleball"] = "";


查看完整回答
反对 回复 2022-10-28
?
白板的微信

TA贡献1883条经验 获得超3个赞

存储在会话中的值必须在脚本执行结束时丢弃。

  1. 销毁 $_SESSION 使用 unset($ _ SESSION) 和

  2. 然后使用销毁会话本身 session_destroy();


查看完整回答
反对 回复 2022-10-28
?
ITMISS

TA贡献1871条经验 获得超8个赞

<?php

session_start();


echo $_SESSION["formatPickleball"];

$_SESSION["Pickleball"] = "";


if (isset($_POST['format1']) && $_POST['format1'] && isset($_POST['member']) && $_POST['member']) {

    $_SESSION["formatPickleball"] = $_POST['member'];

    $_SESSION["Pickleball"] = "hide";

}


if ($_SESSION["formatPickleball"] == "Captain") {

    $regCAP = isset($_POST['submitCAP']) && $_POST['submitCAP'] ? "show": "";

    $secondCAP = isset($_POST['submit2']) && $_POST['submit2'] ? "show": "";

    $thirdCAP = isset($_POST['submit3']) && $_POST['submit3'] ? "show": "";

if ($_SESSION["formatPickleball"] == "Player") {

    $regPlay =  isset($_POST['submitPlay']) && $_POST['submitPlay'] ? "show" : "";

}


查看完整回答
反对 回复 2022-10-28
  • 3 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号