GESTIONNAIRE D'ELEVES OU CARNET D'ADRESSE AVEC EXPORT XLS

cs_portfolio Messages postés 5 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 16 avril 2011 - 3 avril 2011 à 17:13
begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 - 24 avril 2011 à 15:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53031-gestionnaire-d-eleves-ou-carnet-d-adresse-avec-export-xls

begueradj Messages postés 273 Date d'inscription dimanche 4 octobre 2009 Statut Membre Dernière intervention 24 juin 2014 9
24 avril 2011 à 15:42
j'aime les critiques et les critiqueurs spécialistes du criticage des non critiqués
marocbaladeuse Messages postés 10 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 13 avril 2011
18 avril 2011 à 13:35
Deja c'est un site d'apprentissage
marocbaladeuse Messages postés 10 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 13 avril 2011
18 avril 2011 à 13:34
oui effectivement mais il faut tjrs eviter des mots comme "mechant" "Null"
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
16 avril 2011 à 17:33
lol... Parcequ'il aurait peut-être fallu que je te remercie pour l'effort d'avoir publié une source copiée intégralement sur un de tes collègue de l'ESTS (http://www.phpcs.com/codes/GESTION-CLIENT-ESTS_52671.aspx)?

Et puis merci pourquoi? Je pense que l'auteur de cette source n'est pas venu ici pour avoir des remerciements. Il est venu pour publier un code pour qu'il soit évalué. Donc je donne mon point de vue. Il n'est pas terminé, et d'une conception trop anciènne : la gestion d'une fiche est faite à travers 4 fichiers qui devront être modifiés à chaque changement de la page formulaire

Perso je préfère la solution qui consiste à faire un script unique et multitache qui sait récolter les inputs d'un formulaire sans qu'il ne lui soit préciser au paravant quels en était les types ni si ces valeur sont obligatoires ou pas.

Si tu fait un formulaire, tu peux imaginer quelquechose de la sorte:

------------------------------------------
------------------------------------------
<?php
$id_utilisateurs = require_param($_POST['id_utilisateur'],TYPE_NUM,'Les paramètres d\'appels ne sont pas au bon format','admin.php');
$action = require_param($_POST['action'],TYPE_ALPHA,'Les paramètres d\'appels ne sont pas au bon format','admin.php');
$action = $action;
$utilisateurs = new utilisateurs();
$utilisateurs->fill_object($id_utilisateurs);
if($utilisateurs->nb_rows != 1)
{
redirect_java('admin.php');
exit;
}
?>
<form name="utilisateurs_form">
">

utilisateurs_name))?$utilisateurs->utilisateurs_name:''); ?>">
utilisateurs_car_brand))?$utilisateurs->utilisateurs_car_brand:''); ?>">
</form>
-------------------------------------
-------------------------------------

De cette manière, avec un petit traitement java, on passe en revue tous les inputs du fromulaire, on les compulses avant de les envoyer vers le script de control avec un appel Ajax. Ce qui fait que le script de control sait s'il doit faire une création, mise à jour, suppression et ce, sur quel objet, et en sachant quelle valeur est obligatoire ou pas.

Donc, non je ne vais pas remercier juste pour faire plaisir. S'il veux de la pommade, il descend à la pharmacie et s'achète un tube de synthol en gel.
marocbaladeuse Messages postés 10 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 13 avril 2011
16 avril 2011 à 16:53
Monsieur masternico est ce que tu peux arreter d'embeter les gens comme ca,il faut au moin les remercier pour leurs efforts,je crois que c'est la moindre des choses
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
13 avril 2011 à 18:20
Ok je vais poster un update de ce mini script bientôt
j'ai rien contre les marseillais ...(-;
les critiques sont toujours utiles
une pagination + une securisation (pas de addslashes ou stripslashes)
une petite fonction avec mysql_real_escape_string() et htmlentites() ...
dans l'absolu tu as raison PDO c'est la portabilité
à vrai dire un driver pour beaucoup de bases de données ...

je veux garder l'approche simpliste
avec le connecteur historique pour l'instant

a++
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
13 avril 2011 à 17:39
lol
J'aime bien exagérer. Et pourtant, je ne suis pas de Marseille: Php 6 est sur le point de voir le jour.

Pour ce qui est de l'échappement, c'est stripslashes pas addslashes que tu utilises. je me suis trompé mais dans l'idée, c'est la même chose : se sont des fonctions php qui ne savent pas exactement quels sont sont caractères à échapper pour ne pas gêner MYSQL.

L'avantage d'utiliser des objets et de l'abstration, c'est que si tu pars sur ce squelette et qu'un jour tu dois changer de moteur, tu l'as dans l'os et tu dois changer tout tes accès BDD directment dans les scripts. Qui dit temps dit argent, CQFD

Avec les objets, tu as l'avantage de pouvoir l'utiliser et le modifier comme tu veux sans avoir à changer le script qui l'apelle. Même pour un si petit script, c'est bien d'y penser dès le début. J'ai un cousin qui bosse dans une grosse boite de dévellopement et quand il doit corriger un script non orienté objet, c'est la mort.

