Valeur aléatoire

A2V
Invité n'ayant pas de compte PHPfrance

02 oct. 2011, 00:11

Bonjour à tous,
Je cherche vainement à mettre une valeur aléatoire dans une balise html.
J'ai essayé plusieurs solution avec un rand, mais rien n'a fonctionné.
J'héberge mon site chez free.
Et la valeur que je voudrais aléatoire c'est le scrolldelay dans une balise marquee.

<marquee ALIGN="center" behaviour="scroll" direction="right" scrollamount="12" scrolldelay="450" loop="-1" width="800">

A la place du 450 je voudrais une valeur aléatoire, qui change à chaque rafraichissement de page, entre 100 et 500.
SI une bonne âme pouvait m'indiquer précisément comment faire ?
En vous remerciant.
A2V

Eléphant du PHP | 188 Messages

02 oct. 2011, 00:43

Salut !

Bon alors tout d'abord, je suis presque sur que la balise <marquee> est obsolète et ne rentre plus dans les normes W3C, mais je suis pas sur, quelqu'un peut confirmer ?

Ensuite, a partir du moment ou tu veux générer quelquechose dans une page qui n'est pas inscrit en dur dans ton code, il te faut du php. Ce qui implique d'enregistrer ton fichier au format .php

la balise php pour générer un nombre aléatoire est :
rand(100, 500)
j'ai mit les valeurs que tu veux, mais sinon rien de plus simple : la première c'est le minimum, la deuxième le maximum.

Ensuite, il faut intégrer ce rand dans ta balise html, donc il faut mettre du php dans du html, en gros ça donnera :
<marquee ALIGN="center" behaviour="scroll" direction="right" scrollamount="12" scrolldelay="<?php echo rand(100, 500) ?>" loop="-1" width="800"
Explication :
- j'ai mit ta balise comme tu nous la donné,
- après le "scrolldelay" , j'ai ouvert du php, (avec <?php)
- puis j'ai mit "echo" qui générera le code html du chiffre aléatoire générer avant d'afficher la page
- le "rand" comme je t'ai dit au dessu,
- et enfin je ferme le php avec " ?> " , pour indiquer que je retourne à du html.
- et tu fini la balise en html normalement.


La doc sur le rand en php : http://php.net/manual/fr/function.rand.php

Voila :)

A2V
Invité n'ayant pas de compte PHPfrance

02 oct. 2011, 10:29

Merci beaucoup Arthur.
Cela marche très bien avec mozilla, je vérifierai avec IE ...
J'avais fait plus compliqué, finalement c'était assez simple.
Merci , bon dimanche.
A2V

Eléphant du PHP | 188 Messages

02 oct. 2011, 11:12

Derien bon dimanche :D

ViPHP
xTG
ViPHP | 7331 Messages

02 oct. 2011, 12:45

Cela marche très bien avec mozilla, je vérifierai avec IE ...
PHP s'exécute côté serveur, et donc indépendamment du navigateur que tu utilises. ;)

A2V
Invité n'ayant pas de compte PHPfrance

02 oct. 2011, 15:52

Oui, mais je voulais aussi vérifier pour la balise "marquee", cela fonctionne aussi sous IE.
Merci à vous =D>
A2V

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 oct. 2011, 18:05

Effectivement, la balise marquee n'est pas reconnue par le w3c (organisme qui définit les standards du web)

De mémoire c'était une balise spécifique propre à IE, que la plupart des autres navigateurs ont finit par gérer également, même si le w3c recommande de ne pas l'utiliser...

Bref, si c'est pour un site pro, c'est bien de faire attention aux normes pour la compatibilité et la maintenance.. si c'est pour un site perso, faut se faire plaisir, il sera toujours temps de respecter les recommandations quand les navigateurs feront de même ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...