Bonjour,
Je suis en train de développer un petit script d'aide au scrabble, ce script se présente sous la forme d'un petit formulaire dans lequel on défini le nombre de lettres que doit comporter le mot que l'on choisi, l'ensemble des lettres possibles et les lettres sont on veut pas, ce formulaire se base sur un dictionnaire de mots et une fois qu'on a tout rempli, ça nous donne une liste.
Voici la page sur laquelle le formulaire est en fonctionnement mais qui ne fonctionne pas :
https://thierrychabenat.fr/scrabble/formulaire.html
Le
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <title>Formulaire de recherche de mots</title> </head> <body> <form id="monFormulaire" action="recherche.php" method="post" enctype="multipart/form-data"> <label for="nombre">Nombre de lettres</label> <input type="number" id="nombre" name="nombre" min="1"> <label for="possibles">Lettres possibles</label> <input type="text" id="possibles" name="possibles" value="abcdefghijklmnopqrstuvwxyz"> <label for="impossibles">Lettres impossibles</label> <input type="text" id="impossibles" name="impossibles"> <input type="file" id="fichier" name="fichier"> <input type="submit" value="Rechercher"> </form> <div id="resultats"></div> </body> </html>
Le
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $nombre = $_POST["nombre"]; $possibles = strtolower($_POST["possibles"]); $impossibles = strtolower($_POST["impossibles"]); $mots = []; if (isset($_FILES["fichier"]) && $_FILES["fichier"]["error"] == 0) { $fichier = $_FILES["fichier"]["tmp_name"]; $destination = "/path/to/destination"; move_uploaded_file($fichier, $destination); $fichier = "../scrabble/dictionnaire.txt"; $contenu = file_get_contents($fichier); $lignes = explode("\n", $contenu); foreach ($lignes as $ligne) { $mot = trim($ligne); if (mb_strlen($mot) == $nombre && !preg_match("/[zZ]/", $mot) && preg_match("/^[$possibles]*$/u", $mot)) { $mots[] = $mot; } } if (!empty($mots)) { echo "Résultats :<br>"; foreach ($mots as $mot) { echo "$mot<br>"; } } else { echo "Aucun mot correspondant aux critères trouvés."; } } else { echo "Veuillez sélectionner un fichier."; } } ?>
Comme vous pouvez le constater, ça ne fonctionne pas et j'ai beau m'arracher les cheveux, je ne comprends pas pourquoi, auriez-vous une idée sur la question ?
Merci d'avance pour votre aide.
Partager