begin process at 2012 05 27 19:08:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > LIVRE D'OR (PHP/MYSQL)

LIVRE D'OR (PHP/MYSQL)


 Information sur la source

Note :
Aucune note
Catégorie :Divers Classé sous :livre, or, mysql, simple, modifiable Niveau :Débutant Date de création :22/12/2007 Date de mise à jour :26/12/2007 16:37:29 Vu / téléchargé :9 374 / 951

Auteur : christo_59

Ecrire un message privé
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

C'est un livre assez simple et administrable (c'est mon premier code que je publie).

Il y a plusieurs champs : pseudo, localisation, mail, mail_visible, date et le message.

Il faut au moins avoir rempli le message et le pseudo pour que le message s'enregistre. On peut indiquer si le mail sera visible ou pas. La date est automatiquement enregistré.

/!\ La partie administration doit être protégé par le fichier ".htaccess". /!\

Source

  • Tout est dans le zip. :)
Tout est dans le zip. :) 

 Conclusion

Il y a surement des améliorations à faire, n'hésitez pas à commenter même si c'est un avis négatif.

Le look est simpliste mais on peut le modifier.

/!\ La partie administration doit être protégé par le fichier ".htaccess". /!\

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

22 décembre 2007 10:12:09 :
rien
23 décembre 2007 10:36:14 :
Cette mise à jour comprend : La correction du bug des "\". La suppression du sscanf. La correction de quelques erreurs de programme.
26 décembre 2007 16:37:29 :
J'ai ajouté un champ 'reponse_webmaster' dans la table. J'ai changé le nom de certaines variables pour plus de lisibilité. J'ai aussi corriger les erreurs XHTML. Les erreurs du à la base de données sont gérées de manière plus propre.

 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture EL COYOTOS LIVRE D'OR PHP 5 par elcoyotos
Source avec Zip Source avec une capture WINN GUESTBOOK FR par negstek76
Source avec Zip LIVRE D'OR par Individu
CALENDRIER SIMPLE, FACILEMENT MODIFIABLE, AFFICHAGE COMPLET par greenzest
Source avec Zip Source avec une capture UN LIVRE D'OR TRÈS SIMPLE D'UTILISATION ET D'INSTALATION. SA... par cclleemm

Commentaires et avis

Commentaire de yoman64 le 22/12/2007 23:43:26

Salut,
J'ai survolé rapidement le code et j'ai quelques remarques:
Premièrement bravo , tu penses a échapper les variables avant de les inséré , c'est malheureusemnet une erreur très courrante ici, mais toi tu y a pensé ^^.

Ensuite, pour les \ Un stripslashes() suffirait, mais tu dois vérifié si magic quote est a On sur le serveur parce que sinon tu risque de stripper des slashs qui sont dans le message au départ.


if(get_magic_quotes_gpc()==1)
{
//alors on utilise stripslashes()
}
else
{
//la variable est bonne
}



Tu t'es pas foué pour la gestion des erreurs , des or die() partout c'est pas beau :(

Ton sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour, $heure, $minute, $seconde);
Moi je crois que tu devrais simplement stocker la date en timestamp, ensuite tu en fait ce que tu veux a la sortie.

@+

Commentaire de christo_59 le 23/12/2007 10:42:35

Salut,

Merci pour tes commentaires, j'ai pu amélioré ainsi mon code.

Pour le magic quote, il était bien à on sur mon seveur.

Pour le timestamp, je pense qu'il vaut mieux utiliser un type datetime dans la base. Ca me parait plus logique.

Il me reste plus qu'à supprimer ces "die()" pour améliorer le code.

Encore merci.

@+

Commentaire de malalam le 23/12/2007 13:10:24 administrateur CS

Hello,

