Variable Php vers une apge php

[Résolu/Fermé]
Signaler
-
Messages postés
1
Date d'inscription
samedi 19 décembre 2015
Statut
Membre
Dernière intervention
19 décembre 2015
-
Bonjour,

Suite a mon formulaire et ma fonction mail() que j'ai enfin reussi ^^ , j'aimerai recupérer la valeur des variables qui apparais dans mon formulaire et les afficher sur une autre page php,
Mon problème et que mon formulaire est en POST et que je ne sais pas comment récupérer mes variables pour les utiliser sur l'autre page php :

Voila mon code :

<?php


if($_POST) {

$nom =$_POST['Nom']."\n";
$prenom =$_POST['Prenom']."\n";
$datedeb =$_POST['Date_dbt']."\n";
$datefin =$_POST['Date_fin']."\n";
$type =$_POST['type']."\n";
$rem =$_POST['Remarque']."\n";
$message =$nom.$prenom.$datedeb.$datefin.$type.$rem;

ini_set("SMTP", "smtp.sfr.fr");
ini_set("smtp_port", 25);
ini_set("sendmail_from","***@***");

mail("***@***", "test avec formulaire", "Voici les informations concernant la personne absente : "."\n"."Nom : ".$nom."Prenom : ".$prenom."Date de debut : ".$datedeb."Date de fin : ".$datefin."Type de l absence : ".$type."Remarque : ".$rem."\n"."Veuillez cliquer sur ce lien afin de valider ou non cette absence :"."http://localhost/my%20portable%20files/formulaireManager.php");

}
?>

<html>
<head>
<link type="text/css" rel="stylesheet"/>
<meta charset="utf-8">
<title>Demande d'abscence</title>

</head>



<body>
<form method="post" action="" >
<h1>Demande d'absence</h1>

<fieldset>


<legend>Informations personnelles</legend>
<br>
<label for="Nom">Nom</label>
<br>
<input name="Nom">
</input>


<br>
<br>
<label for="Prenom">Prenom</label>
<br>
<input name="Prenom">
</input>

</fieldset>

<br>

<fieldset>
<br>

<legend>Date de l'absence</legend>
<label for="Date_dbt">Date de debut de l'absence</label>
<br>
<input type="date" name="Date_dbt">
</input>
<br>
<br>

<label for="Date_fin">Date de fin de l'absence</label>
<br>
<input type="date" name="Date_fin">
</input>
<br>

</fieldset>
<br>
<fieldset>

<legend>Type de l'absence</legend>
<br>
<label for="type">Type</label>
<br>
<select name="type">
<option value="rien"></option>
<option value="CP">Conge paye</option>
<option value="CS">Conge sans solde</option>
<option value="CC">Conge Conventionnel</option>
<option value="AM">Arret maladie</option>
<option value="RTT">RTT</option>
<option value="CF">Conge Formation</option>
<option value="AA">Absence Autorise / Recuperation</option>
</select>

<br>

</fieldset>
<br>
<fieldset>

<legend>Remarque Particuliaire</legend>
<br>
<label for="Remarque">Remarque (450 caracteres maximum)</label>
<br>
<textarea rows="5" maxlength="450" name='Remarque'></textarea>
<br>

</fieldset>

<br>


<button class="Env" name="Envoyer" type="submit">Envoyer</button>
<button class="Res" name="Effacer" type="reset">Effacer</button>

</form>
</body>
</html>


J'aimerais recupérer les valeurs qui sont dans les variables $nom, $prenom ... etc et les afficher dans une autre page .php ( celle qui sera cliquer dans le liend e la methode mail )


Merci

5 réponses

Messages postés
272
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
6 janvier 2019
42
bonjour,
pour mes projets à moi, j'avais trouvé une variable php qui m'a bien servi : $_SESSION
https://www.php.net/manual/fr/reserved.variables.session.php

En gros, sur chacune de tes pages, tu rajoute une ligne php semblable à celle-ci :
<?php session_start(); ?>

(à placer au début de ta page, avant même le doctype)

Puis tu enregistre ta variable comme ceci :

<?php $ma_variable = $_SESSION['ma_variable_session']; ?>
// admettons que $ma_variable contienne le mot "bonjour"


Pour lire la variable enregistrée, rien de plus simple :

<?php echo $_SESSION['ma_variable_session']; ?>
// renvoie : "bonjour"


Normalement tout fonctionne, grâce à cette astuce, la variable stockée dans $_SESSION sera conservée pendant toute la durée de la session d'un utilisateur (sera donc conservée dans toutes les pages php a condition que session_start() y soit renseigné au début https://www.php.net/manual/fr/function.session-start.php)
Merci de ta réponse rapide ^^
J'ai effectivement essayer mais sans succès :(
Voila se que j'ai rajouté sur la 1er page:
<?php
session_start(); // ligne que j'ai ajouté

