Formulaire guestbook

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire guestbook

Re: Formulaire guestbook

par raimon12 » 07 janv. 2011, 15:07

MERCI!
Je l'avais bien oublié, mais visiblement ça ne résout pas complétement le problème. Lorsque je le teste en local (avec xampp) rien ne se passe... cela viendrait il de la fonction if empty?
merci encore :)

Re: Formulaire guestbook

par moogli » 06 janv. 2011, 16:28

erreur de recopie ou tu a réellement oublié le ; après $lieux= " " ?


@+

Re: Formulaire guestbook

par raimon12 » 06 janv. 2011, 02:44

Par contre si je vire les if empty etc la redirection marche bien!
merci bcp

Re: Formulaire guestbook

par raimon12 » 06 janv. 2011, 02:40

merci bcp j'ai essayé de faire ça :

Code : Tout sélectionner

<?php //Ouverture du fichier en écriture $fp = fopen("/media/www-dev/public/site/guestbook.doc",a); //On convertit les caracteres html $nom = htmlspecialchars($_POST['nom']); $pays = htmlspecialchars($_POST['pays']); $ville = htmlspecialchars($_POST['ville']); $mail = htmlspecialchars($_POST['mail']); $siteweb = htmlspecialchars($_POST['siteweb']); $message = stripslashes(nl2br(htmlentities($_POST['message']))); $d = date ( "d/m/Y" ); $lieux = "($ville, $pays)" if (empty($ville) {$lieux = "($pays)";} if (empty($pays) {$lieux = "($ville)";} if (empty($pays)& if (empty($ville) {$lieux = "";} $page = ""; $page .= "<h2>$d</h2><h1><b>$nom</b> $lieux</h1> $siteweb <br>$message<br><hr>\n"; //On rajoute le message fwrite($fp,"$page" ,strlen("$page")); //fermeture du fichier fclose($fp); header('Location: http://localhost/public/site/reagir.php'); ?>
mais maintenant plus rien ne se passe. Je ne vois pas ou est mon erreur?

Re: Formulaire guestbook

par moogli » 06 janv. 2011, 00:34

bon ça avance nikel.

Pour la suite => la fonction empty va permettre de réaliser la demande ta demande sur la virgule.

la redirection => header

pour les accents c'est un problème d'encodage iso-truc VS utf-8


@+

Re: Formulaire guestbook

par raimon12 » 06 janv. 2011, 00:14

Merci je regarde ça, mais comment faire deux actions?
J'ai un peu bidouillé et je m'en sort en utilisant ce code (fichier writeguest.php)

Code : Tout sélectionner

