Передать переменную из изображения на следующую страницу - PullRequest
1 голос
/ 03 декабря 2009

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

Изображение находится на random.php, и я использую <img src="random.php" /> на странице index.php, если это имеет значение, и я хочу перейти от random.php (изображение) к index.php. Я уже пробовал сеансы и файлы cookie, но когда я обновляюсь, всегда на 1 шаг меньше того, что создает изображение ...

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

Ответы [ 3 ]

1 голос
/ 03 декабря 2009

Как насчет использования временной переменной сеанса?

На первой странице

<?php
    session_start();
    $_SESSION['mykey'] = 'myrandomval';
    session_write_close(); // Helpful if you're using a header redirect
?>

и на второй странице

<?php

    session_start();
    $value = $_SESSION['mykey'];

?>
0 голосов
/ 03 декабря 2009

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

<?php

function randomcolor()
{
    srand( $_SERVER['REQUEST_TIME'] );
    $colors = array('red', 'green', 'blue', 'black', 'orange');
    return $colors[ array_rand($colors) ];
}

$color = randomcolor();

if(isset( $_GET['image'] ))
{
    header('Content-type: image/png');
    $im = imagecreate(75, 50);
    imagecolorallocate($im, 0xee, 0xee, 0xee);
    $black = imagecolorallocate($im, 0, 0, 0);
    imagestring($im, 2, 10, 10, $color, $black);
    imagepng($im);
    exit;
}

?>

<p>color: <?php echo $color; ?></p>
<img src="test5.php?image=1" />

Это два отдельных запроса, заполненных REQUEST_TIME, что означает, что array_rand будет возвращать одно и то же значение оба раза.

0 голосов
/ 03 декабря 2009

Проблема, с которой вы столкнулись, заключается в том, что запрашивается index.php, тогда браузер понимает, что необходимо random.php, так что да, random.php будет шагом ПОСЛЕ index.php ...

Если вы переключите свою логику "случайного создания" (используйте индекс для создания ключа, хранящегося в сеансе, который затем можно прочитать из random.php), это может решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...