begin process at 2010 02 10 12:23:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > BLOCK POUR LES PORTAILS NUKED-KLAN

BLOCK POUR LES PORTAILS NUKED-KLAN


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :dynamique, portail, script, sql Niveau :Débutant Date de création :24/02/2006 Date de mise à jour :27/04/2006 10:08:40 Vu / téléchargé :17 241 / 629

Auteur : clenio

Ecrire un message privé
Site perso
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voici la première version d'un block que j'ai réalisé pour les portails de type Nuked-klan.
Le principe est simple, on lit une table dans une base de donnée et on en affiche les informations sous forme de liste.
Le zip contient 3 fichiers:
- block_down.php : code du block à proprement parlé. On y retrouve le code pour afficher le block, mais aussi le minimum pour pouvoir le configurer/positionner dans l'environnement Nuked-Klan.
- admin.php : ce fichier permet de gérer le contenu de la table depuis la page d'administration du portail. Il n'est donc pas nécessaire d'aller dans le SGBD pour rentrer/modifier/supprimer des enregistrements. Ca facilite la vie et c'est très pratique (gain de tps).
- sql bdd.txt : c'est le sql pour créer la table pour le mod.

Les principales notions utilisées pour réaliser ce block sont :
- notions de php/html
- accès à une table en sql (ajout/suppression/MàJ d'enregistrements)
- appel de fonctions javascript toutes faites ("javascript:history.back();")
- architecture d'un code pour un portail Nuked-klan


Etant joueur de WoW, j'ai eu envie que les visiteurs de notre site puissent rapidement voir notre progression dans le jeu. Donc j'ai développer ce  block.
J'ai essayé de bien commenter le code pour que vous puissiez facilement le comprendre.

La version 2.0 de ce block est réalisée et fonctionnelle (merci pour l'aide sur le forum) mais pas encore commentée. Donc je la posterai plus tard.



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

27 février 2006 15:51:05 :
Mise à jour du ZIP avec des fichiers repris. - HTML mis en forme et harmonisé - "Select *" remplacés - eregi() remplacé par strpos()
10 mars 2006 13:40:06 :
Ajout dans le fichier sql de la ligne pour déclarer le block comme un module
10 mars 2006 13:59:13 :
Version 2.0 dispo ici : http://www.javascriptfr.com/codes/BLOCK-POUR-PORTAILS-NUKED-KLAN-V2_36418.aspx
27 avril 2006 10:08:40 :
Remplacement des "SELECT *"

 Sources de la même categorie

CALCUL D'UNE DISTANCE ORTHONORMIQUE par bossfoot
Source avec Zip ESPACE ADMIN SIMPLE par mousaid_88
Source avec Zip IMAGINE-CMS V2.20 par djack69
Source avec Zip AFFICHAGE ET GESTION DE DIAPORAMA EN PHP SANS BASE DE DONNÉE... par mldvb
Source avec Zip Source avec une capture PARSER ALLOCINE par cyrhades

 Sources en rapport avec celle ci

Source avec Zip SCREENMAIL-SOLUTION DE CONTACT POUR WEBMASTERS par bnrj
SEARCH QUERY COMPOSER par Centauriel
Source avec Zip INTERFACE ADMIN par mitchmitch74
Source avec Zip CLASSE SQL par benjycorp
Source avec une capture GÉNÉRER UNE PROGRESSBAR (BARRE DE PROGRESSION) EN FORMAT IMA... par Tioneb

Commentaires et avis

Commentaire de malalam le 24/02/2006 13:41:13 administrateur CS

Hello,

Les petites critiques :

+ if (eregi("blok.php", $_SERVER['PHP_SELF'])) {
        die ("You cannot open this page directly");
    }

=> eregi est inutile pour çà. Il y a tout un tas d'autres moyens moins gourmands. Allez, un pas terrible (il y a mieux ):
if (basename ($_SERVER['PHP_SELF']) === 'block.php') {}

+ Evite les SELECT * :-)
+ le html n'est pas joli du tout du tout (balises en majuscule, attributs dépréciés...) En fait, parfois il est ok, parfois pas du tout...comme si certaines parties avaient été développées il y a très longtemps, et d'autres plus récemment ;-)
+ tu devrais utiliser des boucles php quand tu as des listes déroulantes à rallonge à créer, ce serait plus simple.
+ 'global' est loin d'être indispensable. On aurait préféré un fichier de configuration avec des constantes par exemple. D'autant plus que tu utilises déjà des constantes...pourquoi ne pas avoir sorti tout ça dans un fichier de conf?

