OVH Cloud OVH Cloud

arguments fonction perso

1 réponse
Avatar
PatLry
Bonjour,
je débute en php et j'ai un pb avec un appel de la fonction
suivante par
<form name="formCamp" method="post" ACTION= "<?listinscrit()?>" >

Dans head,
<?
function listinscrit(){
$derninsc = fopen('derninscr.txt', 'a');
$lederninsc = ($_POST['Nom']."\n");
fputs($derninsc, $lederninsc);
fclose($derninsc);
echo "http://perso0.free.fr/cgi-bin/form2mail.pl";
}?>

si j'enlève de la fonction [echo
"http://perso0.free.fr/cgi-bin/form2mail.pl";], les 4 premières
lignes précédentes sont exécutées sans pb.
dès que je rétablis cette ligne, seule la ligne [echo
"http://perso0.free.fr/cgi-bin/form2mail.pl";] est exécutée, sans
les 4 premières.
Cette ligne doit être exécutée en dernier car elle renvoie une
page de
retour et mail.

j'ai bien noté qu'un problème n'est que la trace des solutions
non explorées, mais je cherche bien celle que je n'ai pas essayée
pour executer toutes les lignes.

Pat

1 réponse

Avatar
Olivier Miakinen

je débute en php et j'ai un pb avec un appel de la fonction
suivante par
<form name="formCamp" method="post" ACTION= "<?listinscrit()?>" >

Dans head,
<?
function listinscrit(){
$derninsc = fopen('derninscr.txt', 'a');
$lederninsc = ($_POST['Nom']."n");
fputs($derninsc, $lederninsc);
fclose($derninsc);
echo "http://perso0.free.fr/cgi-bin/form2mail.pl";
}?>


Je ne comprends rien aux symptomes que tu exposes.

Malgré tout, je suis perplexe : sachant que ni le contenu de $_POST ni
celui du fichier ne devraient changer entre le début et la fin de ton
script (sauf si tu les modifies explicitement), je ne vois pas pourquoi
faire ce traitement bizarre justement au milieu de la balise <form>.

Ton script devrait être équivalent à cela :

<form name="formCamp" method="post"
ACTION="http://perso0.free.fr/cgi-bin/form2mail.pl" >

avec, dans head :

<?
function listinscrit(){
$derninsc = fopen('derninscr.txt', 'a');
$lederninsc = ($_POST['Nom']."n");
fputs($derninsc, $lederninsc);
fclose($derninsc);
}
listinscrit();
?>

... ou alors, c'est que tu confonds PHP avec JavaScript (ce qui est
encore possible).


Attention aussi : tu devrais tester l'existence de $_POST['Nom'] avant
de l'utiliser.


Cordialement,
--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.