quelques ajouts à faire : je ne dirai rien sur ce que je pense du code, il y en a des tas comme le tien, mais bon...c'est Noël...
En effet, tu as sécurisé un minimum ton code. Bien. Mais tu devrais privilégier mysql_real_escape_string() puisque ton code se destine à mysql. Et pas stripslashes() comme te le dit Yoman (ce qui n'est pas un mauvais conseil hein! C'est juste que ce n'est pas adpaté là) : mysql_real_escape_string() tient compte des spécificités de mysql, et évoluera avec cette API (si tant est qu'elle évolue...ce dont je doute fort! PDO est bien plus adaptée à la gestion des DB et à mon avis, elle se verra renforcé et mysql_* abandonnée tôt ou tard)., alors que stripslashes() ne tient compte que de PHP, qui échappe ses caractères dangereux avec un anti slash "\".
J'aurais quand même bien vu la possibilité d'utiliser n'importe quelle DB avec ton livre d'or. Certes...un livre d'or, c'est un code pour débutant, et les débutants ont la plupart du temps un hébergement avec mysql (c'est le plus courant). Donc ça se tient. Mais bon, pour des évolutions futures, éventuellement...
Ton HTML n'est absolument pas XHTML strict, malgré ce que tu "annonces" dans les headers HTMl que tu balances. Un transitionnal serait plus approprié.
Voilà voilà...

Commentaire de yoman64 le 23/12/2007 20:29:34

Salut malalam, il utilise déja mysql_escape_string avans l'insertion, moi je lui conseil le stripslash pour évtiter l'effet du magic quote sur les champs POST qu'il récupere,ce qui est le plus approprié puisque c'est PHP qui échappe les string, on doit donc rectifié avec la fonction php fait pour ça.Je ne disais pas de remplacé mysql_escape string par ça pour sécurisé l'insertion.

Parce que si un utilisateur poste Salut je m'appele bob.

Alors dans son code php a cause des magic_quote $message = Salut je m\'sappele bob.

Si tu y ajoute un mysql_escape string ça va donné Salut je m\\\'appele bob.
Ce qui donne un slash de trop
C'est pour quoi je lui ai dit d'utilisé stripslash si la fonction magic_quote est a ON.

Peut être ai-je mal compris ton message et ce n'est pas la que tu voulais en venir?

Commentaire de yoman64 le 23/12/2007 20:32:41

Dans le doute j'ai vérifié la doc , et ils conseille égallement l'utilisation de stripslashes avant d'appeler mysql_escape string

Doc: http://ca.php.net/manual/fr/function.mysql-real-escape-string.php


Citation:
Note: Si magic_quotes_gpc est activée, appliquez d'abord la fonction stripslashes() à vos données. Utiliser cette fonction sur des données qui ont déjà été protégées, les protègera une deuxième fois.

Commentaire de christo_59 le 23/12/2007 23:26:59

Bonjour,

MALALAM :

Le stripslashes() est utilisé que si le magic quote est on. Il supprime les \ puis je sécurise les données avec l'outil adapté à MySQL.

if (get_magic_quotes_gpc()==1) {
$message = mysql_real_escape_string(stripslashes( $_POST['message'])) ;
...
}
else{
$message = mysql_real_escape_string( $_POST['message']) ;
...
}

En ce qui concerne la posibilité d'utiliser d'autres base de données. Etant débutant, je préfère d'abord commencer avec une seule base que plusieurs mais j'amèliorer le code en ce sens.

Pour le XHTML, c'est un point que je vais amèliorer.

@+

Commentaire de malalam le 24/12/2007 07:56:38 administrateur CS

Oui oui j pensais addslashes() lol désolé.

Commentaire de cirkooo le 09/01/2010 21:42:15

Cool, ça marche.
Mais, il faut rajouter un guillemet penché ` dans la requete sql, à la ligne réponse webmaster, sinon erreur s'affiche.

Commentaire de christo_59 le 12/01/2010 22:01:36

Je suis content que mes sources te servent. Peux-tu préciser où tu mettrais le ` ? Merci d'avance.

Commentaire de darkynounet le 21/11/2010 14:37:09

bonjour, ton livre d'or m'interesse beaucoup, cependant pourrait tu m'explicité le ficher
htacces parce que pour l'instant n'importe qui peut aller dans la page d'administration :s
merci :)

Commentaire de christo_59 le 22/11/2010 08:37:01

Bonjour,

Je ne vais pas expliquer dans un commentaire, je te propose ce lien : http://www.siteduzero.com/tutoriel-3-14649-proteger-un-dossier-avec-un-htaccess.html

En espérant que cela te sera utile.

Commentaire de cirkooo le 01/12/2010 02:38:25

@christo_59,
bonjour, désolé pour l'absence [11 mois].
Je cites: Peut- tu préciser où tu mettrais le `?.
Comme je te le disais, dans la requête sql, je n'ai plus ton code sous les yeux, mais dans une requete sql de ton script, tu ne dois pas en avoir mis "50" " 'de' requete sql" ^^, et bien, il en manquait une ou un (une quote, un guillemet) [`]. Peut être est-ce moi qui l'aie effacé par erreur, dans tous les cas, ça marche par paire, ``.
De plus, je te donnais la ligne: reponse webmaster, alors, voilà où, j'ai ajouté cette quote penché.
Repeat please again: Ligne contenant: Réponse Webmaster.    

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Help !!! [ par curreli ] Bonjour,Je suis allé sur le site: www.phpguide.netJ'ai installé Easyphp tout fonctione !Mais: j'ai essayé un de leurs scripts: le livre d'or. le scrip PB: insertion des données saisies dans base mysql [ par spritzz ] je suis sous easyphp 1.7(php 4.3.3) en localhost, et j'ai un problème pour insérer des données dans ma base mysql, ca ne fonctionne pas si je laisse m Tableau avec php et données mysql [ par Alpha911 ] Bonjour,j'essais de faire un tableau dont les lignes s'ajustent en fonction du nombre de données exemple l'utilisateur 9 a effectué 4 emprun Mauvaise réponse MySQL [ par Evangun ] Bonjour à tous ! Mon pb en gros c'est que MySQL me renvoie une valeur quand je l'interroge par ma page php, alors qu'il ne devrait pas et que d'a Comment afficher le text dune DB sur plusieur ligne [ par dannyl ] Bonjour moi j'utilise Dreamweaver pour la création d'un site et j'aimerai affichier les information de ma DB, le probleme est que le text entré meme s Livre d'or : Problème PHP [ par Brice88100 ] Bonjour ...En fait je souhaites créer un livre d'or. Aujourd'hui je pensais l'avoir terminé et réussit mais plusieurs problèmes perssistes ... :1°) Lo Tableau Modifiable [ par Firemetal ] Bonjour,Voilà, j'ai besoin de votre aide :)Je m'y connais peu en php, et je ne sais pas si le html ne serait pas plus simple pour faire ce que je dois Livre d'or et sécurité [ par spike666 ] Bonjour,J'ai un livre d'or assez simple mais je recois plein de message de spam dessus, n'y connaissant pas trop en php, j'ai quand meme reussis a blo Connection a phpmyadmin impossible ! [ par nicomilville ] Salut tout le monde, je vous écrit car j'ai un gros problème :J'ai mis la v2 de mon livre d'or sur wamp server en local pour pouvoir la débugger mais JSP & Mysql [ par chywy ] chywyBonjour tout le monde!je suis en cour de réaliser un site dynamique avec JSP en utilisant une base de données Mysql; mon probléme consiste dont l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales