PETIT SONDAGE EN PHP AVEC BASE DE DONNÉES MYSQL

cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 5 janvier 2009 - 13 août 2012 à 08:19
hige52 Messages postés 3 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 13 août 2012 - 13 août 2012 à 13:36
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/54494-petit-sondage-en-php-avec-base-de-donnees-mysql

hige52 Messages postés 3 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 13 août 2012
13 août 2012 à 13:36
Va falloir que l'on m'explique pourquoi ma réponse est restée 5 minutes et à disparue...

Je disais donc, pas de soucis pour le commentaire. Y a pas de malaise.

Pour ce qui est du sondage. Les résultats définitif doivent apparaîtrent sur a page "resultats.php". La page "sondage_reponse.php" ne faisant que office de récap détaillé du sondage.

La mise en page avec un beau design, disons que ce sera vraiment quand tout sera niquel chrome...
hige52 Messages postés 3 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 13 août 2012
13 août 2012 à 13:27
Y a pas de soucis, tkt...;).
Sinon, as-tu regarder un peu la mise à jour du code? Les résultats définitif doivent apparaître dans le tableau de la page 'resultats.php'. La page 'sondage_reponse.php' elle ne servant qu'a sortir les sondages au complet.
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
13 août 2012 à 13:03
Non non, je n'ai pas l'intention de devenir agressif !
et la phrase : <quote>e qui est tout simplement inadmissible sur un site en cours de fonctionnement !</quote>
aurait du apparaître avec un smilley et un "C" au début ! Mais rien n'est apparu.
Pardon, donc, si tu t'es senti agressé, ce n'est pas du tout mon style ( Bien que parfois en écrivant c'est pas toujours facile à déterminer !!! MDR )

Mais la présentation du sondage ... ça laisse un peu pantois, tout de même ! NON ?
hige52 Messages postés 3 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 13 août 2012
13 août 2012 à 11:45
Bonjour.

Merci pour vos commentaires, bien que je sens comme une pointe d'agressivité dans le commentaire de JADU...enfin bref.

Pour ce qui est du code, celui-ci à été fait vraiment à la 'va vite'. Je suis pleinement conscient qu'il y reste encore beaucoup de travail dessus à faire.

Je vais donc répondre à vos remarques, ce qui me semble logique :

@JADU -
1 - Pour la double saisie, j'ai aussi été surpris de l'erreur, et je ne sais pas pourquoi le code plante. Je n'ai pas encore eu le temps de plancher dessus, sachant que j'ai pas mal de boulot à faire pour des clients.
Je pense modifier l’empêchement du double vote, par filtrage IP (tout en sachant que plusieurs PC peuvent utiliser la même IP, par conséquent bloquer plusieurs utilisateurs n'ayant pas encore votés...).

2 - Il faut savoir que le résultat du sondage final est en cours de réalisation. je coince encore sur comment afficher seulement le NOM FAI et le nombre de vote. Je vais faire une mise à jour des fichiers, car de nouveaux fichiers ont été créés depuis mon dernier post.

@ emilia123

1 - En parlant de code d'authentification, je pense que tu parle bien des includes config...tu conseil de remplacer par quoi?

2 - Je viens de voir que en effet, il manque les balises d'ouverture du code html...

3 - Pour les sécurité, je vois ça après avoir régler mon problème sur l'empechement du double vote, et après avoir trouver comment faire pour insérer les résultats du sondage (fichier 'resultats.php')
jadu Messages postés 217 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 16 août 2018
13 août 2012 à 09:06
bonjour,
je cherchais justement un sondage pour mon site.
Mes commentaires :
1 - le soit-disant résultat de sondage n'est qu'un tableau mal foutu des données de la base : il ne devrait avoir qu'une ligne par FAI pour le rendre lisible et peut-être intéressant

2 - en recliquant pour voir ton "barrage" de double saisie, on obtient ceci :
Votre vote a d?ja ?t? pris en compte. Vous ne pouvez pas voter plusieurs fois de suite.Vous allez etre automatiquement redirig? vers la page accueil dans 30 secondes.Si rien ne se passe au bout de 30 secondes, merci de cliquez iciVous pouvez également consulter les résultats de ce sondage, en cliquant ici
Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in /homepages/35/d401001732/htdocs/technopower/sondage.php on line 15

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /homepages/35/d401001732/htdocs/technopower/sondage.php on line 15
La base de donn'es n'a pas trouv?e.

e qui est tout simplement inadmissible sur un site en cours de fonctionnement !

Il y a donc beaucoup de travail pour l'améliorer, et cela est intéressant aussi car c'est une manière de progresser, parfois.
Je n'ai pas parcouru le code car j'ai lu la remarque précédente ... que je ne trouve plus ! Misère, me suis-je trompé ?
cs_arta Messages postés 98 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 24 juillet 2013
13 août 2012 à 09:05
Bonjour tous

Pour suivre ...
cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 5 janvier 2009
13 août 2012 à 08:19
Bonjour,

Si je peux me permettre il y a pas mal de choses à corriger :(

1) pour ce qui est du code présenté ici, il est vivement conseillé de retirer tous les codes d'identifications permettant d'accéder à vos bases de données.

2) les données de connexions sont regroupées dans le fichier "connect.php" mais le fichier "sondage_reponse.php" ne l'inclus pas, et donc les données de connexions sont dupliquées.

3) le code HTML est assez problématique comme par exemple :
- problème d'ouverture/fermeture de la balise "<html>"
- problème d'ouverture/fermeture de la balise ""
- des balises <meta refresh> au milieu du code source au lieu d'être dans le <head>

4) mais enfin et SURTOUT, il n'y a aucune sécurisation des données récupérées de l'internaute et enregistrées dans la base.
La seule "protection" est, par chance, la longueur limité à 20 caractères pour les champs de la table, ce qui limite les possibilités d'attaque, mais il est possible d'entrer n'importe quelle valeur dans la base. Il est aussi possible, via des select imbriqué d'aller faire un tour dans les autres tables de ta base.
Le minimum lors de l’insertion dans la base de données serait d'utiliser "mysql_real_escape_string" pour sécuriser la requête SQL.
Le minimum lors de l'affichage des données (sondage_reponse.php) est d'utiliser la fonction "htmlspecialchars()" pour bloquer les attaques par javascript ou par code HTML.

Il serait simple par exemple, de mettre dans la base de données le code HTML suivant :
<!--
Cela pourrait avoir pour effet de mettre tout le reste du code HTML en commentaire et de bloquer une bonne partie de la page.

Bonne continuation.

EM.