if($_POST) {

$ma_variable = $_SESSION['Nom'];

$nom =$_POST['Nom']."\n";
$prenom =$_POST['Prenom']."\n";
$datedeb =$_POST['Date_dbt']."\n";
$datefin =$_POST['Date_fin']."\n";
$type =$_POST['type']."\n";
$rem =$_POST['Remarque']."\n";
$message =$nom.$prenom.$datedeb.$datefin.$type.$rem;


et sur la 2eme page :

<?php
session_start();
echo $_SESSION['Nom'];

A soir que j'utilise EasyPhp pour tout ca et que une fois le formulaire envoyer ( par mail ) il y a un lien dans le mail qui me permetterai d'ouvrire ma 2eme page php ou j'y afficherai le nom et le prenom de la personne qui a rempli le formulaire
C'est effecitevement ca :)
Mais malheuresement rien ne s'affiche :(
Ps: c'est des simple ' ' en php
Messages postés
272
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
6 janvier 2019
42
et si tu essaie d'adapter ce code à ton site :
Creating New Session
==========================
<?php
session_start();
/*session is started if you don't write this line can't use $_Session global variable*/
$_SESSION["newsession"]=$value;
?>
Getting Session
==========================
<?php
session_start();
/*session is started if you don't write this line can't use $_Session global variable*/
$_SESSION["newsession"]=$value;
/*session created*/
echo $_SESSION["newsession"];
/*session was getting*/
?>
Updating Session

(source : documentation php.net)
c'est plus ou moins se que l'on avais modifier au dessus
j'ai donc adapter comme convenu , mais toujours le même problème , aucun message d'erreur , mais aucun résultat sur ma 2eme page

Merci l'aide apportée
Messages postés
272
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
6 janvier 2019
42
Alors ça ça me la coupe
j'irai voir le code source de mes sites une fois rentré du boulot (vers 17h), car chez moi ça avait fonctionné
Pas de soucis ^^ je répondrais sans doute plus tard vers 20h30
Merci beaucoup
Messages postés
2567
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
23 septembre 2021
461
Salut,

Tu as fait l'inverse pour enregistrer une variable de session, la variable à affecter doit être à gauche du symbole =.

Donc pour enregistrer la valeur de $_POST['Nom'] en session :
$_SESSION['Nom'] = $_POST['Nom'];


Bonne journée
Messages postés
272
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
6 janvier 2019
42
mince, il se peut aussi que j'ai malencontreusement inversé,
si c'est la solution, désolé de ma maladresse :p
Bonjour,

Meme en faisant ca sur la 1er page:
<?php
session_start();

if($_POST) {


$nom =$_POST['Nom']."\n";
$_SESSION['nom'] = $_POST['Nom'];

// code

et sur la 2eme :

<?php
session_start();
$nom = $_SESSION['Nom'];

echo $_SESSION['Nom'];

?>

rien ne s'affiche sur la 2eme page
Problème résolut ^^
Ça marche enfin :D

Merci beaucoup pour cette aide précieuse ^^
Bonne journée :)
Messages postés
272
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
6 janvier 2019
42
comment as-tu fait ?
Comme tu le l'a indiqué , j'ai inversé :
1er page :
$nom =$_POST['Nom']."\n";
$_SESSION['Nom'] = $_POST['Nom'];

2eme page :

echo $_SESSION['Nom'];


Maintenant un autre problème ce pose ^^mais je vais essayer de le résoudre '-'
Le contenu des variables s'affiche bien sur ma 2eme page une fois que j'ai cliquer sur le lien dans le mail ^^ mais malheureusement elle ne reste pas sur la page.
J'aimerais que ces informations ( nom , prénom etc ) reste sur la pages constamment et donc si je rempli une 2eme fois ce formulaire, la 2eme page affiche non seulement les information que j'ai rentré la 1er fois dans le formulaire mais également les informations que j'ai remplis la 2eme fois dans le formulaire
Messages postés
272
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
6 janvier 2019
42 > trunks02
Tu pourrais essayer avec une base de donnée ?
Je ne sais pas si c'est la meilleure solution, mais c'est celle que je choisirais personnellement, après je ne veux pas véhiculer de mauvaises habitudes aux autres :)
Ca serrais effectivement très pratique et j'y ai déjà pensé avant même de commencer ce projet, car je bosse avec easyPHP, malheureusement c'est un projet que je doit envoyer a une certaine personne et si je lui envoie ça, elle ne dispose d'aucune base de donnée ^^

C'est pour cela que je cherche une autre solution pour garder ces variables permanente sans passer par une base de donné.
Messages postés
272
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
6 janvier 2019
42
et tu ne peux pas héberger ce dit projet sur un serveur ?
sinon tu pourrais essayer de créer une base de données locale avec json ou xml, je ne sais pas si c'est possible, j'ai jamais essayé, mais j'ai oui dire que l'on pouvais le faire .
Messages postés
1
Date d'inscription
samedi 19 décembre 2015
Statut
Membre
Dernière intervention
19 décembre 2015

Re,

je verrais plus tard pour ce détail ^^ merci de l'aide :)
J'aimerai également savoir si c'est possible de mettre plusieurs adresser sur le sendmail_from dans le fichier php.ini ?

En faite j'aimerais mettre plusieurs adresse mail ^^ c'est possible ?
Merci