Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

traitement de formulaire

9 réponses
Avatar
docanski
Bonjour,

Totalement inculte pour ce qui concerne le PHP, je désire toutefois
"trouver" un script destiné au traitement d'un formulaire : en effet,
pourquoi tenter d'inventer la roue si elle existe déjà ...
Mes recherches sur Gogol ne m'ont pas permis de trouver quelque chose de
satisfaisant.
Ce traitement devrait se faire, de préférence (et je suppose que c'est
réalisable), sans devoir créer et utiliser une BDD pour un formulaire
assez complet tel celui-ci : http://armorance.free.fr/formulaire.html
Input, option, checkbox et textarea font donc partie du lot à
dépatouiller et mettre en musique par ce script.
Un honorable membre de ce groupe pourrait-il me dépanner ?

Cordialement,
--
docanski

- Les Côtes du nord de la Bretagne par le sentier des douaniers
- Memento des champignons : le guide le plus complet du Web
- Et d'autres sujets encore sur ----> http://armorance.free.fr

9 réponses

Avatar
thierry
Bonjour,
bonjour,


un grand principe:
soit le formulaire
<form action="action.php">
<input type="someType" name="nomInput" />
</form>

alors dans action.php vous aurez accès au contenu de l'input via au moins
$_REQUEST['nomInput']


Pour aller plus loin je vous conseille, de mettre comme action du
formulaire que vous proposez le script suivant
<?php
echo '<pre>'.print_r($_REQUEST, true).'</pre>';
?>

ce qui devrait t'éclairer sur la façon dont php passe les formulaires au
script

Avatar
docanski
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
thierry nous narre ce qui suit en ce 16/04/2007 20:47 :

alors dans action.php vous aurez accès au contenu de l'input via au moins
$_REQUEST['nomInput']


... ce qui signifie que le script devrait, dans l'exemple du formulaire
donné, être écrit tout simplement comme suit :

<script action.php>

<?php
echo '<pre>'.print_r($_REQUEST, true).'</pre>';
$_REQUEST['Nom'] ;
$_REQUEST['Association'] ;
$_REQUEST['Adresse'] ;
$_REQUEST['Localité']
$_REQUEST['Département'] ;
$_REQUEST['Code postal'] ;
$_REQUEST['Pays'] ;
$_REQUEST['Email'] ;
$_REQUEST['Moteurs'] ;
$_REQUEST['Ordi'] ;
$_REQUEST['Navi'] ;
$_REQUEST['Linux'] ;
$_REQUEST['Rubriques'] ;
$_REQUEST['Votre avis'] ;
$_REQUEST['Suggestions'] ;
$_REQUEST['surf'] ;
$_REQUEST['musique'] ;
?>


</script action.php>

? Sans aucune ligne de code pour la mise en page et pour l'envoi en BAL ?
Serait-ce aussi simple ?

Pour aller plus loin je vous conseille, de mettre comme action du
formulaire que vous proposez le script suivant
<?php
echo '<pre>'.print_r($_REQUEST, true).'</pre>';
?>


Qui serait destiné à afficher le résultat du traitement ?

Question subsidiaire : comment tester le script en interne avec EasyPHP ?

Merci de te pencher sur mon problème.
Cordialement,
--
docanski

- Les Côtes du nord de la Bretagne par le sentier des douaniers
- Memento des champignons : le guide le plus complet du Web
- Et d'autres sujets encore sur ----> http://armorance.free.fr

Avatar
P'tit Marcel
? Sans aucune ligne de code pour la mise en page et pour l'envoi en BAL ?
Serait-ce aussi simple ?



bon, voici une solution vite torchée :

