首页 > 解决方案 > 无法访问提交按钮代码之外的会话变量

问题描述

我在访问提交按钮的代码之外的会话变量时遇到问题。当我在提交代码中打印会话变量时,它正在打印,但是在回显外部提交代码时,它没有打印日期的值。实际上我想在数据库中插入会话变量的值,但它没有被插入。代码如下:

  <!Doctype html>
  <?php
 session_start();
 $_SESSION['date']='';
 include 'connect.php';
 ?>
 <form>
 Date: <input type='date' name='date'> <br>
 <input type='submit' name='submit'>
 </form>
 <?php
 $date='';
 if(isset($_POST['submit'] ))
 {
 $date=$_POST['date'];
 $_SESSION['date']=$date;
 echo $_SESSION['date'];
 }
 ?>

<?php
echo $_SESSION['date'];
?>

标签: phpsession-variables

解决方案


这不会echo是因为您没有设置任何表单方法并通过$_POST. 默认情况下,它将GET作为表单方法。
所以你可以做两件事

  1. 将表单方法设置为POST这样<form method="post">
  2. 使用$_GET而不是$_POST像这样$_GET['submit']$_GET['date'].

推荐阅读