Comment faire un générateur

  • Initiateur de la discussion séméron23
  • Date de début
  • Initiateur de la discussion
séméron23

séméron23

Psychopathe
Messages
1 305
Score réaction
310
Points
290
Bonjour , je voudrais que quand on arrive sur la page sa nous marque un mot tirrer qu sort parmis par exemple 10 autres. merci d'avance
 
_Remax

_Remax

Geek
Messages
345
Score réaction
69
Points
80
Tu peux utiliser la fonction rand()

Par exemple pour générer un nombre aléatoire entre 0 et 500

Code:
<?php echo rand(0, 500);
?>
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
_Remax à dit:
Tu peux utiliser la fonction rand()

Par exemple pour générer un nombre aléatoire entre 0 et 500

Code:
<?php echo rand(0, 500);
?>
Du PHP n'est pas nécessaire, certes on peut faire :
PHP:
<?php $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); echo $mots[rand(0,9)];
?>
Mais on peut simplement le faire en Javascript, sans utiliser PHP :
Code:
<p id="motRandom"></p>
<script> var mots = ['Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10']; document.getElementById('motRandom').innerHTML = mots[Math.floor(Math.random() * 10)];
</script>
 
  • J'aime
Réactions: _Remax
_Remax

_Remax

Geek
Messages
345
Score réaction
69
Points
80
Taink à dit:
Du PHP n'est pas nécessaire, certes on peut faire :
PHP:
<?php $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); echo $mots[rand(0,9)];
?>
Mais on peut simplement le faire en Javascript, sans utiliser PHP :
Code:
<p id="motRandom"></p>
<script> var mots = ['Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10']; document.getElementById('motRandom').innerHTML = mots[Math.floor(Math.random() * 10)];
</script>
J'ai donné se qui été plus le facile pour ma part certe après il y a plusieurs moyen de générer un nombre aléatoirement .
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
_Remax à dit:
J'ai donné se qui été plus le facile pour ma part certe après il y a plusieurs moyen de générer un nombre aléatoirement .
Bah c'est juste pas utile d'impliquer le serveur dans quelque chose qui est uniquement client ^^'
 
  • Initiateur de la discussion
séméron23

séméron23