<?php
if(isset($_POST['submit'])) {
$destinataire = ''
$titre = 'formulaire Armofrance';

$message = '';
foreach($_POST as $cle => $valeur) {
if (($cle <> 'submit) and ($cle <> 'reset')) {
$message .= str_pad($cle, 20) . $valeur . "n";
}
}
mail($destinataire, $titre, $message, 'From: '.$destinataire);
}
puis bascule sur la page à afficher avec un header ou un require
?>


Question subsidiaire : comment tester le script en interne avec EasyPHP ?


Le plus classe est d'installer un smtp local, genre Hamster
(http://hamster-fr.sourceforge.net) qui est très facile d'emploi. à
défaut, tu peux définir dans php.ini le serveur smtp de ton FAI mais
alors attention à ne pas être blacklisté par lui comme spammeur...


a+
--
P'tit Marcel
pourquoi personne y répond à ma question :'(
<news:

Avatar
docanski
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
P'tit Marcel nous narre ce qui suit en ce 20/04/2007 20:17 :

bon, voici une solution vite torchée :

<?php ... etc ...
puis bascule sur la page à afficher avec un header ou un require
?>


Ben, c'est là que ça commence à foirer : comme dit dès le départ, je
suis d'une inculture crasse en matière de PHP :-(

Le plus classe ... etc ...


Cela voudrait dire qu'il est impossible d'avoir une simulation du
cheminement formulaire -> traitement -> envoi Email -> affichage de la
page de remerciement par l'intermédiaire d'EasyPHP ?
C'est moche, alors.

Cordialement,
--
docanski

- Les Côtes du nord de la Bretagne par le sentier des douaniers
- Memento des champignons : le guide le plus complet du Web
- Et d'autres sujets encore sur ----> http://armorance.free.fr

Avatar
P'tit Marcel
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
P'tit Marcel nous narre ce qui suit en ce 20/04/2007 20:17 :

bon, voici une solution vite torchée :

<?php ... etc ...
puis bascule sur la page à afficher avec un header ou un require
?>


Ben, c'est là que ça commence à foirer : comme dit dès le départ, je
suis d'une inculture crasse en matière de PHP :-(


bon, alors tu ajoutes à la fin du script :

header("Location: http://serveur/page_a_afficher);
exit;

et tu vérifies que les premiers caractères de la première ligne du
script sont bien <?php


Cela voudrait dire qu'il est impossible d'avoir une simulation du
cheminement formulaire -> traitement -> envoi Email -> affichage de la
page de remerciement par l'intermédiaire d'EasyPHP ?
C'est moche, alors.


Ben si, voir ci-dessus. Tu vérifies simplement le fichier de
configuration de Easyphp.

Et si tu te demandes "et comment il fait ça l'inculturel crasse en
php"?, et bien il regarde dans la FAQ :
http://www.easyphp.org/faq.php3#11
et il remplace localhost par smtp.orange.fr vu qu'il est chez Orange ;-)

eça
--
P'tit Marcel


Avatar
docanski
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
P'tit Marcel nous narre ce qui suit en ce 24/04/2007 0:43 :

Et si tu te demandes "et comment il fait ça l'inculturel crasse en
php"?, et bien il regarde dans la FAQ :
http://www.easyphp.org/faq.php3#11
et il remplace localhost par smtp.orange.fr vu qu'il est chez Orange ;-)


Ouais, bon, il est sur Free (le site), mais c'est un détail ;-)
J'ai vu. En fait ce réglage m'amène alors à faire ces essais directement
en ligne avec le serveur distant par l'intermédiaire de mon serveur
local ... ce que je veux éviter pour les raisons évoquées par Olivier
dans le fil "traitement d'un formulaire et envoi en BAL". Je ne maîtrise
en effet pas ces outils et dois me montrer prudent.

Cordialement,
--
docanski

- Les Côtes du nord de la Bretagne par le sentier des douaniers
- Memento des champignons : le guide le plus complet du Web
- Et d'autres sujets encore sur ----> http://armorance.free.fr

Avatar
docanski
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
P'tit Marcel nous narre ce qui suit en ce 20/04/2007 20:17 :

bon, voici une solution vite torchée :


Le serveur local (EasyPHP) me renvoie :
Parse error: parse error in d:chantier phptraitement2.php on line 4

et le fichier traitement2.php est le suivant :

<?php
if(isset($_POST['submit'])) {
$destinataire = ''
$titre = 'formulaire Armorance';
$message = '';
foreach($_POST as $cle => $valeur) {
if (($cle <> 'submit) and ($cle <> 'reset')) {
$message .= str_pad($cle, 20) . $valeur . "n";
}
}
mail($destinataire, $titre, $message, 'From: '.$destinataire);
}
header("Location: http://armorance.free.fr/page_a_afficher.htm);
exit;
?>

Cordialement,
--
docanski

- Les Côtes du nord de la Bretagne par le sentier des douaniers
- Memento des champignons : le guide le plus complet du Web
- Et d'autres sujets encore sur ----> http://armorance.free.fr

Avatar
P'tit Marcel
Le serveur local (EasyPHP) me renvoie :
Parse error: parse error in d:chantier phptraitement2.php on line 4

et le fichier traitement2.php est le suivant :

1> <?php

2> if(isset($_POST['submit'])) {
3> $destinataire = ''
4> $titre = 'formulaire Armorance';

erreur en ligne 3: le ";" est absent en fin d'instruction.

voir la FAQ: http://faqfclphp.free.fr/#rub4.1


a+
--
P'tit Marcel

Avatar
docanski
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
P'tit Marcel nous narre ce qui suit en ce 27/04/2007 17:26 :

Nullissime en PHP comme je le disais plus haut, je ne m'étais pas permis
de modifier et/ou corriger le script que tu m'avais proposé et essayé
ainsi mais :

1> <?php
2> if(isset($_POST['submit'])) {
3> $destinataire = ''
4> $titre = 'formulaire Armorance';

erreur en ligne 3: le ";" est absent en fin d'instruction.


Bingo ! ... mais il y en avait une seconde : manquait le " ' " du 'submit' :
if (($cle <> 'submit) and ($cle <> 'reset')) {
... oubli que je me suis empressé de mettre à sa place.
J'ai envoyé le fichier corrigé en ligne et fait l'essai : ça marche nickel !
Un grand merci pour ton aide !

Cordialement,
--
docanski

- Les Côtes du nord de la Bretagne par le sentier des douaniers
- Memento des champignons : le guide le plus complet du Web
- Et d'autres sujets encore sur ----> http://armorance.free.fr