Bon enfin, je ne vais pas plus loin dans les détails : ton code est orginal, le screenshot est joli :-) Et il y a pire niveau programmation PHP.
C'est pas mal, donc :-)

Commentaire de kankrelune le 24/02/2006 14:00:07

=> eregi est inutile pour çà. Il y a tout un tas d'autres moyens moins gourmands. Allez, un pas terrible (il y a mieux ):
if (basename ($_SERVER['PHP_SELF']) === 'block.php') {}

if (strpos(__FILE__,'block.php') !== false) die();

Mais bon y a mieux... dans le cadre d'un gros code comme nuke autant tester la présence d'une constante définit dans le corps de nuke...

if (!defined('CONSTANTE_DE_CONF_DE_NUKE')) die();

si elle est là la page est affichée via une page normal si elle n'est pas là c'est que l'on tente d'accéder à la page directement... .. . ;o)

@ tchaOo°

Commentaire de clenio le 27/02/2006 09:09:35

J'ai oublié de préciser que c'est mon premier code php. Donc je vous remercie pour vos commentaires. :)

Pour le if (eregi()){}, si vous pouviez me dire exactement à quoi cela sert, ca serait sympa. Si je l'ai mis, c'est parce que j'ai constaté que tout les blocks pour Nuken Klan commence par cela (donc pour homogénéïser mon code avec les autres sources).

Qu'as tu contre le "select *" malalam ? Il est vrai que j'aurai pu lister tous les champs de la table, mais je trouve cela plus compréhensible. Et si la structure de la table change, ca permet de péréniser le code ;).
Quand au HTML, ouai je sais... je vais d'ailleurs le faire tout beau et changer le ZIP.

Je vais tenir compte de vos remarques avant de poster la version 2.0 de mon code! La nouvelle version intègre une liste déroulante et permet de changer dynamiquement les entrées affichées (ajout de javascript).

Merci encore
Clénio

Commentaire de malalam le 27/02/2006 09:32:16 administrateur CS

Hello,

ton if (eregi ()) parmet de vérifier de façon franchement bourrine si la chaine 'block.php' est présente dans l'url courante.

Les SELECT * ne pérénise pas du tout le code, bien au contraire : tu ne sais jamais ce que tu ramènes, à fortiori si ta base change.
Tu risques de ramener des champs dont tu n'as pas besoin. De plus, tu as de toutes façons besoin du nom des champs, ou de leur ordre dans ta requête si tu utilises un fetch_rows, pour les afficher, ou t'en servir. Si tu ajoutes un champ, cet ordre peut-être modifié, et tu feras des bêtises dans ton fetch... ().
Et c'est beaucoup moins clair quand tu relis le code. Si tu fais SELECT champ_id, champ_nom, champ_code FROM champs... tu sais exactement, dès la 1ère lecture, ce que tu vas chercher dans ta base.
Si tu fais SELECT * FROM champs, tu n'en sais rien, et tu dois aller fouiller dans ta boucle pour tenter de comprendre ce que tu veux récupérer.
Enfin, cela alourdit tout simplement la charge serveur BDD.

Commentaire de clenio le 27/02/2006 11:19:13

Ok
Merci Malalam, je vais modifier le code en conséquence! :)
lol, par contre, pour la v2.0, j'ai bien remplacer le select * par un select et le nom des champs. Je la poste dès que j'ai commenté.

Tant que j'y suis, je prévois un v2.1 qui ajoutera un lien dynamique au texte (lien vers une screen pour montrer le boss mort dans mon cas).

Commentaire de loxyey le 07/03/2006 01:56:42

