Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Передача значений между страницами (https://forum.antichat.xyz/showthread.php?t=138172)

programming 29.08.2009 19:45

Передача значений между страницами
 
Есть две страницы - index1.php и index2.php.
Со страницы index1.php идёт редирект на страницу index2.php. Задача: переслать значения переменных(например, $a и $b) со страницы index1.php на страницу index2.php.
Один вариант я знаю, но он меня не совсем устраивает - это методом гет - то есть в адресной строке прописать урл с переменными. Это не подходит.. Ещё есть вариант через форму - но у меня же выполняется редирект и пользователь никакие действия не производит.. Есть ли какой-то другой вариант передачи значений? Конечно, лучше всего было бы методом пост передавать..

L I G A 29.08.2009 20:07

скрытая форма не катит? ,пробуй через сессии.

Pashkela 29.08.2009 20:08

два скрипта - test.php и test1.php:

1. test.php:

PHP код:

<?php
$a 
"test"';
if (strpos($_SERVER['
PHP_SELF'],"test.php")) header("Location:http://путь_до_второго_скрипта/test1.php");
?>

2. test1.php:
PHP код:

<?php
include "test.php";
echo 
$a;
?>


programming 29.08.2009 20:15

Цитата:

Сообщение от Pashkela
два скрипта - test.php и test1.php:

1. test.php:

PHP код:

<?php
$a 
"test"';
header("Location:http://путь_до_второго_скрипта/test1.php");
?>

2. test1.php:
PHP код:

<?php
include "user.php";
echo 
$a;
?>


Вы уверены, что такое будет работать?

Pashkela 29.08.2009 20:23

в смысле? Да, уверен:)

Deathdreams 29.08.2009 20:24

2 Pashkela
почему include "user.php"; ?

geforse 29.08.2009 20:27

index1.php
PHP код:

<?php
session_start
();

$_SESSION['a'] = $a;
$_SESSION['b'] = $b;

?>

index2.php
PHP код:

<?php
session_start
();

$a $_SESSION['a'];
$b $_SESSION['b'];

session_destroy();
?>


d_x 29.08.2009 20:31

Pashkela, проверяй скрипты перед тем, как выкладывать...

Банально с помощью яваскрипта решается так:
PHP код:

<html><body>
<
form id='frm' action='script2.php' method='post' style='display:none;'>
<!-- 
передаем тут параметры в полях -->
<
input type='hidden' name='param1' value='значение'>
</
form>
<
script language='JavaScript'>
document.getElementById('frm').submit();
</
script>
</
body></html

Соответственно, для управляемого редиректа нужно сделать функцию и вызывать ее, вроде такой:

PHP код:

<html><body>
<
form id='frm' action='script2.php' method='post' style='display:none;'>
<!-- 
передаем тут параметры в полях -->
<
input type='hidden' name='param1' id='param1'>
</
form>
<
script language='JavaScript'>
function 
redirect(param)
{
  
document.getElementById('param1').value=param;
  
document.getElementById('frm').submit();
}

//вызываем так:
redirect(123);
//при этом будет передан параметр param1=123 скрипту script2.php
</script>
... 


Pashkela 29.08.2009 20:34

Цитата:

Сообщение от Deathdreams
2 Pashkela
почему include "user.php"; ?

Ошибся децл, исправил первый пост

ЗЫЖ ту Егорыч+++:

в скрипте нет ошибки, если нажать на quote или edit, однако при отображении куда-то кавычка потерялась

geforse 29.08.2009 20:43

сколько способов для простой "задачки" :)

Можно ещё писать значения в файл и брать их от туда, а ещё лучше в БД :D


Время: 09:31