Devenir membre club
Connectez vous
Aide & règlement
Votre 1ère visite
Le règlement
Contacter les admins
Contacter le webmaster
Questions & réponses
Comment soutenir CodeS-SourceS
Comment faire un lien vers CodeS-SourceS
Autres questions
A propos & don
A propos du réseau
Les modérateurs
Remerciements
Faire un don
Le livre d'or
Tous les livres
Les dernières parutions
Les plus consultés
Les critiques
Le top des ventes
Le top favoris des membres
Recevoir des livres blancs
Tous les thèmes
Les derniers messages
Les nouveaux messages
Poser une question
Le Chat - IRC
Tous les tutoriels
Ajouter un tutoriel
Les tutoriels en vidéo
Les formations vidéos
Tous les codes
Ajouter un code
Filtrer par catégorie
Filtrer par date
Les plus récents
Les mis à jour
Les codes par jour
Filtrer par niveau
Niveau débutant
Niveau initié
Niveau expert
Filtrer par type
Les codes avec capture
Les codes avec zip
Les codes .Net
Filtrer par qualité
Les plus populaires
Les plus populaires du mois
Les plus téléchargés
Les mieux notés
Top par catégorie
Top des favoris
Filtrer par auteur
Tous les auteurs
Le top des membres
Les snippets
Déposer votre CV
Consulter les offres d'emploi ou de stage
Consulter les CVs
Déposer une offre d'emploi ou de stage
Modèles de CV et lettres
Trouver une convention collective
Les écoles d'informatique
Toutes les écoles
Ajouter une école
Les outils
Outils pour développeurs
Trouver des ressources
Base de données de CodeS-SourceS
Télécharger les meilleurs logiciels
Comparer les prix
Envoyer des ecards
Création de bannières
Annuaire de la prog
Tous les sites
Ajouter votre site
Le dico de la prog
Toutes les définitions
Ajouter une définition
Les évènements
Tous les évènements
Les évènements à venir
Ajouter un évènement
Téléchargements
CodeS-SourceS Toolbox
CodeS-SourceS Toolbar
Toolbar pour FireFox
Fonds d'écran
Les compil's
Nos partenaires
Magazine Programmez
Frontier.fr
Xiti
ProgOnline
Winwise
Editions Eyrolles
Toute la liste
Les RFC
CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Windev
Ce site au démarrage
begin process at 2012 02 12 09:21:44
Accueil
Codes
Tutoriels
Forum
Livres
Emploi
Services
Connexion
Trouver un code source :
dans
Tout le site
Codes
Tutoriels
Forum
Blogs
Livres
RFC
Icones
News .NET
Boutique
[ Dernières recherches ]
Veuillez saisir votre recherche... Ex: smtp, lire un fichier, rs232
Options de recherche :
Tous les codes
Tous les codes en .Net
Tous les codes sauf .Net
Langages disponibles :
Tous les langages
ASP / ASP.NET
Assembleur
C / C++ / C++.NET
C# / C#.NET
ColdFusion
Delphi
Flash
Flex, Air, ActionScript
Foxpro
Graphisme
IRC
JAVA / J2EE
Javascript / Ajax / DHTML
PDA / PocketPC
PHP
Python
Regex, Regular Expression, Expression régulière
SQL
Visual Basic, VB6, VB.NET, VB 2005, VB
15 commentaire(s) de Tartuffe
sur des sources sur tout
CodeS-SourceS
Déposé sur
Vérifier les champs obligatoires d'un formulaire
... c'est bien ce que je disais ^^
Ne cherche pas à savoir s'il est rempli ou non, cherche tout de suite à savoir s'il contient les valeurs attendues, ca t'évitera les pbs comme ca : "je teste si la var est empty puis si elle est différente de zéro car zéro".
Après plus de souci. Et pour "Ca évite de se retaper les if(empty()) de chaque champs...", rien ne t'empêche de faire un fonction de test, avec les param Min et Max, et hop !
Posté le :
18/02/2008 13:50:06
Déposé sur
Vérifier les champs obligatoires d'un formulaire
LE problème de vérification des formulaires, c'est qu'il ne peut pas être automatisé avec seulement un test ISSET, car rapidement il est SET (d'autant si tu testes les valeurs retour et que tu ré-affiches dans les champs les valeurs envoyées, même les fausses avec un message d'erreur à l'utilisateur...).
Le test doit être fait sur la valeur, qui elle est 'unique' pour chaque champ puisqu'elle doit être ET significative ET stockable (en BdD)...
C'est donc un ISSET + TESTS aux limites (a minima sur TRIM($_post['monchamp']) pour éviter les malins qui mettent des espaces...) qui eux restent propriétaire de l'application.
Explication par l'exemple :
- les enfants de malalan, c'est >-1 et <10 (de 0 à 9) (et 9 c'est vraiment beaucoup, mais aux limites, ca existe...)
- un titre, c'est inférieur au MAX de bdD, mais pour être significatif tu peux vouloir lui imposer un mini, donc c'est >5 et inférieur à 126 (max BdD =125)
- un choix de liste déroulant (0= sélectionnez), c'est >0 et <(X+1) (le dernier choix !).
- un texte libre (area) comme le titre, mais avec un signifiant plus important (>10...)
Bref, les vérif de formulaire ca me fait rire, car c'est forcément un truc perso qui colle à l'appli, donc aux spécif, donc au 'métier' pour laquelle (et lesquels) elle a (et ils ont) été réalisé.
CE N'EST PAS GENERALISABLE !
Maintenant tu peux appliquer 2 politiques :
- l'exploitant / chercheur : mieux vaut ne rien avoir en bdd qu'une info non-exploitable !
- commerciale : on prends tout et les exploitants se démerderont...
Les tests et les variables obligatoires pour enregistrement seront fait en conséquence, bref, selon l'appli, les spéc, la demande, le métier, la demande initiale qui fait que tu réalises un formulaire , koi ^^
Posté le :
18/02/2008 09:40:09
Déposé sur
Ecriture de fichiers csv (excel) [ object ]
J'ai mis en ligne le source, et l'explication d'usage de Julian75 (en virant les "$mesdonnees" pour utiliser mon array, et l'erreur devient :
Missing argument 1 for MakeCsv::MakeCsv(), called in /../fichier.php on line 63 and defined in /../fonction/export.class.php on line 41
Fatal error: Can't open monfichier.csv in /../fonction/export.class.php on line 51
D'où 2 questions liées ?
- l'argument manquant c'est le fichier ?
- pourquoi le fichier ne s'ouvre pas? Question de droit + répertoire ? Il faut le créer au préalable ? (beurk j'aime pas la gestion de 'file')
Posté le :
30/10/2007 15:30:21
Déposé sur
Formulaire : 4 en 1
Sinon...
"Ah si, on a la liberté d'utiliser des attributs html dépréciés depuis belle lurette, ..."
Je code si vieux que ca ?
"... et un javascript particulièrement invasif"
J'insite, mais vu que ce code est adaptable, on peut virer l'intrus sans souci, non ?
Posté le :
20/10/2007 01:33:08
Déposé sur
Formulaire : 4 en 1
Peut-être me suis mal expliqué...
- Mon source propose en effet seulement 3 fonctions (les plus courantes d'utilisation ; radio button, textarea et text) qui permettent via les paramètres de se créer comme je leur demande avec un JS d'aide sur onmouseover dans mon cas (addslashe, étant pour le passage des " ' " via php qui fusil l'affichage dans le JS (j'aime pas JS) ; dans le doute je le rajoute (ce qui est utile si le message d'aide vient d'une BdD)).
- Le php NE GENERE PAS de TD (sauf si on choisi ce format d'affichage pour les RB). Par contre, j'ai choisi dans mon HTML de mettre mon formulaire en TD...
- Le code ne génère pas de formulaire, en effet.
Par contre l'architecture exposée permet de générer 4 formats de formulaire (en fait 3 formats : vierge, contrôle des saisies, modification, et la page de fiche d'iinfo issu du formulaire.
- en effet c'est PHP + MySQL, donc a adapter avec d'autre BdD....
- IF, ELSEIF, ELSE...
Je suis sur d'une chose et seulement de celle-là, c'est ce que je dois recevoir. Je ne peux rein contrôler d'autre. Donc, afin d'éviter les plantages ou les affichages abscons en recevant autre chose, je teste effectivement les IF et ELSIF des possibles, et met un ELSE pour tous les autres cas.
Je suis donc certain de n'afficher mes infos UNIQUEMENT pour les valeurs attendues des variables contrôlées par ce type de boucle. Bref si un malin s'amuse à me balancer une valeur 'idiote (45 par exemple), il sera traité par le ELSE... Et y'en a des malins ^^
- Comme je disais, je ne donne RIEN concernant les contrôles des données vers la BdD, ni concernant le création de la requête, cela pour ne pas être trop restrictif... Et on me traite de laxiste du coup ^^
Et en effet, si on utilise autre chose que MySQL, on refait ces requêtes (et gare aux stripslashes), CQFD !
Bref, j'ai fais un code ouvert au possible en virant les trucs PROPRIETAIRE de BdD sauf les stripslashes (les addslashes gèrent du PHP HTML JS dans ce cas).
J'ai donné un exemple en découpant 1 à 1 les points principales de construction de la page :
- Contrôle des valeurs GET ou POST d'une autre page ou de la même.
- Gestion du <form></form> et des Boutons d'envoie du formulaire
- exemple d'utilisation de chacune des fonctions (dans un formulaire mis en TABLEAU, et alors, si j'aime ca ?)
Je fournis SEULEMENT une architecture des possibles d'utilisation afin qu'à un formualire soit lié 1 et 1 seule page qui gère de plus le format d'affichage différent selon qu'on attende 1 page formulaire ou une page fiche-de-formulaire.
Bref un truc SIMPLE, pas PERILLEUX pour 2 sous, ADAPTABLE, parce que son concepteur à imaginé un truc ultra basique...
Et on me pouille sur des TABLE et des TD !
Sur le fait que je sois telle ou telle BdD...
Soit je n'ais pas compris le concept du réutilsable dans le LIBRE, car adaptable facilement,
Soit PHPCS attend des bouts de codes complets mais restrcitifs car attachés à une problématique fonctionnelement précise et particulièrement individuelle, donc inexploitable par un tiers,
Soit vous n'étiez pas réveillé en lisant ce code,
soit il est trop complexe pour le commun des mortels et je suis un génie (Yes !!!!!!!!)..
Bref, je me trouve bien marie de vouloir aider en publiant du code qui ne vaut pas tripettes, certes, mais dons l'utilisation vaut son pesant d'or (m'est avis que...)
Faudra m'expliquer quelque trucs là...
Tartuffe plus endormi, quoique...
Posté le :
20/10/2007 01:24:54
Déposé sur
Formulaire : 4 en 1
Teclis,
1/ si t'as pas compris, je ne peux pas t'aider.
2/ c'est pas 1 minute par champs, c'est 452,41 minutes !
3/ si tu ne veux pas de tableau, tu n'en fais pas. Le PHP ne génère aucun tableau.
4/ 1 formulaire c'est simple ; 4 versions d'un même formulaire sur le même page, c'est plus compliqué.
Posté le :
19/10/2007 13:47:32
Déposé sur
Upload / ajout / suppression de fichier sur votre site
J'en doute fort ! Des preuves ?
Non, rien que des on-dits qu'on m'a toujours dit...
Et répetés !
Et re-re-dit..
Alors, je crois, puis j'applique !
Posté le :
23/12/2006 17:00:59
Déposé sur
Upload / ajout / suppression de fichier sur votre site
Les vacances sont courtes ^^
Donc j'ai ajouté un test avec les minetype.. MAIS :
1- pour m'abstraire des paramètres de l'hébergeur et de la mise à jour de son fichier de gestion des Minetype, rien de 'magic', mais un array des Minetype possibles.
2- cela doit certainement dépendre du navigateur, mais il y a une différence entre 'appli/msword' et 'appli/vnd.ms-word', donc on double les Minetype possibles.
3- en transformant un ".exe" en ".xls", je suis passé sans problème. Donc la sécurité dû au Minetype pour éviter les fichiers truqués, je n'en suis pas convaincu.
4- les fichier '.TXT' apparaissent en 'appli/download', donc plus de '.TXT' autorisé en upload...
Comment faire plus de sécurité ?
De la sécurité Utile ?
Je suis tout ouie !
Posté le :
23/12/2006 15:49:27
Déposé sur
Upload / ajout / suppression de fichier sur votre site
- le seul test qui se rapproche d'un "isset" est la : if (is_uploaded_file($pnomtmp)... Cependant il est aussi là strlen($_FILES['p_coll_draft']['name'])>4.
En fait peut m'importe qu'il soit isset ou non. Car travailler avec un nom de fichier comme "2.k" ne m'intéresse pas. Par contre travailler avec un fichier dont le nom possède un longueur minimal (5) me semble important.
La logique en la matière est :
1/ ais-je un nom de plus de 4 caractères de long
2/ est-il monté en mémoire un un nom de longueur 'correct'
3/ sa taille
4/ son extension
5/ son stockage
En fait je préfère effectuer les tests les 1 après les autres en avançant un peu à chaque étape, plutot que de faire un gros test unique. Cela me permet de dissocier les messages d'erreur pour les utilisateurs.
Par contre, quel est l'impact en terme de perf de ce choix d'algo ? Ca, je n'en sais rien !
- $il_existe_deja_un_fichier_en_bdd_pour_l_utilisateur : cette variable à un nom à coucher dehors avec un billet de logement, pour que tous les quidam comprennent de koi il s'agit. Ma vrai variable est ($old_plak) ^^
- en php, et uniquement en php, $testoki=$testoki+1 est plus rapide que $testoki++ (est-ce encore valable en php 5 ?)
- Cette fonction est décpréciée depuis PHP 4.0.6. N'utilisez pas cette fonction. Utilisez mysql_select_db() et mysql_query() à la place. : je fais du copier/coller depuis php 4.0.6 ^^ Je me mets à jour. Merci ^^
- Minetype et fichier 'trucké"... Effectivement, je me posais la question du moyen de vérification du type réel. Je m'en vais donc voir ce qui ressort de l'usage de "mime_content_type ( string filename )" lors du truckage d'extension...
Et je mettrais à jour (après les vacances...)
- pour le debug... En effet d'accord. Mais à l'usage je code sans debug, et lorsque ca ne fonctionne pas, je positionne les debug un à un. Lorsque ca fonctionne je les '//' tous [: -))....
Merci des commentaires
Posté le :
23/12/2006 13:53:24
Déposé sur
Upload / ajout / suppression de fichier sur votre site
...pour la déesse du code...
- Pas beaucoup d'HTML dans ce code...
- Type de fichier, 2 solutions, j'en ai pris une, je l'assume...
- Array, je peux difficillement le faire plus simple
Bref, ce qui est grave c'est la critique gratuite et auto-justifiée par des phrases qui laissent penser qu'on est un expert qui ne se donne même pas la peine d'expliquer tellement l'autre est nul de n'avoir pas compris des choses si simple...
Que dire ? Et bien dit le !
Au moins tous le monde profitera de ton expertise qui améliorera le code.
Posté le :
23/12/2006 09:54:44
1
2
Nos sponsors
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS
par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article
par Groc
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES
par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article
par gpommier
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.
par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article
par Patrick Guimonet
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3
par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !
MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !
par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article
par Vko
La suite
RSS
Côté IT
Utiliser Office 365 pour un projet d?équipe - PART 2
Utiliser Office 365 pour un projet d?équipe - PART 1
SharePoint 2007 : Installation du Service Pack 3 de MOSS
SharePoint 2007 : Installation du Service Pack 3 de WSS V3
Installation de SQL Server DENALI CTP3
Mise à jour de Windows 2003 R2 vers Windows 2008 R2
Upgrade de SQL Server 2005 vers SQL Server 2008 R2
La suite
RSS
Offres d'emploi
Recherche Recherche développeur web ASP et ASP.Net
Recherche Analyste Programmeur Adélia
Recherche Développeur eZ Publish confirmé
Recherche AP (H/F) ACCESS EXCEL VBA
Recherche SUPPORT INFORMATIQUE / DEVELOPPEUR
Recherche Developpeur web
Recherche développeur Web
Déposer une offre
La suite
RSS
Formations Video
Coffret : Ateliers sur la mode
Atelier sur la mode : Motifs et matières
Atelier sur la mode : La planche tendance
Atelier sur la mode : De retour de pige et repérage
Corel Painter 12 : Les fondamentaux
Coffret : Microsoft Office 2010 de A à Z
De Microsoft Office 2003 à 2007 et 2010
La suite
RSS
Appels d'offres
Passerelle Pericles sur site Joomla 17
Budget :
499€
Infogerance Serveur Debian Linux
Budget :
2 400€
Developpeur applications iphone - ipad - android
Budget :
800€
La suite
RSS
Logiciels
Tribler (2012)
TRIBLER (2012)
Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des...
Cliquez pour télécharger Tribler
OneSwarm (2012)
ONESWARM (2012)
Le peer-to-peer qui protège votre vie privée, c'est OneSwarm. Ce logiciel de peer-to-peer crypté...
Cliquez pour télécharger OneSwarm
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)
PONAMEDIA TV DEVIENS HELLLOOO FLASH LA TV SUR VOTRE ORDINATEUR. Toute une plateforme Multi...
Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO
Academy System (17.2.1.0)
ACADEMY SYSTEM (17.2.1.0)
Logiciel de gestion des établissements. - élèves/étudiants (inscription, dossier, absence...) -...
Cliquez pour télécharger Academy System
Easy-Planning (1.0.0.1)
EASY-PLANNING (1.0.0.1)
Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ...
Cliquez pour télécharger Easy-Planning
+ de logiciels à télécharger
Vidéos drôles
Halloween Party
Terry Tate Office Linebacker Superbowl 2003
Jeu vidéo instructif
C'est un véritable vol !
Banana Song
Comment attraper la grippe A
Parodie Pub Window 7
La suite
RSS
Sondage...
Votre navigateur n'utilise pas le javascript, pour
voter aux sondages de ce site, cliquez ici
Statistiques
1 873 739
membres
33
nouveaux aujourd'hui
16 151
membres club
Comparez les prix
Mio - Moov V735 - GPS Europe - Ecran 7"
Entre 305€ et 375€
Visiter le guide achat
CalendriCode
Février
2012
L
M
M
J
V
S
D
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
Consulter la suite du CalendriCode
Photothèque
Visiter la photothèque
CS Tool Box