Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gecko

problemas com rand()

Recommended Posts

Galera beleza?Eu to com um problema que tá torrando a minha paciência. a função rand() e mt_rand() do php. O negócio é o seguinte, olhem o código: Ele sempre me retorna o mesmo valor, consequentemente sempre exibindo a mesma img e o mesmo link, o que eu faço? Eu testei esse script no meu pc, com php 4 e apache 1.x.x e também na multimania.fr, só que não funcionou.<?php$min=1;$max=5;$num=rand($min,$max);switch($num){case 1:$img='consuelo';$link='pg1';break;case 2:$img='nivea';$link='pg2';break;case 3:$img='ju';$link='pg3';break;case 4:$img='4';$link='pg4';break;case 5:$img='anita';$link='pg5';break;}echo "<font size=7>$num</font><br><br>";$link=$link.'.php';$img=$img.'.jpg';$img2='images/'.$img;if (file_exists($link)){ echo 'existe php '; }else { echo 'não existe php '; }if (file_exists($img2)){ echo 'existe img'; }else { echo 'ñ existe img'; }if (file_exists($link) or (file_exists($link) and file_exists($img2))){echo "<a href='$link'><img src='images/$img'></a>";$num=0;}else{echo "Arquivo não encontrado";}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá funcionando normal...eu peguei o código exatamente como está aí em baixo, e testei no meu micro*...o q pode estar acontecendo, é q nem sempre ele muda o número a cada refresh.. ele apenas sorteia..*Apache 2.0.47 - php 4.3.2

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas ñ tem um jeito de fazer ele mudar o nº tb?

como assim mudar o número?a idéia da função é que ele coloque todos os números possíveis no lugar, e escolha um...basicamente, o q você pode fazer (considero eu mto trabalhoso), é guardar o úlitmo número em algum lugar (cookie, bd, arquivo, sei lá), e caso o número seja igual o anterior, sortear de novo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu descobri o que tava errado. O problema é que a minha versão do php é 4.0.5, e nessa ainda é necessário semear o rand com srand. Não tinha pensado nisso ainda, então resolvi usar o phpinfo() pra descobrir. Só não sabia que na multimania a versão do php tb era mais antiga, porque parece que lá eles rodam o php em safe mode e não dava pra verificar, talvez na documentação dles, mas como eu nunca precisei eu não sabia. Quanto a armazenar as informações para que elas não se repitam realmente daria trabalho e no meu caso não é ncessário. Valewww

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.