$page .= "<h2>$d</h2><h1><b>$nom</b> ($ville, $pays)</h1> $siteweb <br>$message<br><hr>\n"; 
Sur la page de mon site j'ai créé une division messages dans laquelle j'ai inclus le fichier guestbook.doc
et j'ai rajouté les règles « #messages h1 » et « #messages h2 » dans ma feuille de style.
j'ai encore quelques problèmes j'aimerai que la parenthèse et la virgule qui se marquent autour de ville et pays → ($ville, $pays) ne se marquent que si on inscrit ville et pays.
Je cherche aussi comment faire une redirection après l'envoi du formulaire ?
Et puis quelques conseils pour le sécuriser ?
Ah j'allais oublié, ça pose également un problème sur l'ensemble de la page de mon site. Lorsque j'ouvre mon site dans mozilla firefox les accents sont remplacé par des point d'interrogations en revanche il n'y a pas ce problème avec safari. Ce qui est étonnant c'est que ça touche toute la page (y compris le menu qui est inclus sur chaque page et qui n'a pas de problèmes sur les autres pages)

voici l'url de mon site si ça peut vous aider : http://yatair-voyageenpalestine.byethost9.com

Re: Formulaire guestbook

par moogli » 05 janv. 2011, 15:07

tous est possible ou presque
voir sur google captcha
et la fonction mail

@+

Re: Formulaire guestbook

par raimon12 » 05 janv. 2011, 14:34

merci bcp, j'ai généré ce code avec kompozer. Je ne pensais pas m'en sortir avec du CSS, c'est génial! pour le protéger contre les spams et pour faire en sorte que la totalité du formulaire me soit envoyé je fais comment par contre?. est ce possible de donner 2 actions à mon formulaire?
Merci encore

Re: Formulaire guestbook

par moogli » 04 janv. 2011, 22:36

tutoriel sur les css
le html

Il te suffit de faire un code valide html en utilisant les css et cela te permettra de faire ce que tu veut.

Tu a juste a reporter ta modif dans le code que tu a mis dans ton dernier message.

Au vu du code dreamweaver t'a généré la chose, je te conseil de lire les tutos de phpdebutant.org afin de mieux comprendre le php.

tous est ces 3 lignes
<?php
$page .= "$d<br><b>$nom</b> ($ville, $pays)
<br>$siteweb<br>
<br>$message<br><hr>\n";
?>
@+

Re: Formulaire guestbook

par Raimon12 » 04 janv. 2011, 21:51

Je suis dsl j'ai l'impression qu'un de mes pots n'a pas bien était posté.
Sur mon site j'ai créé ce formulaire dans la division texte :

Code : Tout sélectionner

<script type="text/javascript"> <!-- function MM_validateForm() { //v4.0 if (document.getElementById){ var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") } if (errors) alert('Les erreurs suivantes doivent etre corrigées:\n'+errors); document.MM_returnValue = (errors == ''); } } //--> </script> <form method="post" action="writeguest.php" onsubmit="MM_validateForm('nom','','R');return document.MM_returnValue"> <table> <tbody> <tr> <td> Nom :</td> <td><input name="nom" id="nom" length="30"> <span class="Style1">*</span></td> </tr> <tr> <td>Pays :</td> <td><input name="pays" length="30" type="text"> </td> </tr> <tr> <td>Ville :</td> <td><input name="ville" length="30" type="text"> </td> </tr> <tr> <td>Email :</td> <td><input name="mail" length="30" type="text"> </td> </tr> <tr> <td>Site web :</td> <td><input name="siteweb" length="30" type="text"> </td> </tr> <tr> <td>Message :</td> <td><textarea name="message" rows="7" cols="77"></textarea><span class="Style1"> *</span> </td> </tr> <tr> <td> <br> </td> <td><input name="envoyer" type="submit">&nbsp;<span style="color: silver;">Attention, les champs marqués par * sont à remplir obligatoirement</span> </td> </tr> </tbody> </table> </form>
ce formulaire appelle la page writeguest.php dont le code se trouve là

Code : Tout sélectionner

<?php //Ouverture du fichier en écriture $fp = fopen("/Applications/XAMPP/xamppfiles/htdocs/site/guestbook.doc",a); //On convertit les caracteres html $nom = htmlspecialchars($_POST['nom']); $pays = htmlspecialchars($_POST['pays']); $ville = htmlspecialchars($_POST['ville']); $mail = htmlspecialchars($_POST['mail']); $siteweb = htmlspecialchars($_POST['siteweb']); $message = stripslashes(nl2br(htmlentities($_POST['message']))); $d = date ( "d/m/Y" ); $page = ""; $page .= "$d<br><b>$nom</b> ($ville, $pays) <br>$siteweb<br> <br>$message<br><hr>\n"; //On rajoute le message fwrite($fp,"$page" ,strlen("$page")); //fermeture du fichier fclose($fp); ?>
ce code écrit les données du formulaire (sauf le mail) sur un fichier guestbook.doc qui est ensuite inclus dans ma page livred'or à la suite du code vu ci-dessus.

C'est tout ce sont les seuls codes, pour l'instant ça fonctionne bien mais j'aimerais le customiser un peu et le protéger. Je cherche donc des personnes qui peuvent m'aider ou des tutoriels!

Re: Formulaire guestbook

par moogli » 04 janv. 2011, 19:53

et donc, quel code a été testé ?

ce n'est que du html ou des css.

@+

Re: Formulaire guestbook

par raimon12 » 04 janv. 2011, 18:36

eups j'ai marqué mes questions en bas de mon 1er message. Je les remarque

Je suis déçu du style des posts : seul le nom est en gras et il est impossible de différencier par le style la partie donnée (date, nom, ville, pays, site web) de la partie message - sauf le nom qui apparait en gras.
J'aimerais que la date apparaisse en gris foncé et que les autres apparaisse en gris clair.

J'aimerais aussi que l'adresse du site web soit "clickable". comment faire?

Lorsqu'un utilisateur ne rentre pas les donnée ville et pays il reste marqué "(, )" comment faire pour que cela n'apparaisse qu'avec les donnée de ville et pays?

Une barre qui traverse l'écran sépare chaque message j'aimerais pouvoir réduire sa taille (elle fait environ 2px d'épaisseur) et sa couleur. Comment est ce possible?

j'aimerai aussi que le formulaire entier me soit envoyé par mail (pour que je puisse connaitre l'adresse mail de l'utilisateur) est ce possible?

et bien sur que le visiteur soit redirigé après l'exécution du formulaire.

Il y a un post ou le nom de l'utilisateur la date... sont en gris. je l'ai modifié directement sur le fichier guestbook.doc mais c'est comme ça que j'aimerais que cela se marque automatiquement!

Merci bcp

Re: Formulaire guestbook

par moogli » 04 janv. 2011, 18:20

heu au vu de ce que tu a fait, peut tu nous dire ce que tu ne sais pas faire ? tous ce que tu veut tu est réaliser dans ton exemple !

@+

Re: Formulaire guestbook

par raimon12 » 04 janv. 2011, 18:11

http://sgdf.rodez.free.fr/site/reagir.php voila le site,
j'ai mis un post comme j'aimerais qu'il soit envoyé et dans les autres posts on voit les problèmes

Re: Formulaire guestbook

par moi encore » 04 janv. 2011, 17:59

http://sgdf.rodez.free.fr/site/reagir.php
voila le site,
j'ai mis un post comme j'aimerais qu'il soit envoyé et dans les autres posts on voit les problèmes