Redondance de questions toujours identiques dans les forums... ce petit exemple répondra je l'espère définitivement à la plupart d'entre elles (on peut toujours rêver :)
A noter, la gestion des variables associées aux méthodes GET et POST, l'identification par variable de session, la connexion conditionnelle (en local ou sur site), les principales requêtes INSERT, UPDATE, DELETE, OPTIMIZE, SELECT, DISTINCT, LIKE, ORDER, RAND, LIMIT, la vérification de validité d'un formulaire en JavaScript, l'affichage dans un textarea, la transmission de paramètres entre JavaScript et PHP, etc... A vous de piocher un peu maintenant :)
Si vous ne trouvez pas le mot de passe de la Démo... laissez tomber, ce script n'est pas pour vous :)
lexique.php
<? // Exemple de Lexique
// SI REGISTER_GLOBALS EST À OFF // sinon dans .htaccess >> php_flag register_globals on
$lettre = $_GET["lettre"]; // ou $HTTP_GET_VARS["lettre"] $url = "lexique.php?lettre=".$lettre; $del = $_GET["del"]; // ou $HTTP_GET_VARS["del"] $edit = $_GET["edit"]; // ou $HTTP_GET_VARS["edit"] $act = $_GET["act"]; // ou $HTTP_GET_VARS["act"] $title = trim($_POST["title"]); // ou $HTTP_POST_VARS["title"] $content = trim($_POST["content"]); // ou $HTTP_POST_VARS["content"]
// IDENTIFICATION par session pour PHP4 sinon utiliser un cookie
for($i=65;$i<91;$i++) { if($lettre==chr($i)) // Lettre sélectionnée echo "<font class=lettre2> ".chr($i)." </font>"; elseif(!strpos($temp,chr($i))) // Lettre sans définition echo "<font class=lettre3> ".chr($i)." </font>"; else // Lien echo "<A class=lettre href='lexique.php?lettre=".chr($i)."'> ".chr($i)." </A>"; } ?> </td></tr> <? if($lettre) // Sélectionne les définitions correspondant à la lettre $SQL = "SELECT * FROM $table WHERE title LIKE '".$lettre."%' ORDER BY title"; else // ou tirage aléatoire sur la page d'accueil $SQL = "SELECT * FROM $table ORDER BY RAND() LIMIT 0,5";
// AFFICHE LES DÉFINITIONS
$res = mysql_query($SQL); while($val=mysql_fetch_array($res)) { echo "<tr><td>"; if($isAdmin) { // Liens d'édition pour l'admin echo "<A href='javascript:del(".$val["ID"].")'>del</A> "; echo "<A href='".$url."&edit=".$val["ID"]."#edit'>edit</A> "; } echo "<b>".$val["title"]."</b><br>" . "<div align=justify>".$val["content"]."<br></div>" . "</td></tr>"; } ?> </table> <br> <? function tarea($txt) { // Caractères spéciaux dans le textarea return str_replace("<","<",str_replace("&","&",$txt)); }
# # Base de données: `tests` # Structure de la table `lexique` #
CREATE TABLE lexique ( ID tinyint(4) NOT NULL auto_increment, title varchar(20) NOT NULL default '', content longtext NOT NULL, KEY ID (ID) ) TYPE=MyISAM;