2014-01-14 5 views
1

Это мой первый пост, поэтому извините, если я не буду предоставлять информацию правильно.Как пересылать информацию с одной страницы, через другую, а затем, наконец, на треть

Итак, моя проблема заключается в следующем:

Это первая форма:

<h1>Modificare carti</h1> 
<br /> 
<form action="UTLcrt.php" method="post"> 
Cod Carte: <br /><input type="numeric" name="cod"><br> 
Nume: <br /><input type="text" name="nume"><br> 
Autor: <br /><input type="text" name="autor"><br> 
Editura: <br /><input type="text" name="editura"><br> 
Disponibilitate: <br /><input type="text" name="disp"><br> 
Pret: <br /><input type="numeric" name="pret"><br> 
<select name="vmod"> 
<option value="mod">Modificare carte</option> 
<option value="str">Sterge carte</option> 
<option value="src" >Cauta carte</option> 
</select> 
<input type="submit"> 
</form> 

UTLcrt.php содержит следующий код:

<?php 
if (isset($_POST['vmod'])) { 
    $urls = array(
     'mod' => 'modcrt.php', 
     'str' => 'strcrt.php', 
     'src' => 'srccrt.php' 

    ); 
    $url = $urls[$_POST['vmod']]; 
    header("Location: " . $url); 
} 
?> 

И каждая страница PHP делает следующая: modcrt.php изменяет запись в нашей базе данных с той же «треской» с информацией, предоставленной в первом виде strcrt.php delete s регистр в нашей базе данных, если «треска», которую мы ввели в первой форме, находит совпадение srccrt.php ищет в базе данных, если был найден регистр с «треской», представленный в первой форме, и показывает положительное сообщение.

Моя проблема заключается в следующем: информация, которую я поставил в первой форме не получает в modcrt.php, strcrt.php, src.php страниц ... $ _POST пусты ...

Как отправить информацию с первой страницы, через вторую, а затем на третью?

ответ

0

Значения POST пусты, потому что третья страница не получает запрос POST. Порядок проведения мероприятий:

  • Пользователь запрашивает первую страницу.
  • Пользователь POST представляет собой форму на вторую страницу со значениями.
  • Вторая страница сообщает пользователю о необходимости отправки запроса GET на третью страницу.
  • Пользователь запрашивает третью страницу.

Существует несколько различных способов хранения информации в цепочке. Вы можете:

  • Добавьте его в строку запроса для перенаправления
  • хранить его в сессии
  • сохранить его в базе данных
  • и т.д.

Первый может выглядеть следующим образом:

header("Location: " . $url . "?key=value"); 

Где пара ключ/значение аналогично тем, которые в POST. В этом случае значения будут доступны на третьей странице в GET:

$_GET['key'] 

Если вы используете сеанс, значения остаются на стороне сервера. Так на второй странице вы можете установить значение:

$_SESSION['key'] = $value; 

А затем получить его в третьей странице:

$value = $_SESSION['key']; 

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

+0

header ("Location:". $ Url. "? Cc =". $ _ POST ['cod']. "". "? Nc =". $ _ POST ['nume']. "". "? Ac = "$ _ POST [ 'Автор']. "". "? ек =". $ _ POST [ 'Editura']. "". "? dc =". $ _ POST [ 'дисп']. ""."? рс = ")» $ _ POST [ 'прет'].."; Верно ли это? Я хотел использовать несколько ключей. – user3195372

+0

@ user3195372: Это выглядит как сложная строка кода. Ведет ли он себя так, как вы ожидаете? Для ясности вы можете уменьшить логику на этой линии и реорганизовать некоторые из них на отдельные значения. Но если код делает то, что вы ожидаете от него, я бы счел его «правильным», по крайней мере, с логической точки зрения. – David

+0

Он не ведет себя так, как я этого хочу. В результате получится следующее: Значение «cod», за которым следует. «? Nc =». $ _ POST ['nume']. "". "? Ac =". $ _ POST ['autor']. "". "? ек =". $ _ POST [ 'Editura']. "". "? dc =". $ _ POST [ 'дисп']. "". "? рс =". $ _ POST [ 'прет']. ""); – user3195372

1

Вы можете держать их в сессии, используя

$_SESSION['info1']=$info1; 
0

Page 1

<?php 
// this starts the session 
session_start(); 

// this sets variables in the session 
$_SESSION['color']='red'; 
$_SESSION['size']='small'; 
$_SESSION['shape']='round'; 
?> 

Page 2

<?php 
$color = $_SESSION['color']; 
$size = $_SESSION['size']; 
$shape = $_SESSION['shape']; 
?> 

и так далее ...