2013-05-29 3 views
1

Первый вопрос, который у меня есть, заключается в том, что я хотел бы, чтобы index.php запросил у пользователя вопрос через форму и когда пресса отправит его, обновите переменную сеанса на jcart.php. С текущим кодом ниже, когда я вызываю переменную сеанса позже, она теперь найдена, поэтому я предполагаю, что код, который у меня сейчас, работает некорректно.Форма ввода в переменную сеанса

Второй вопрос, когда я нажимаю submit, он принимает меня к jcart.php, есть ли способ избежать этого или вернуть его.

На мой index.php У меня есть форма:

<form action="jcart/jcart.php" method="post"> 
<input type="text" name="example" id="example" /> 
<input type="submit" name="submit" value="Submit" /> 
</form> 

И на Jcart.php:

$_SESSION['example'] = $_POST['example']; 

Тогда на странице Я зову его на cocktails.php

<?php 
include_once('jcart/jcart.php'); 
session_start(); 
?> 

<input type="hidden" name="my-item-id" value="<?php echo $_SESSION['example'];?>" /> 

Спасибо за помощь.

+1

session_start(); должен быть вызван в jcart.php, тогда только вы можете назначить значения сеанса – Nisam

+0

Вы вызываете 'session_start'? Вы получили сообщение об ошибке? –

+0

Привет, ребята, спасибо за комментарии, этот код на самом деле является частью скрипта Jcart, похоже, он больше не поддерживает его, поэтому он обращается к Stackoverflow. Я предполагаю, что начало сеанса работает, потому что тележка в целом работает. Я могу хранить переменную сеанса в jcart.php, жестко кодируя ее, и она работает, я просто добавляю ее динамически. Что касается вызова первой стартовой сессии: // Если ваша страница вызывает session_start(), обязательно включите jcart.php first – craigie2204

ответ

2

Не нужно «обновить переменную сеанса на jcart.php». После хранения данных в глобальном массиве $ _SESSION он должен быть доступен во всех файлах php, по крайней мере, до тех пор, пока вы не уничтожите сеанс.

Это, как говорится, если jcart/jcart.php должен иметь $_SESSION['example'] переменный, вы должны быть уверен, что сессия запускается перед включением файла, например:

<?php 
    session_start() 
    include_once('jcart/jcart.php'); 
?> 

для других вопрос, вы можете изменить действие внутри своей формы на все, что захотите, или выдать header('Location: /'); для перенаправления на другую страницу после получения значения.

+0

Привет, первая часть все еще не работает, но перенаправление теперь. :) – craigie2204

0

в jcart/jcart.php

session_start(); 

следует назвать в начале

1

Пожалуйста, попробуйте этот

*jcart.php* 

session_start(); 
$_SESSION['example'] = $_POST['example']; 

*then cocktails.php* 

include_once('jcart/jcart.php'); 

echo $_SESSION['example']; 
+0

Эй, попробовал, похоже, не работает. Просто попробовал откликнуться на

, но ничего не показывает – craigie2204

+0

Извините, просто посмотрел print_r, вне меня. Я привык просто взламывать. Мне придется переосмыслить это. – craigie2204

Смежные вопросы