PHP include form, données $_POST invisibles [Résolu/Fermé]

Signaler
-
Messages postés
699
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
-
Bonjour,

Je suis bloqué dans mon code PHP. En fait j'ai une page main où j'inclue d'autres contenus par include selon l'action sur la page main ou sur les pages incluses.

-----code caissier.php---
...
<div id="sousmenu1" style="display:none">
<div class="sousmenu">
<a href="caissier.php?onglet=1&action=1">Inscire</a>
</div>
<div class="sousmenu">
<a href="caissier.php?onglet=1&action=2">Reinscrire</a>
</div>
</div>
...
<?php
if(!isset($_GET['onglet']) or $_GET['onglet'] == 2)
include_once("views/paiement.php");
else
if($_GET['onglet'] == 1){
switch($_GET['action']){
case 1 : include_once("views/inscription.php"); break;
case 2 : include_once("views/reinscription.php"); break;

}

}

?>
...
-----fin code main -----

En cliquant sur le premier lien, je parviens à inclure la page inscription.php qui est un formulaire.
-----inscription.php------
<form method='post' action='controllers/insert.php' enctype='text/plain' class='form_inscription'>
<?php if(!empty($out_message)) echo"<p> $out_message </p>"; ?>
<input type='hidden' name='page_inscription' value='../caissier.php?onglet=1&action=1'/>
<label>Niveau : </label>
<select name='niveau_eleve'>
<?php
$sortie = printClasse();
echo $sortie;
?>
</select>
</br>
<fieldset class ='fieldset_eleve'>
<legend>Filiation élève</legend>
<label id='prenom' class='label'>Prénom : </label>
<input type='text' name='prenom' id='prenom' class='input_text'/>
...

<input type='submit' value='' class='bouton_save'/>
</form>

------fin code inscription.php------

Mon problème est que la page qui doit recevoir les données envoyées par post (insert.php) via ce formulaire ne reçoit pas de variables $_POST.

S'il vous plait, quelqu'un a t-il rencontré un problème pareil.
Merci d'avance


9 réponses

Messages postés
699
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
79
c'est enctype='text/plain' que tu dois supprimer
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
4 août 2012

Merci encore. le problème c t le enctype que j'avais mis. Je l'ai enlevé et ça a marché. Ensuite j'ai mis un autre enctype : enctype='multipart/form-data' et ça marche encore.
En résumé, enctype='text/plain' ne va pas avec la méthode post?
Merci encore
Messages postés
699
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
79
avec enctype='text/plain'

tu envoies tes données en text brut,
exemple d'utilisation : un formulaire de contact à envoyer par mail

avec enctype='multipart/form-data'

tu peux uploader des fichiers avec le champ file

si tu n'as besoin d'aucun des 2, tu n'as pas besoin de mettre l'attribut enctype

Bonjour

Mon problème est que la page qui doit recevoir les données envoyées par post (insert.php) via ce formulaire ne reçoit pas de variables $_POST.

Comment l'as-tu vérifié ? À première vue, ton formulaire est correct. As-tu fait un print_r($_POST); au tout début de insert.php ?
Messages postés
7
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
4 août 2012

Bonjour,

Voici le code qui m'a permis de vérifier:

---- insert.php-----

$out_message ='';

print_r ($_POST);
Messages postés
7
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
4 août 2012

Voilà tout ce que j'ai mis dans insert.php

<?php
$out_message ='';
print_r ($_POST);
if(isset($_POST['inscription'])){
$out_message .='Enregistrement reussi.';
header('Location: ../caissier.php?onglet=1&action=1');
}
echo "La variable POST nerepond pas.";

?>

le résultat que j'obtiens:

Array ( ) La variable POST nerepond pas.
À deuxième vue, c'est encore correct (sauf </br> au lieu de <br /> mais bon...).
Comme la vérification semble correcte aussi, peux-tu faire afficher le formulaire et donner le code source de la page générée dans un fichier sur cjoint.com ou autre ?
Messages postés
7
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
4 août 2012

<div class='menu_text'>Formulaire Inscription</div>
<form method='post' action='controllers/insert.php' enctype='text/plain' class='form_inscription'>
<?php if(!empty($out_message)) echo"<p> $out_message </p>"; ?>
<input type='hidden' name='page_inscription' value='../caissier.php?onglet=1&action=1'/>
<label>Niveau : </label>
<select name='niveau_eleve'>
<?php
$sortie = printClasse();
echo $sortie;
?>
</select>
<br/>
<fieldset class ='fieldset_eleve'>
<legend>Filiation élève</legend>
<label id='prenom' class='label'>Prénom : </label>
<input type='text' name='prenom' id='prenom' class='input_text'/>
<br/>
<label id='nom' class='label'>Nom : </label>
<input type='text' name='nom' id='nom' class='input_text'/>
<br/>
<label id='date_naiss'>Date de naiss. : </label>
<input type='date' id='date_naiss' name='date_naiss' class='input_text'/>
<br/>
<label id='lieu_naiss'>Lieu de naiss. : </label>
<input type='text' id='lieu_naiss' name='lieu_naiss' class='input_text'/>
<br/>
<label id='cas_social' class='label'>Cas social : </label>
<input type='checkbox' id='cas_social' name='cas_social' onclick='afficheSuite(this)'/>
<br/>
<div id='cas_social_checked' style='display:none'>
<label id='mensualite' class='label'>Mensualité : </label>
<input type='number' name='mensualite' id='mensualite' class='input_text'/>
<br/>
</div>
</fieldset>

<fieldset class ='fieldset_tuteur'>
<legend>Filiation tuteur</legend>
<label id='prenom_tuteur' class='label'>Prénom : </label>
<input type='text' name='prenom_tuteur' id='prenom_tuteur' class='input_text'/>
<br/>
<label id='nom_tuteur' class='label'>Nom : </label>
<input type='text' name='nom_tuteur' id='nom_tuteur' class='input_text'>
<br/>
<label id='tel_mobile' class='label'>Num. mobile : <img src=></label>
<input type='tel' name='tel_mobile' id='tel_mobile' placeholder='775158718' required class='input_text'>
<br/>
</fieldset>
<br/>
<input type='submit' value='' class='bouton_save'/>
<br/>
</form>
Messages postés
7
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
4 août 2012

$out_message ='';
print_r ($_POST);
if(isset($_POST['page_inscription'])){
$out_message .='Enregistrement reussi.';
header('Location: ../caissier.php?onglet=1&action=1');
}
echo " La variable POST ne repond pas.";
Messages postés
7
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
4 août 2012

Merci pour <br/>.
Tu peux coller le code source dans un editeur text. Il s'agit des pages : inscription.php et de insert.php
Messages postés
7
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
4 août 2012

Merci Maka54, print_r affiche $_POST maintenant et la redirection est assurée