Pour mes accès BDD, j'utile un objet que j'ai crée il y a longtemps et qui est portable d'un projet à l'autre. Ce qui fait que lorsque je fais une mise à jour de l'objet, tous les projets en profitent sans avoir a modifier le code.
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
13 avril 2011 à 15:29
bonjour

je precise

Embryon oui !
Create Read Update Delete donc un CRUD
@masternico php3 ? (procédural tu veux dire)
Le code dans les class -> methodes -> code ... est procedural
Tu utilises addslashes ? OU ?
il y a aucun controle dans ce script v1 hormis le forçage à integer du $_GET
comme tu le dis c'est pas un script pour la postérité
PDO ? POURQUOI METTRE DE L'ABSTRACTION DANS TOUT ET COMPLIQUER UN SCRIPT AUSSI BASIQUE
90 % des scripts utilises mysql
Par contre je vais mettre mysql_real_escape_string ... v2
pourtant c'est ecrit pas sécurisé dans la présentation v1

PHP6 le developpement de php est arrété à 5.3
http://www.programmez.com/actualites.php?id_actu=7095
PHP 5.3.6 - 17 March 2011


a++
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
13 avril 2011 à 14:30
Le truc, c'est que le code proposé n'est pas un CRUD. Au mieux, il a été généré par cette méthode, mais c'est tout.
L'auteur d'ailleur précise bien dans son titre que c'est un gestionnaire de contact pas un CRUD.
Pour ma part, je trouve que ce n'est qu'un embryon de console d'administration qui a beaucoup de chemin a faire avant d'être intéressant.
-Il manque (comme l'a précisé l'auteur) les contrôles d'usages pour éviter les injections de paramètres.
-Il n'y a pas de gestion objet
-Les ncopmmandes Mysql sont en directe dans le code et non pas externalisée dans un contrôleur externe permetant d'intégrer plus tard la portabilité du moteur de base de données.

J'en passe car c'est surtout pour dire que si c'est pour mettre un truc innachevé et espérer la postérité, ce n'est pas la peine : des gestionnaires de contacts, il y en a à la pelle sur ce forum et sur les autres.

Démarche pédagogique, pourquoi pas, mais encore faut-il que celà fasse avancer les choses et non pas les faire reculer.

J'entend par là que le php3 c'est du passé et que depuis, on en est à la version 6. Donc merci de se documenter sur les nouveaux jeux de commandes php avant de se lancer dans le codage d'un script. Pour les débutant, il existe la biblio PDO qui permet nativement de gérer des appels à la base de données en permettant une abstraction du moteur.

Pour les plus chevronnés, il existe la possibilité de coder soit même une bibliothèque d'accès à MYSQL.

Enfin, cod57, merci pour le petit coup de pub pour ton CRUD, il y a des choses à revoir dans le script généré. En particulier, l'échapement des variables avant envois vers MYSQL. Tu utilises addslashes alors qu'il est recommendé d'utiliser les instruction mysql pour celà (mysql_real_escape_string($unescape_string)) car échappement des caractères peut varier d'une version à l'autre et de ce fait, seul MYSQL sait comment échapper les caractères qui doivent lui être injecter
cs_armenak Messages postés 58 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 25 octobre 2010
13 avril 2011 à 10:24
Eh les gars du calme! Je ne suis pas un pro loin de là, mais je sais reconnaître quand même si un code est un peu mieux que ce que fait Dreamweaver ou Joomla en trois clics. Si ce site se fait envahir par des gestions simplistes de formulaire, et qu'on ne réagit pas au moins avec un peu d'humour, c'est la fin de phpc. C'est sympathique de débuter, mais il faut quand même avoir le sens des valeurs. Ok c'est pas echo hello world, mais pas beaucoup plus. Et puis je me rappelle d'une époque où la critique était beaucoup plus sévère ici. Je regrette cette époque, même si personnellement j'en ai reçu plein la g..., ça m'a fait progresser. Ben du coup, on pourrait donner une note excellente à ce code, pas grand chose à en dire, puisqu'il fonctionne.
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
11 avril 2011 à 20:40
bonjour

@armenak
C'est pas echo 'hello world';
Si tu trouves ça si basique tu devrais venir sur le forum on a besoin de dépanneur !
Je pense que beaucoup de gens sont des debutants et le but de ce CRUD est pédagigique
et en aucune façon une recherche esthétique ou autre jubilation suffisante.
Pour ceux qui cherche un generateur de CRUD et pas des remarques sans intérêts pedagogiques.
http://www.phpscaffold.com/

a++
masternico Messages postés 487 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 1 septembre 2011
11 avril 2011 à 15:45
lol...
oooooh!!! c'est méchant ça ;)
cs_armenak Messages postés 58 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 25 octobre 2010
11 avril 2011 à 11:27
Je ne sais pas si ce code a sa place ici... La classification débutant-débutant n'est pas prévue par le système.
cs_portfolio Messages postés 5 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 16 avril 2011
3 avril 2011 à 17:13
Bonjour
J'ai envie de passer du php4 au 5:
un beau "petit" modèle pour m'aider à adapter mes codes
Salutations
Rejoignez-nous