Télécharger le zip
Dommage pour les fautes d'ortho et la tonne de fichiers : ajout_x, modif_x, affiche(r)_x peuvent être regroupés !
Très mal codé en fait : impossible de changer les infos de connexion au serveur sans aller modifier tous les scripts PHP un par un, code pas facile à lire ...
Bonjour,en ce qui concerne les infos de connexion, c'est une erreur de ma part, je l'avoue, mais pour le traitement des opérations(ajout_x, modif_x ... ), je crois que c'est mieux de les séparer pour pouvoir les modifier et les étendre facilement.Merci pour les critiques ;).
Il te suffit de faire l'affichage du formulaire dans une fonction. Comme ça, un seul fichier ;)
Bonjour à tous,Ayoubshadow, tu dis que tu as créé ceci en 2ème année d'étude. Mais ce code est vieux de chez vieux.Pour ma part, je ne vois rien d'initié.Le code HTML est mauvais, même horrible.Tu as mis ceci en niveau initié ???Tu as imbriqué la balise <html> deux fois sur la première page du site.Le balise <head> est inexistante.Tu as optimisé le rendu sur un seul navigateur.Au niveau du css, tu fais pas mal d'erreurs mais, il y a de la maitrise.Il ne te reste qu'à travailler ton inspiration pour le layout design du site.Donc la pareil, pas initié.La gestion des dossiers et fichiers sont inexistantes.Tu as imbriqué tous les langages de programmations, ceci pour la maintenance c'est trop compliqué.Donc pareil, pas initié.La sécurité sur le site vers la base de donnée est inexistante.Tout les POST sur le site sont des dangers pour la db.http://en.wikipedia.org/wiki/SQL_injectionDonc pareil, pas initié.Pour le php que tu as écris, n'apporte rien à un débutant.Aucune gestion de tableau, comme le menu principal qui ne vient pas de la DB.Il y a aucun foreach dans toute l'application. J'ai jamais vue ça.Donc pareil, pas initié.Pour le référencement, tu n'as rien travaillé "URL et tag html".Tu aurais mis "niveau débutant", je t'aurai expliqué cela d'une façon moins direct.Mais bon, si tu prend ce que j'ai dis en considération, et que tu recodes le tout, cela pourrais aidée quelqu'un.
@Stav : On peut vivre sans foreach, tu sais ... Perso je ne m'en sers presque jamais. Pour le reste je suis d'accord avec toi ;)
Vivre sans foreach dans du code métier, cela m'étonnerait.Dans un array, exemple : $arrayTest = array( 'test1' => 'Test 1 réussi', 'test2' => 'Test 2 réussi');foreach ($arrayTest as &$test) { $test['test3'] => Test 3 réussi'}print_r($arrayTest);array( 'test1' => 'Test 1 réussi', 'test2' => 'Test 2 réussi', 'test3' => 'Test 3 réussi')@ghuysmans99, tu peux me donnée une solution alternative ?
Dans l'exemple que tu donnes, il n'y en a pas ... Ca devient vraiment utile (pratique et lisible) lorsqu'on travaille avec des objets.
L'objet est très utile, c'est de plus utile quand l'application prend une ampleur importante.Mais ici, on parlait de l'utilité du foreach, qui gère aussi très bien l'objet dans ça la boucle.$objectTest = (object) array( 'test1' => 'Test 1 réussi', 'test2' => 'Test 2 réussi', 'test4' => 'Test 4 réussi');print_r($objectTest);foreach ($objectTest as &$test) { $objectTest->test2 = 'Test 2 raté'; $objectTest->test3 = 'Test 3 réussi'; unset($objectTest->test4);}stdClass Object( [test1] => Test 1 réussi [test2] => Test 2 raté [test3] => Test 3 réussi)
Merci pour vos conseils, j'aurais du faire niveau "Débutant" :), je vous informe que c'est mon premier projet en php. seulement j'ai po compris l'utilité de "foreach" dans l'application, ou est ce que j'aurais du l'utilisé?
Bonjour,Je ne ferais qu'un seul commentaire (rude, mais il faut le dire)....Il ne faut pas utiliser ce code dans l'état.Il y a (comme évoqué au dessus) de GROSSES failles de sécurité dans les requêtes SQL.On trouve des choses comme cela : # $id=$_GET['supp_stage'];# mysql_query("delete from stage where numstage='$id'"); Que se passe t il si je passe 1' or '1'='1en valeur pour $_GET['supp_stage']... la réponse est simple, cela vide la table des stages.Il ne doit JAMAIS JAMAIS JAMAIS y avoir de valeur utilisateur directement dans les requêtes SQL.- le minimum est d'utiliser mysql_real_escape_string($var) pour sécuriser la variable passée à la requête, mais c'est spécifique à mysql.- sinon un petit htmlspecialchars($var) à minima pour empêcher le passage de ' ou de " ceci étant fonctionnel pour diverses basesLe mieux étant quand même de formater chaque variable en fonction du type attendu.ex : toutes les variables de type numérique, utilisé dans une requête SQL devrait être ajouté avec "intval($var)" pour être sur que la requête n'est pas en danger, et qu'aucun caractères spécial ne peut être utilisé.De plus, il ne faut pas penser qu'un select non sécurité n'est pas forcément très dangereux, car c'est faux.Si on est libre de passer ce qu'on veut, on peut transformer un simple select, en un affichage de n'importe quelle info de la base via un " union " qui permet de récupérer d'autres infos que celles de la table du select d'origine.Donc le coté "niveau Initié" est à revoir.Bonne continuation quand même...EM.
Bonjour à tous,Très bonne analyse @emilia123.@ayoubshadow, tu n'as pas fait d'erreur en n'utilisant pas la fonction foreach.Tu as utilisé la fonction while pour toutes tes requêtes et vue l'utilité, c'est très bien.Je disais, qu'il y avait aucun foreach dans toute l'application et que je n'avais jamais vu cela pour une raison précise.Dans une application importante, il y a énormément d'informations qui peuvent être utilisées de plusieurs façons.Comme par exemple, un breadcrumb : http://fr.wikipedia.org/wiki/Fil_d%27Ariane_%28ergonomie%29.La navigation, qui est récupérée dans plusieurs tables via une requête SQL ou plusieurs, est reprise dans un foreach pour être filtrée.Et donc, on peut y renvoyer quelque choses de différent. Comme un breadcrumb, alors que cette même requête avait servie pour le menu principal.Un array (comme je l'ai expliqué sur un post précédent), peut être modifié à la volée pour retourner quelque chose de différent.On peut aussi imaginer un menu d'un site multilingue qui dans le champ langue d'une table a des valeurs comme, des codes ISO.Exemple : "fr,en,de".Dans un foreach, on pourrait modifier les valeurs à retourner en "Français,Anglais,Allemand".Ce qui est intéressent avec un foreach, c'est la récupération des clés/valeurs.foreach($arrayTest as $key => $value) {}À ne pas oublier, cette application que tu proposes était soi-disant initié.J'espère avoir pu répondre à ta question ?
merci beaucoup pour vos conseils, je tacherai d'éviter ces erreurs la prochaine fois.
Si c'est pour laisser un code horrible à lire et truffé de failles, je vois pas pourquoi ça nous "servirait" (cf description). Beaucoup seront tentés de reprendre bêtement le code-source dans trop faire attention ... [[Rude, peut-être mais réaliste. J'ai déjà vu les effets d'exemples pourris que tout le monde reprend dans d'autres langages de prog, voilà pourquoi je dis ça]].Améliore ton appli, ça sera bénéfique pour toi et le reste de la communauté (si t'as des questions, n'hésite pas à les poser sur le forum).
bonjour,@ayoubshadowtu peut me donner le diagramme de classe application de ton a? j'ai y besoins cordialement
bonjour,@ayoubshadowtu peut me donner le diagramme de classe de ton application ? j'ai y besoins cordialement
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 903 587 membres 163 nouveaux aujourd'hui 16 195 membres club