Невозможно получить доступ к переменным сеанса вне кода кнопки отправки

У меня проблема с доступом к переменным сеанса вне кода для кнопки отправки. Когда я печатаю переменную сеанса в коде отправки, она печатается, но во время эха вне кода отправки она не печатает значение даты. На самом деле я хочу вставьте значение переменной сеанса в базу данных, но оно не вставляется. код приведен ниже:

  <!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'];
?>

Мне непонятно, какую проблему вы пытаетесь описать. Какая конкретная строка кода делает не то, что вы ожидаете? Что вы ожидали от него? Почему? И здесь нет ничего, что каким-либо образом взаимодействовало бы с базой данных, поэтому непонятно, почему вы ожидали, что произойдет что.

David 15.05.2018 14:15

Вы устанавливаете $_SESSION['date'] на ''каждый раз…!

deceze 15.05.2018 14:15

на самом деле я установил соединение с базой данных, и оно также подключается, но я забыл написать здесь. основная проблема в том, что я не могу получить значение переменной сеанса вне кода кнопки отправки ни через метод get, ни через метод публикации.

Nilanjana Maiti 16.05.2018 07:27

Вы можете принять мой ответ, если хотите

prit.patel 16.05.2018 08:57

Я уверен, что обязательно приму твой ответ, но как это принять, я не могу найти вариант.

Nilanjana Maiti 18.05.2018 07:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
5
73
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

У формы нет метода. Установите метод формы на POST

Ответ принят как подходящий

Это не будет echo, потому что вы не установили какой-либо метод формы и не получили значения с помощью $_POST. По умолчанию в качестве метода формы используется GET. Итак, вы можете сделать две вещи

  1. Установите метод формы на POST, например, <form method = "post"> или
  2. Используйте $_GET вместо $_POST, как это $_GET['submit'] и $_GET['date'].

Я пробовал то, что вы сказали, с помощью метода $ _GET и $ _POST, но все же он не отображает ничего за пределами кнопки отправки

Nilanjana Maiti 16.05.2018 07:24

Требуется ли connect.php? Потому что я не вижу кода, связанного с базой данных. У вас есть еще код ниже того, что вы разместили в своем вопросе? @NilanjanaMaiti

prit.patel 16.05.2018 07:30

И просто для подтверждения, вы имеете в виду эхо в последней строке вашего кода как за пределами кода кнопки отправки? @NilanjanaMaiti

prit.patel 16.05.2018 07:33

Ya его повторение после того, как я применил метод GET, но когда я пытаюсь повторить $ _SESSION ['' date] на другой странице, он не отображается там, и он также не попадает в базу данных через запрос вставки

Nilanjana Maiti 16.05.2018 07:36

да, connect.php есть, но я забыл упомянуть, что ниже приведен код для connect.php

Nilanjana Maiti 16.05.2018 07:37

<! DOCTYPE html> <html> <head> <title> connect </title> </head> <body> <? Php $ servername = "localhost"; $ username = "корень"; $ пароль = ""; $ dbname = "mydb1"; $ mysqli = новый mysqli ($ servername, $ username, $ password, $ dbname); ?> </body> </html>

Nilanjana Maiti 16.05.2018 07:38

Как вы сказали, вы не можете получить его значение на другой странице, тогда, возможно, вы забыли добавить session_start() в верхней части другой страницы, где вы пытаетесь отобразить переменную сеанса даты @NilanjanaMaiti

prit.patel 16.05.2018 07:43

no prit patel Я добавил начало сеанса. Я могу показать вам код, приведенный ниже:

Nilanjana Maiti 16.05.2018 07:46

<? php session_start (); echo $ _SESSION ['дата']; ?>

Nilanjana Maiti 16.05.2018 07:48

Не могли бы вы опубликовать полные коды обеих страниц, на которых вы столкнулись с проблемами. Чтобы я мог ясно понять проблему. Потому что, когда я скопировал ваш код и попробовал на своем компьютере, он отлично работает, поэтому должна быть ошибка где-то еще @NilanjanaMaiti

prit.patel 16.05.2018 07:49

Эй, человек, он работает, это была моя ошибка кодирования, на самом деле спасибо за помощь, прит патент. Большое спасибо

Nilanjana Maiti 16.05.2018 07:59

Другие вопросы по теме