GESTION DE SCOLARITÉ [PHP] ET [MYSQL]

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 30 juin 2011 à 19:15
 Gaetan777 - 6 avril 2019 à 20:35
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/53336-gestion-de-scolarite-php-et-mysql

Bonjour
stp user et pass d admin
tt ca fonctionne bien mais j n trouve pas acces d admin
cordialement
Malyo_Francisco
19 avril 2018 à 14:35
Merci beaucoup! il m'a bien aidé
LOWE1962 Messages postés 1 Date d'inscription mercredi 21 février 2018 Statut Membre Dernière intervention 21 février 2018
21 févr. 2018 à 05:54
BRAVO
Le fichier rapport ne s'ouvre pas correctement est-ce normal ? pourrais tu le mettre en pdf stp
merci
bouloss Messages postés 1 Date d'inscription samedi 13 août 2016 Statut Membre Dernière intervention 13 août 2016
13 août 2016 à 13:52
salut mon frère svp est ce que vous pouvez me donner le compte pour que je puisse me connecter a part sa vous faites du bon boulot.
svp frere j'ai le telecharge mais je trouve des pannes en ajout utudiant si tu peut m'aider il ne fonctione plus ?
ou le fichier qui va créer la base de donner gestion?
merci our l'app c vraiment trés bonne gesture
remiki90 Messages postés 132 Date d'inscription samedi 28 juillet 2012 Statut Membre Dernière intervention 27 décembre 2021 3
26 sept. 2013 à 13:05
je te conseil d'aller http://codes-sources.commentcamarche.net/forum/php-105 pour créer un nouveau sujet
kammdem Messages postés 2 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 25 février 2015
26 sept. 2013 à 09:32
@ayoubshadow
je suis debutant php j'aimerais savoir comment afficher les informations de ma base de données sur forme de tableau comme tu l'as fait. En fait je ne comprends pas ta fonction Edition ect..
Merci d'avance
bahrounitarek Messages postés 3 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 26 mars 2012
26 mars 2012 à 16:38
bonjour,
@ayoubshadow
tu peut me donner le diagramme de classe de ton application ? j'ai y besoins
cordialement
bahrounitarek Messages postés 3 Date d'inscription samedi 29 mai 2010 Statut Membre Dernière intervention 26 mars 2012
26 mars 2012 à 16:35
bonjour,
@ayoubshadow
tu peut me donner le diagramme de classe application de ton a? j'ai y besoins
cordialement
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
4 juil. 2011 à 19:22
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).
ayoubshadow Messages postés 3 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 4 juillet 2011
4 juil. 2011 à 14:24
merci beaucoup pour vos conseils, je tacherai d'éviter ces erreurs la prochaine fois.
cs_stay Messages postés 493 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 24 mai 2017 4
4 juil. 2011 à 12:11
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 ?
cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 5 janvier 2009
4 juil. 2011 à 07:44
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'='1
en 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 bases

Le 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.
ayoubshadow Messages postés 3 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 4 juillet 2011
3 juil. 2011 à 23:11
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é?
cs_stay Messages postés 493 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 24 mai 2017 4
3 juil. 2011 à 09:53
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
)
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
3 juil. 2011 à 09:07
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.
cs_stay Messages postés 493 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 24 mai 2017 4
3 juil. 2011 à 00:58
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 ?
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
2 juil. 2011 à 22:43
@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 ;)
cs_stay Messages postés 493 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 24 mai 2017 4
2 juil. 2011 à 17:37
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_injection
Donc 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.
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
1 juil. 2011 à 10:56
Il te suffit de faire l'affichage du formulaire dans une fonction. Comme ça, un seul fichier ;)
ayoubshadow Messages postés 3 Date d'inscription mardi 25 janvier 2011 Statut Membre Dernière intervention 4 juillet 2011
1 juil. 2011 à 10:03
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 ;).
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
30 juin 2011 à 20:18
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 ...
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
30 juin 2011 à 19:15
Dommage pour les fautes d'ortho et la tonne de fichiers : ajout_x, modif_x, affiche(r)_x peuvent être regroupés !
Rejoignez-nous