Bir sonraki sayfaya görüntüden değişken geçmek

3 Cevap php

Hey ben dinamik görüntü imagecreate () ile oluşturulan başlamak var, ve ben rastgele değerler üretilmektedir var, ve ben bir değişkene, o rastgele bir sayı iletin, ve Im görüntü kaynağını kullanarak sayfa içinde bu değişkeni kullanmak istiyorum.

Görüntü random.php üzerinde olduğunu ve Im <img src="random.php" /> bu konularda sayfa index.php kullanarak, ve ben index.php için, random.php (resim) geçmek istiyorum. Ben yenilemek ben zaten, görüntü üreten ne arkasında onun her zaman 1 adım oturumları ve çerezleri çalıştı ama ...

Rasgele sayılar yankı için bir for döngüsü kullanarak im, ben bir değişkene bu numaraları geçmek gerekir. Temelde nasıl değil 1 adım geri, gerçek zamanlı olarak, bir görüntünün dışarıdaki numaraları olsun.

3 Cevap

Ne geçici bir oturum değişkeni kullanarak?

İlk sayfada,

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

ve ikinci sayfada

<?php

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

?>

Eğer yaşıyorsanız sorun index.php ardından tarayıcı yüzden-evet, random.php index.php SONRA bir adım olacaktır, random.php gerekli olduğunu anlar, talep olmasıdır ...

Eğer (o random.php okunabilir endeksi bir oturumda saklanan anahtarı oluşturmanız gerekir) etrafında "rastgele yaratma" mantığı, geçerseniz bu sorunu çözebilir.

Bunun yerine görüntüye sayfasından değişkenleri geçme, her iki komut aynı değere rasgele sayı üreteci tohum ayarlayabilirsiniz. İşte tam bir örnek:

<?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" />

Bu array_rand aynı değeri iki kere dönmek anlamına gelir ki, REQUEST_TIME ile ekildi olan iki ayrı istekleri.