Psychopathe
Messages
1 305
Score réaction
310
Points
290
Taink à dit:
Du PHP n'est pas nécessaire, certes on peut faire :
PHP:
<?php $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); echo $mots[rand(0,9)];
?>
Mais on peut simplement le faire en Javascript, sans utiliser PHP :
Code:
<p id="motRandom"></p>
<script> var mots = ['Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10']; document.getElementById('motRandom').innerHTML = mots[Math.floor(Math.random() * 10)];
</script>
super mais comment faire pour que le mec ne puisse pas reactualiser la page et si il peut que sa lui donne le meme resultat , j'ai entendue que c'était une affaire de cookie
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
séméron23 à dit:
super mais comment faire pour que le mec ne puisse pas reactualiser la page et si il peut que sa lui donne le meme resultat , j'ai entendue que c'était une affaire de cookie
Ah, dans ce cas ouais c'est du PHP.
J'ai pas testé, mais je pense que ça peut fonctionner :
PHP:
<?php if (! isset($_COOKIE['mot'])) { setcookie('mot', rand(0,9), time() + 31536000); // Assignation du cookie pour un an, équivalent à "time() + 365*24*3600" } $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); echo $mots[$_COOKIE['mot']];
?>
Ou, on peut faire ça, si on préfère :
PHP:
<?php $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); if (! isset($_COOKIE['mot'])) { setcookie('mot', $mots[rand(0,9)], time() + 31536000); // Assignation du cookie pour un an, équivalent à "time() + 365*24*3600" } echo $_COOKIE['mot'];
?>
Les deux ont leurs inconvénients, mais le premier permet de tester plus facilement si l'utilisateur a modifié le cookie, et par exemple faire :
PHP:
<?php if (! isset($_COOKIE['mot']) || $COOKIE['mot'] > 9 || $COOKIE['mot'] < 0) { setcookie('mot', rand(0,9), time() + 31536000); // Assignation du cookie pour un an, équivalent à "time() + 365*24*3600" } $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); echo $mots[$_COOKIE['mot']];
?>
 
Dernière édition:
Nestor

Nestor

Geek suprême
Messages
439
Score réaction
136
Points
150
Taink à dit:
Ah, dans ce cas ouais c'est du PHP.
J'ai pas testé, mais je pense que ça peut fonctionner :
PHP:
<?php if (! isset($_COOKIE['mot'])) { setcookie('mot', rand(0,9), time() + 31536000); // Assignation du cookie pour un an, équivalent à "time() + 365*24*3600" } $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); echo $mots[$_COOKIE['mot']];
?>
Ou, on peut faire ça, si on préfère :
PHP:
<?php $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); if (! isset($_COOKIE['mot'])) { setcookie('mot', $mots[rand(0,9)], time() + 31536000); // Assignation du cookie pour un an, équivalent à "time() + 365*24*3600" } echo $_COOKIE['mot'];
?>
Les deux ont leurs inconvénients, mais le premier permet de tester plus facilement si l'utilisateur a modifié le cookie, et par exemple faire :
PHP:
<?php if (! isset($_COOKIE['mot']) || $COOKIE['mot'] > 9 || $COOKIE['mot'] < 0) { setcookie('mot', rand(0,9), time() + 31536000); // Assignation du cookie pour un an, équivalent à "time() + 365*24*3600" } $mots = array ('Mot1', 'Mot2', 'Mot3', 'Mot4', 'Mot5', 'Mot6', 'Mot7', 'Mot8', 'Mot9', 'Mot10'); echo $mots[$_COOKIE['mot']];
?>
REMOVE COOKIE -> RELOAD LA PAGE -> NOUVEAU NOMBRE
Si tu veux que ça soit stocker à jamais prend une bdd.
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
Nestor à dit:
REMOVE COOKIE -> RELOAD LA PAGE -> NOUVEAU NOMBRE
Si tu veux que ça soit stocker à jamais prend une bdd.
Oui. Mais là on va rentrer dans du sql etc et c'est plus difficile à expliquer que le fonctionnement d'un cookie ou d'une session.
Donc c'est possible à bypass mais stocker un simple message ou mot qui n'est pas "important" (contrairement à un id utilisateur, ou un mdp) dans une bdd c'est inutile, c'est pas sensible comme information.
 
Nestor

Nestor

Geek suprême
Messages
439
Score réaction
136
Points
150
Taink à dit:
Oui. Mais là on va rentrer dans du sql etc et c'est plus difficile à expliquer que le fonctionnement d'un cookie ou d'une session.
Donc c'est possible à bypass mais stocker un simple message ou mot qui n'est pas "important" (contrairement à un id utilisateur, ou un mdp) dans une bdd c'est inutile, c'est pas sensible comme information.
Déjà il faudrait savoir pourquoi il a besoin de faire ça, ça pourrait nous aider.
 
  • Initiateur de la discussion
séméron23

séméron23

Psychopathe
Messages
1 305
Score réaction
310
Points
290
regarde j'ai ce code
HTML:
function setCookie(cname,cvalue,exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + "=" + cvalue + ";" + ";path=/";
}
function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return "";
}
function checkCookie() { var motcourant = getCookie("motaleatoire"); if (motcourant != "") { alert('cookie existe'); document.getElementById('mot').innerHTML = motcourant; } else { alert('cookie à créer'); var mots = ["Isis", "Osiris", "Amon", "Anubis", "Apis", "Bastet", "Horus"]; var alea = Math.floor(Math.random() * 7); var lemot = mots[alea]; alert(lemot); document.getElementById('mot').innerHTML = lemot; setCookie("motaleatoire", lemot, 1); }
}
window.onload = checkCookie();
en javascript , alors comment je fait pour que sa marque toujours le même mot pendant 2 jour pour la personne
 
Discord d'entraide
Rejoignz-nous sur Discord