#1 Le 28/11/2008, à 03:35
- Pas codeur du tout :x
Aide pour un formulaire extremement basique.
Bonsoir.
Pour mon assoc' j'aimerais savoir ou trouver un formulaire extremement simple
Faut juste trois choses :
_ Nom :
_ Prenom :
_ Un bouton "Valider" Pour envoyer ces données à l'adresse mail de l'association.
J'suis pas un professionnel du codage, alors soyez pas trop complexes j'vous prie ^_^
#2 Le 28/11/2008, à 13:04
- Koshie-2.0
Re : Aide pour un formulaire extremement basique.
Salut,
A première vu ça nécessite juste du xhtml... Ce n'est pas bien complexe, je sais plus si on a besoin de PHP pour que ça envoie le mail...
Tiens, si tu veux faire tout ça toi même, lis le tutoriel du site du zero, sinon tu as aussi des WYSIWYG comme Kompozer.
Merde à toi .
#3 Le 28/11/2008, à 16:21
- AnsuzPeorth
Re : Aide pour un formulaire extremement basique.
bjr,
Le script par lui meme ne sera pas compliqué (zenity pour les boites de dialogues, par exemple).
Par contre c'est l'envoi de mail qui sera plus dur. J'ai regardé un peu, ca m'a l'air conton.....
Il y a plusieurs solutions en ligne de commande:
mutt, sendmail, mailx, nail...etc, etc...
Mais faut configurer pas mal de chose pour que ca fonctionne. Si tu n'as ps une solutions plus simple que l'envoi d'un mail...ben, bon courage !
#4 Le 29/11/2008, à 00:03
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Bon... moi qui pensais que ce serait très simple...
Alors, si je ne veux pas envoyer de mail, mais enregistrer toutes ces données dans un fichier texte du meme repertoire, comment puis-je faire?
Ca dois pas etre compliqué ca quand meme! ^^'
Pour Kompozer merci, mais je le connais pas mal; par contre a ma connaissance, sans php je ne peux pas faire ce genre de choses.
Sinon ya le script de cette page qui n'a vraiment pas l'air compliqué, mais je ne sais pas comment le modifier de sorte a faire disparaitre une des deux entrées du haut, la partie commentaire et le bouton annuler :s
Apres pour la mise en forme, j'utiliserais surement kompozer...
Merci par avance ^^
#5 Le 29/11/2008, à 00:04
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Le formulaire de cette page http://www.salemioche.net/script-php-1.php
pardon, ti oubli ^^
#6 Le 29/11/2008, à 01:11
- AnsuzPeorth
Re : Aide pour un formulaire extremement basique.
C'est pas non plus insurmontable de configurer un client mail en ligne d commande, mais si ecrire simplement dans un fichier texte te convient...autant aller a la facilité
Tu peux le faire soit avec zenity (boite de dialogue simple, man zenity pour voir toutes les options disponibles)
zenity --entry --text="texte de presentation" > fichier.txt
ou alors, si tu veux faire un truc plus jolie, utilise autoglade, creer la boite dans glade, c simple également, tout depend ce que tu veux !
#7 Le 29/11/2008, à 01:32
- AnsuzPeorth
Re : Aide pour un formulaire extremement basique.
oups, j'ai oublié un >...ce qui fait que le fichier sera ecrasé a chaque fois !
zenity --entry --text="texte de presentation" >> fichier.txt
#8 Le 29/11/2008, à 01:36
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Désolé, mais je vais etre ch...
Me faut pas un client mail, mais une page accessible depuis le web, et avec strictement rien hormis cesdeux entrées et un bouton de validation. J'suis compliqué, je sais ^^"
#9 Le 29/11/2008, à 01:41
- AnsuzPeorth
Re : Aide pour un formulaire extremement basique.
Ah ok,
Il faut te tourner sur la programmation web alors, je croyais qu'il te fallait une boite de dialogue sur l'ordi !
Dsl, mais là je ne peux pas t'aider, je connais juste un peu de html....
Je pense que tu devrais trouver facilement ca...google est ton ami !
#10 Le 29/11/2008, à 01:53
- AnsuzPeorth
Re : Aide pour un formulaire extremement basique.
Si le script du lien que tu donnes te convient (et que ton site supporte le php, bien sur)
<div align=center>
<form method=POST action=formmail.php >
<input type=hidden name=subject value=formmail>
<table>
<tr><td>Votre Nom:</td>
<td><input type=text name=realname size=30></td></tr>
<tr><td>Votre Prénom:</td>
<td><input type=text name=email size=30></td></tr>
</table>
<br> <input type=submit value=Envoyer>
</form>
</div>
#11 Le 29/11/2008, à 02:00
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Bonjour AnsuzPeorth et merci beaucoup.
Effectivement, le site supporte le php.
En fait pour la partie html ca va bien, j'ai juste supprimé les autres catégories; mais le probleme est avec le script php. Si je ne l'édite pas en fonction de cette modification, ca plante :s
Et helas, je ne peux pas utiliser compozer pour faire ca
#12 Le 29/11/2008, à 02:03
- AnsuzPeorth
Re : Aide pour un formulaire extremement basique.
demande dans la section php du forum, tu auras une réponse je pense, mais le php pour moi..... (je m'y suis jamais interssé, je devrais , ca n'a pas l'air trop compliqué)
#13 Le 29/11/2008, à 02:19
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Merci, j'vais aller voir ca!
#14 Le 29/11/2008, à 02:21
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Euh... Ya pas de section php ^^'
#15 Le 29/11/2008, à 02:37
- AnsuzPeorth
Re : Aide pour un formulaire extremement basique.
section serveur....!
Serveurs
Toujours à votre service, Ubuntu est aussi déclinée en version serveur… ;)
Posez ici toutes vos questions concernant APACHE/MySQL/PHP.
#16 Le 29/11/2008, à 02:39
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Oula, je fatigue! ^^'
Merci encore, j'y cours!
#17 Le 29/11/2008, à 02:40
- AlexandreP
Re : Aide pour un formulaire extremement basique.
En fait, c'est que le script fonctionne en deux temps : d'abord, le formulaire est affiché (c'est le code XHTML que vous avez mis dans vos messages). Puis, lorsque le bouton d'envoi est pressé, il envoie les données au script d'envoi formmail.php (c'est ce qui est indiqué dans la balise <form action=POST....>). Bref, toute la moulinette, c'est ce script-là en PHP qui envoie le courriel.
On n'est pas obligé de passer par deux pages pour l'envoi d'un courriel ; le script d'envoi peut être inséré directement dans cette page-là. Je vous en ponds un vite fait... il vaut ce qu'il vaut, hein !
<?php
/**
* Script d'envoi de courriels
*/
if ($_POST['envoi']) { //Si on a déjà envoyé une première fois les données
$erreur = 0; //On met le compteur d'erreur à 0
if (empty($_POST['prenom']) || empty($_POST['nom'])) { //Si le prénom ou le nom est manquant :
$erreur="Informations non valides. Vérifiez vos informations."; //On retourne un message d'erreur...
return; //... et on arrête l'exécution du script.
};
//Si on n'a pas d'erreur, on construit puis on envoie le courriel, puis on affiche une erreur positive
$courriel = "association@domaine.asso.fr";
$sujet = "Abonnement de ".$_POST['prenom']." ".$_POST['nom'];
$message = "Ce message confirme l'adhésion de ".$_POST['prenom']." ".$_POST['nom']." à l'association";
mail($courriel,$sujet,$message);
$erreur="Votre abonnement a bien été envoyée à l'association !";
//Puis, qu'on ait ou non envoyé l'adhésion, on affiche le formulaire
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<head>
<title>S'inscrire à l'association</title>
</head>
<body>
<?php if ($erreur) :
//Si on a reçu une erreur lors d'un envoi précédent, on affiche le message d'erreur
?>
<div>
<p><?php echo $erreur; ?></p>
</div>
<?php endif; ?>
<form method="post" action="<?php $PHP_SELF; ?>">
<ul style="list-style: none;">
<li><label>Préom : <input type="text" id="prenom" name="prenom" value="<?php echo $_POST['prenom'] ?>" /></label></li>
<li><label>Nom : <input type="text" id="nom" name="nom" value="<?php echo $_POST['nom'] ?>" /></label></li>
<li><input type="submit" value="Envoyer" /><input type="hidden" id="envoi" name="envoi" value="1" /></li>
</ul>
</form>
</body>
</html>
À copier/coller dans un document PHP.
Edit :
Ah non, c'est une question de programmation. Donc, la question est bien posée au bon endroit. Ce que PHP signifie dans le descriptif de la section "Serveur", c'est le programme PHP. La section "Serveur" traite du paramétrage d'un serveur et des divers services (Apache, PHP, MySQL, Sendmail/Postfix, etc.) qu'on retrouve dans le serveur. Ce n'est pas une section dédiée aux questions de programmations.
Dernière modification par AlexandreP (Le 29/11/2008, à 02:50)
«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.
Hors ligne
#18 Le 29/11/2008, à 02:53
- AnsuzPeorth
Re : Aide pour un formulaire extremement basique.
Ah non, c'est une question de programmation. Donc, la question est bien posée au bon endroit. Ce que PHP signifie dans le descriptif de la section "Serveur", c'est le programme PHP. La section "Serveur" traite du paramétrage d'un serveur et des divers services (Apache, PHP, MySQL, Sendmail/Postfix, etc.) qu'on retrouve dans le serveur. Ce n'est pas une section dédiée aux questions de programmations.
Autant pour moi...
Je pensais qu'il y aurait plus de monde connaissant le php dans une section de forum dédier aux serveurs !
#19 Le 29/11/2008, à 02:53
- ferker
Re : Aide pour un formulaire extremement basique.
Et avec OpenOffice.org Base http://fr.wikipedia.org/wiki/OOo_Base, ça l'frait pas ?
Transformons nos angoisses en connaissances...
Hors ligne
#20 Le 29/11/2008, à 03:48
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
@ ferker : ca risque d'etre trop compliqué pour moi la ^^ mais merci!
@ AnsuzPeorth : merci d'etre rev'nu me chercher
@ AlexandreP : Au début ca ne fonctionnait pas. J'avais enregistré la page sous format html; forcement, j'avais des cadres avec des requetes php ecrites dedans ^^'
Pour finir ca marche a merveille, j'suis super content !
J'aurais une ultime question : Si je souhaite faire une redirection plutot que d'afficher que l'enregistrement a été fait, ou dois-je placer mon :
header('Location: http://www.monadresse.fr/');
Et quel partie du code dois-je supprimer pour retirer le "Votre abonnement a bien été envoyée à l'association !"
Seulement ca ?
$erreur="Votre abonnement a bien été envoyée à l'association !";
En fait ce qui serait absoluement extra ca serait d'avoir le message d'affiché, puis une redirection au bout de... genre 3 seconde ^^'
Je sais, j'abuse
#21 Le 29/11/2008, à 04:28
- AlexandreP
Re : Aide pour un formulaire extremement basique.
On pourrait faire quelque chose comme ceci, je suppose :
<?php
/* Script d'envoi de courriels */
//Temporisation (nécessaire pour effectuer plus tard une redirection vers une autre URL)
ob_start();
//Exécution du script d'envoi seulement si on a envoyé des données (appui sur le bouton "Envoyer")
if ($_POST['envoi']) {
//On met le compteur d'erreurs à 0
$erreur = 0;
//Si le prénom ou le nom est manquant, on procède à l'arrêt du traitement
if (!$_POST['prenom'] || !$_POST['nom']) {
$erreur = 1; //On a une erreur...
$erreurmess="Informations non valides. Vérifiez vos informations."; //... on retourne un message d'erreur explicatif...
return; //... et on arrête l'exécution du script.
};
//Si on n'a pas d'erreur, on construit puis on envoie le courriel, puis on affiche une erreur positive
$courriel = "association@domaine.asso.fr";
$sujet = "Abonnement de ".$_POST['prenom']." ".$_POST['nom'];
$message = "Ce message confirme l'adhésion de ".$_POST['prenom']." ".$_POST['nom']." à l'association";
//Envoi du courriel ci-dessus et affichage d'un message d'erreur positif
mail($courriel,$sujet,$message);
$erreurmess="Votre abonnement a bien été envoyée à l'association !";
//Instructions de redirection
// 'refresh' est le nombre de secondes à attendre avant de rediriger le visiteur vers une autre adresse
// 'url' est l'adresse vers laquelle rediriger
header("Refresh: 5; url=http://www.domaine.asso.fr");
//Envoi de l'instruction de redirection
ob_flush();
//Puis, qu'on ait ou non envoyé l'adhésion, on affiche le formulaire
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<head>
<title>S'inscrire à l'association</title>
</head>
<body>
<?php
//Si on a reçu un message d'erreur lors d'un envoi précédent, on affiche le message d'erreur
if (!empty($erreurmess)) :
?>
<div>
<p><?php echo $erreurmess; ?></p>
</div>
<?php endif; ?>
<?php
//On n'affiche le formulaire que si on n'a jamais affiché au préalable la page ou si on a une erreur.
if (!$_POST['envoi'] || $erreur) :
?>
<form method="post" action="<?php $PHP_SELF; ?>">
<ul style="list-style: none;">
<li><label>Prénom : <input type="text" id="prenom" name="prenom" value="<?php if (!empty($_POST['prenom'])) {print $_POST['prenom']}; ?>" /></label></li>
<li><label>Nom : <input type="text" id="nom" name="nom" value="<?php if (!empty($_POST['nom'])) {print $_POST['nom']}; ?>" /></label></li>
<li><input type="submit" value="Envoyer" /><input type="hidden" id="envoi" name="envoi" value="1" /></li>
</ul>
</form>
<?php endif; ?>
</body>
</html>
Dernière modification par AlexandreP (Le 30/11/2008, à 05:50)
«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.
Hors ligne
#22 Le 29/11/2008, à 04:36
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Merci beaucoup !!!
Vais me pencher avec beaucoup d'attention dessus!
#23 Le 29/11/2008, à 04:43
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
Helas, a moins que j'ai fais quelque chose de travers, l'actualisation/redirection ne se fait pas.
Je ne saurais pas dire pourquoi, je n'ai pas encore étudié le fonctionnement de :
ob_start();
ob_flush();
Je peux pas te donner plus d'infos à ce propos.
Quoi qu'il en soit, ne te prend pas plus la tete, ca reste de l'ordre du détail, et ce micro formulaire est deja une avancée enooorme!
#24 Le 29/11/2008, à 04:58
- AlexandreP
Re : Aide pour un formulaire extremement basique.
Bulubulu, ça m'apprendra à ne pas revérifier mes choses, et surtout à ne pas poster assez vite. C'est surtout que j'avais écrit l'instruction header() complètement de travers...
Le script est corrigé dans le message ci-dessus.
Oh, et juste au cas où tu voudrais retravailler certains des messages :
- La variable $_POST['prenom'] est, comme son nom l'indique, le prénom de la personne d'après ce qui est entré dans le formulaire ;
- La variable $_POST['nom'] est, comme son nom l'indique, le nom de la personne d'après ce qui est entré dans le formulaire ;
- La variable $erreurmess est le contenu du message d'erreur (négatif ou positif) qui est affiché à l'utilisateur ;
- La variable $courriel est l'adresse courriel vers laquelle envoyer le courriel ;
- La variable $sujet est le texte qui apparaît dans le champ 'Sujet' du courriel ;
- La variable $message est le contenu du message courriel, en texte brut.
En complément :
- La variable $_POST['envoi'] est champ qui devient positif une fois que le formulaire a été envoyé une fois. C'est défini lors de l'envoi du formulaire, par un champ caché ;
- La variable $erreur devient positive s'il y a une erreur (ici : si le prénom ou le nom est manquant).
Ces informations peuvent être utiles, par exemple, si tu veux décortiquer ce script pour en apprendre davantage sur PHP, de même que si tu souhaites l'améliorer toi-même ou le faire améliorer par d'autres. (Par exemple, si à l'avenir tu as besoin de faire saisir par tes visiteurs une adresse courriel, tu pourrais ajouter des instructions pour vérifier que l'adresse entrée a un format valide xyz@adresse.tld. )
«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.
Hors ligne
#25 Le 29/11/2008, à 05:27
- Pas codeur du tout :x
Re : Aide pour un formulaire extremement basique.
C'est super pour toutes ces précisions. En fait je sais interpreter du code, bien que je ne saches pas réellement coder par moi-meme ... manque d'experience surement ^^
J'ai cru comprendre un ti peu comment fonctionnait le php. Les balises; et plein de tites erreurs que j'ai du me rectifier en voulant editer le message.
Par exemple, j'ai compris qu'il fallait mettre un "." avant ou apres une variable si celle-ci était collée a un champ de texte.
Merci beaucoup pour ces infos en tout cas.
Pour ce qui est de ta redirection, elle fonctionne a merveille!
Par contre... ya plus qu'elle qui fonctionne ^^'
Tout le reste semble ignoré, hormis le triomphant : "Votre abonnement a bien été envoyée à l'association !".
Je ne sais pas comment inserer des "flag" ici pour voir ou le programme plante. Je faisais ca en pascal vu que c'était visualisable en console et que c'était un enchainement linéaire de commandes; mais pour le php je suis incapable a l'heure actuelle de debuguer; donc la encore je ne peux pas te dire pourquoi une partie du code semble ignorée :s