PHP : Formulaire vers page php et aussi vers texte

Fermé
Acetik Messages postés 41 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 19 janvier 2017 - 28 juil. 2016 à 11:37
Acetik Messages postés 41 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 19 janvier 2017 - 7 sept. 2016 à 16:53
Bonjour,

Me voilà confronté à un petit problème au niveau de la programmation PHP d'une page d'authentification qui sera mis en place pour un portail captif.

Nous ce qu'on veut c'est que l'utilisateur entre comme données : NOM, PRÉNOM et MAIL.
Pas de mot de passe nécessaire ici donc pas besoin de sécuriser.

Du coup, j'ai ma page avec le formulaire qui envois vers mon pare-feu qui lui gère le portail captif. Or, j'ai besoin de l'envoyer également vers un fichier texte appelé : "captiveportal-connections.log" .

Je récupère bien mes informations au niveau du pare-feu, mais comment est-ce que je peux récupérer de façon transparente les données dans ce fichier sachant que l'action de mon formulaire ne peut envoyer qu'a une seule page ? (voir action dans le code en dessous)


Voici mon formulaire pour ma page index.php :

<form method="post" action="$PORTAL_ACTION$" >
<nav>
<ul id="menu">
<p>
Prénom :
<input name="prenom" type="text"/><br /><br />

Nom :
<input name="nom" type="text"/><br /><br />

Adresse mail :
<input name="email" type="text"><br /><br />

<input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">

<input name="zone" type="hidden" value="$PORTAL_ZONE$">



<input name="checkbox" type="checkbox" value="1" id="checkbox">
<label for="checkbox">« J’ai lu et j’accepte les Conditions Générales d’Utilisation et la Charte Informatique et Libertés»</label><br /><br />

<input name="accept" type="submit" value="Continue" />
</p>
</ul>
</nav>
</form>


Je vous remercie d'avance pour votre aide amis développeurs.
A voir également:

1 réponse

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
28 juil. 2016 à 15:11
Salut, je pense que le plus simple pour faire ce que tu veux, c'est d'envoyer tes informations depuis ton formulaire vers un script php, qui va dans un premier temps s'occuper d'écrire dans ton log, puis de faire une redirection (avec header() par exemple) vers la page de ton choix.
Le soucis, c'est que tu ne peux pas envoyer de données en POST comme ça.
Tu pourrais les envoyer en GET par exemple.

Sinon tu peux passer par un script ajax qui fait ton écriture dans ton log avant de poursuivre va la cible de ton formulaire...
0
Acetik Messages postés 41 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 19 janvier 2017 2
28 juil. 2016 à 15:47
Merci pour ton retour ThEBiShOp,

En effet le POST ne pourra pas envoyer le données du formulaire sur plusieurs pages, le problème ici est du à mon Pare-feu au niveau du portail captif, il m'oblige de faire un formulaire en POST vers $PORTAL_ACTION$. Et si je ne le fais pas alors il me laisse pas accéder au réseau.

De même, il n'accepte que le HTML/PHP donc je ne pourrais pas envisager l'AJAX dans ce cas...
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
28 juil. 2016 à 16:14
Pas évident alors... C'est impossible de faire ton log une fois arrivé sur ton portail ?
0
Acetik Messages postés 41 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 19 janvier 2017 2
28 juil. 2016 à 16:43
Et oui car mon pare-feu n’exécute plus aucune page php après qu'on ait passé la première. Je vais me creuser la tête encore un petit moment en espérant trouver une solution.
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
28 juil. 2016 à 17:50
tu as moyen d'exécuter du code, même dans un autre langage ?
0
Acetik Messages postés 41 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 19 janvier 2017 2
29 juil. 2016 à 15:20
Non rien du tout...
J'ai crée une seconde page (captiveportal-traitement_formulaire.php) qui vérifie si on a bien rentré le nom, prénom et email. Dans le cas où tous les champs sont renseignés je fais executer un formulaire transparant avec une action vers $PORTAL_ACTION$, vus que c'est ce qu'ils nous imposent pour la connexion sachant que le portail captif est ouvert à tous et que je le nom, prénom et email ne servent qu'a remplir les logs pour être aux normes juridiquement.

Or, tant que le formulaire avec l'action vers $PORTAL_ACTION$ n'est pas dans l'index.php ça ne fonctionne pas. En gros le Pfsense n'accepte de passer que par une seule page. Mais si je passe par une seule page je ne peut pas rediriger les variables renseignés dans le formulaire.

C'est un cercle vicieux qui me rend de jour en jour un peu plus chauve ^^

Je vais essayer de trouver une autre solution, et te remercie pour ton soutiens
0