Voila bai moi ton ma était utile donc je voulais te demander si tu voudrai pas le partager sur le site http://mods.nuked-klan.org car il pourait en aider plus d'un.

voila.

merci

Commentaire de clenio le 07/03/2006 08:41:44

j'y pensais mais je manque de tps (mes journées devraient faire 48 voir 96 heures des fois ... ;) ).
Entre l'électronique, la prog, le montage vidéo ET le boulot (mdr), je manque un peu de tps pour tout faire. Mais je vais essayer de trouver le tps.

bye Loxyey

Commentaire de clenio le 07/03/2006 09:05:25

Je mets la version 2.0 en ligne!
Loxyey, je te conseille d'aller la voir, ca pourra surement te donner des idées :).
++

Commentaire de clenio le 07/03/2006 09:17:05

lien direct vers la v2.0 :

http://www.phpcs.com/code.aspx?ID=36418

Commentaire de acidtek le 21/04/2006 12:38:33

euh au lieu de dire que si et là ne va pas en masse ... pkoi ne faites vous pas les modifications pour en proposer une version dite à jour ^^

Commentaire de kankrelune le 22/04/2006 17:47:44

D'une part parce que c'est le script de Clenio et d'autre part parce que si on commençait à mettre à jour tous les scripts auxquels on voit des corrections à apporter on y passerait nos journées... qui plus est je n'utilise pas ce CMS je ne vais donc pas l'installer juste pour corriger un script qui, d'ailleurs, tourne en l'état il me semble... mais libre à toi de mettre le script en question à jour si ça te chante... .. .

@ tchaOo°

Commentaire de clenio le 27/04/2006 10:11:52

Si il reste des choses à modifier/reprendre, merci de me le dire.
Le HTML sera uniformisé avec la version 2.0 (et 2.1) quand la 2.1 sera fini (j'ai eu un mois chargé donc je n'ai pu y consacrer du tps avant).

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Erreur dans un script [ par philagui ] Bonjour,est-ce que quelqu'un pourrait me dire où est l'erreur dans ce script:$sql_query="SELECT Titre FROM Tableaux WHERE LIMIT 0,2";//Début de la que aide urgente sur PHP et SQL [ par astro58 ] bonjour,je débute en php et sql, j'ai déja un site programmé ainsi mais une personne m'a aidé, j'ai copié son script et l'ai modifié avec son aide mai Requêtes SQL [ par Nightm4re ] Tout d'abord, bonjour à tous...Je suis en train de travailler à un script PHP et j'ai besooin d'un petit renseignement que je n'arrive pas à trouver p Erreur SQL resource #5 ??? dans une requete [ par doyen ] Donc voila mon script EXTRACT.PHP ( il sert à récuperer des elements dans une base Mysql ( installée par EASYPHP )<?php include("para_car.php"); // Pb sql avec simple incrémentation [ par sbool ] Bonsoir tout le monde;Je bloque depuis environ une heure sur mon script alors je viens vous solliciter un peu d'aide.(ps. j'ai déjà farfouillé dans le Précisions sur mysqldump [ par dorian53 ] Bonjour, Pour importer une bdd il faut indiquer la base 'maBase', mais voila mon script créer la base donc elle n'existe pas encore. Une erre Input dynamique sql [ par Alpha911 ] Bonjour,Je cherche un moyen pour faire comme ce site un moteur de recherche (1input) qui va check la base de donnée au fur et à mesure des mots que l' POST['sql'] : comment faire pour transmettre une requete [ par billmax ] Bonjour,j ai deux pages : executer_requete.php et traitexecuter_requete.phpsur la premiere page, je met une requete presente dans la base dans unecho Bonjour [ par r3frag ] Bonjour a tousOu pourrai je trouver ( ou quelqu'un a t il ce script ) un script en PHP de compte a rebours sur une periode de 24 H ? puis remise a zer Affichagebouton dans tableau [ par flopad ] Bonjour tout le monde!!Je crée un tableau en récupérant les infos ds une bdd.Je voudrais afficher en bout de chaque ligne un bouton qui permet de télé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales