changer le générateur aléatoire php en un generateur qui delete autmatiquement les mots deja générés

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : changer le générateur aléatoire php en un generateur qui delete autmatiquement les mots deja générés

Re: changer le générateur aléatoire php en un generateur qui delete autmatiquement les mots deja générés

par Ryle » 31 mai 2021, 14:29

Salutations !

Tout dépend de ton contexte et de ce que tu veux faire. PHP ne propose pas nativement de fonction de tirage aléatoire sans remise, il te faut la développer. Le principe est néanmoins simple : à chaque fois que tu détermine un élément au hasard, il faut le retirer du pool (et enregistrer le nouveau pool pour pouvoir utiliser celui-ci pour le prochain tirage).

Quant à l'utilisation de session, de cookie, de base de données... pour l'enregistrer, et bien tout va dépendre de ton contexte... est-ce le même utilisateur qui tire plusieurs fois ? est-ce plusieurs utilisateurs distincts qui tirent à tour de rôle ? est-ce que l'utilisateur fait tout ses tirages à la suite ou un tirage par jour ? ...

Sans info sur le contexte c'est difficile d'apporter une réponse plus précise. Le fait est que quelle que soit la solution, c'est à toi de retirer l'élément déjà généré.

Autre solution - là encore selon le contexte - tu ne changes jamais le pool, mais tu refais le tirage tant que le tirage retourne une valeur déjà sortie, mais c'est clairement la solution la moins optimisée.

Re: changer le générateur aléatoire php en un generateur qui delete autmatiquement les mots deja générés

par zokario » 27 mai 2021, 22:16

la j'ai ça et je sais pas si c'est bon (on m'a aidé)
<?php
session_start()

if(!isset($_SESSION['word'])){
$array = ['word1', 'word2'];
$word = (**) array
$_SESSION['word'] = $word;
}

?>

<html>
<p><?php echo <?php $_SESSION['word'] ?></p>

**je mets quoi ici ?

Re: changer le générateur aléatoire php en un generateur qui delete autmatiquement les mots deja générés

par or 1 » 27 mai 2021, 22:04

mettre la valeur générée en session https://www.php.net/manual/fr/session.e ... .basic.php
et enlever les valeurs présentes en session avec https://stackoverflow.com/questions/369 ... ray-in-php

changer le générateur aléatoire php en un generateur qui delete autmatiquement les mots deja générés

par zokario » 27 mai 2021, 21:59

bonjour/bonsoir, je voudrais changer le générateur aléatoire php (mots = ['salut', 'bonjour', ...) et au lieu que le mot généré puisse se regeneré lorsque on rafraichit je voudrais que le mot qui a ete généré qu'on ne puisse plus le generer merci de m'enmener vers la voie j'espere avoir ete clair merci d'avance