Divers problèmes avec mon formulaire php...

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 : Divers problèmes avec mon formulaire php...

par niuxe » 22 déc. 2008, 16:31

Salut,

Ton code php est erroné. Logiquement tu aurais dû avoir un beau message d'erreur. Je te conseille de regarder de plus près les spécifications de la méthode header();

Je vois également que tu utilises l'ancienne syntaxe des superglobale si je ne m'abuse. Pourquoi ne pas utiliser la nouvelle ?

Une vérification en *.js, c'est bien. La couplé avec php, c'est mieux ! 2% des internautes coupe le *.js. PHP fait très bien une « vérif » de formulaire.

Logiquement, quand on fait un envoi avec la fonction mail(), il est de rigueur de faire un test :
if(!mail(...))
  header("location:page_erreur.php");
else
  header("location:page_congratulation_je_suis_un_killeur.php");
++ et bonne continuation

par animithra » 22 déc. 2008, 15:59

bonjour.

Je reprends tes questions une par une :
1) Quand je clic sur Envoyer je ne reçois rien sur ma boîte e-mail.
Est-ce que le code t'affiche un message d'erreur ?
Si ce n'est pas le cas, peut-être les messages passent-ils dans le spam...
En tout cas tu concatènes une variable $subject non déclarée...

2) Je souhaiterais un intégrer un code javascript, qui vérifie si les champs obligatoires sont bien remplis.

En fait tu as deux solutions :
- soit tu testes dans ton fichier .php en php et tu rappelles le formulaire si un ou plusieurs champs sont vides.
- soit tu appelles un fichier JS dans la page qui contient ton formulaire dans lequel tu crées une fonction qui bloque la soumission du formulaire tant qu'il n'est pas entièrement rempli.

Je te renvoies vers http://www.laltruiste.com/document.php?page=1&rep=10 pour plus d'information sur ce language.

3) J'aimerai bien que mon formulaire est un barre de défilement vertical mais pas horizontal comment faire ?

Tu peux désactiver l'affichage des scroll-barres via une feuille de style CSS.

Pour les barres horizontales tu auras une déclaration du type "scroll-x:" avec hidden ou scroll selon que tu veux la cacher ou l'afficher.
Idem pour scroll-y.

Tu peux aussi personnaliser les barres de défilement :

http://cyberzoide.developpez.com/html/body.php3

4) Quand la personne a cliqué sur le Bouton Envoyer je voudrais qu'une fenêtre pop-up s'ouvre et que le message "Votre message a bien été envoyé ! " apparaisse...

Je te renvoies à nouveau sur le site de l'altruiste puisque cette fonction est faisable en JavaScript.
Il faudra que tu l'incorpore à l'action submit...

J'espère t'avoir apporté l'aide nécessaire pour trouver les informations qui te font défaut.
Sinon postes à nouveau sur ce que tu n'as pas compris ;)

Bonne journée et bon code !

par zeus » 22 déc. 2008, 13:49

Modération :
nicolas.g, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Divers problèmes avec mon formulaire php...

par nicolas.g » 22 déc. 2008, 12:49

Bonjour,

Je n'ai que très peu de connaissance en php, et je souhaiterais faire un formulaire php pour mon site web, mais je rencontre divers problèmes...

1) Quand je clic sur Envoyer je ne reçois rien sur ma boîte e-mail.
2) Je souhaiterais un intégrer un code javascript, qui vérifie si les champs obligatoires sont bien remplis.
3) J'aimerai bien que mon formulaire est un barre de défilement vertical mais pas horizontal comment faire ?
4) Quand la personne a cliqué sur le Bouton Envoyer je voudrais qu'une fenêtre pop-up s'ouvre et que le message "Votre message a bien été envoyé ! " apparaisse...

Merci pour votre aide !


Voici mon code html :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>formulaire</title> <style type="text/css"> <!-- .Style3 {color: #CC0000} --> </style> </head> <div align=center> <form method=POST action=formmail.php > <input type=hidden name=subject value=formmail> <table> <span class="Style3">* Champs Obligatoires</span> <tr><td><b>Nom :</b>*</td> <td><input type=text name=realname size=30></td></tr> <tr><td><b>Prénom :</b>*</td> <td><input type=text name=realname size=30></td></tr> <tr><td><b>Société :</b>*</td> <td><input type=text name=realname size=30></td></tr> <tr><td><b>Téléphone :</b></td> <td><input type=text name=realname size=30></td></tr> <tr><td><b>Email :</b>*</td> <td><input type=text name=email size=30></td></tr> <tr><td><b>Sujet :</b>*</td> <td><input type=text name=message size=30></td></tr> <br /> <tr><td colspan=2><b>Message :</b>*<br /> <textarea COLS=33 ROWS=6 name=comments></textarea> </td></tr> </table> <br> <input type=submit value=Envoyer> <input type=reset value=Annuler> </form> </div> <body> </body> </html>


Voici mon code php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formmail.php</title>
</head>

<?php
$TO = "[email protected]";

$h  = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://<URL de la page de remerciement>");


;

?>