Discussion:
traitement de formulaire
(trop ancien pour répondre)
docanski
2007-04-16 14:52:57 UTC
Permalink
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
thierry
2007-04-16 18:47:08 UTC
Permalink
Post by docanski
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
docanski
2007-04-17 13:28:48 UTC
Permalink
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
Post by thierry
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'] ;
Post by thierry
?>
</script action.php>

? Sans aucune ligne de code pour la mise en page et pour l'envoi en BAL ?
Serait-ce aussi simple ?
Post by thierry
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
P'tit Marcel
2007-04-20 18:17:53 UTC
Permalink
Post by docanski
? 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 = '***@email'
$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
?>
Post by docanski
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:***@d57g2000hsg.googlegroups.com>
docanski
2007-04-23 16:25:17 UTC
Permalink
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
<?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
P'tit Marcel
2007-04-23 22:43:11 UTC
Permalink
Post by docanski
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
<?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
Post by docanski
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
docanski
2007-04-27 15:00:38 UTC
Permalink
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
Post by P'tit Marcel
Et si tu te demandes "et comment il fait ça l'inculturel crasse en
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
docanski
2007-04-27 15:00:38 UTC
Permalink
Alors que les eleveurs et agriculteurs polluent toujours la Bretagne,
Le serveur local (EasyPHP) me renvoie :
Parse error: parse error in d:\chantier php\traitement2.php on line 4

et le fichier traitement2.php est le suivant :

<?php
if(isset($_POST['submit'])) {
$destinataire = '***@email'
$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
P'tit Marcel
2007-04-27 15:26:42 UTC
Permalink
Post by docanski
Parse error: parse error in d:\chantier php\traitement2.php on line 4
1> <?php
2> if(isset($_POST['submit'])) {
3> $destinataire = '***@email'
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
docanski
2007-04-27 16:30:28 UTC
Permalink
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é
Post by P'tit Marcel
1> <?php
2> if(isset($_POST['submit'])) {
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
Continuer la lecture sur narkive:
Loading...