web-dev-qa-db-fra.com

Passer un PHP valeur de variable via un formulaire HTML

Dans une forme html, j'ai une variable $var = "some value";

Je veux appeler cette variable après le formulaire posté. Le formulaire est posté sur la même page. 

Je veux appeler ici

if (isset($_POST['save_exit']))
{

    echo $var; 

}

Mais la variable n'imprime pas. Où dois-je utiliser le code GLOBAL ?? 

4
user2642907

EDIT: Après vos commentaires, je comprends que vous souhaitiez passer de variable à travers votre formulaire.

Vous pouvez le faire en utilisant un champ caché:

<input type='hidden' name='var' value='<?php echo "$var";?>'/> 

Dans le fichier d'action PHP:

<?php 
   if(isset($_POST['var'])) $var=$_POST['var'];
?>

Ou en utilisant sessions: Dans votre première page:

 $_SESSION['var']=$var;

start_session(); devrait être placé au début de votre page php.

Dans le fichier d'action PHP:

if(isset($_SESSION['var'])) $var=$_SESSION['var'];

Première réponse:

Vous pouvez également utiliser $GLOBALS:

if (isset($_POST['save_exit']))
{

   echo $GLOBALS['var']; 

}

Cochez cette documentation pour plus d'informations.

21
Charaf JRA

Essayez ça

Première place

global $var;
$var = 'value';

La deuxième place

global $var;
if (isset($_POST['save_exit']))
{
    echo $var; 
}

Ou si vous voulez être plus explicite, vous pouvez utiliser le tableau globals:

$GLOBALS['var'] = 'test';

// after that
echo $GLOBALS['var'];

Et voici une troisième option qui n'a rien à voir avec PHP global, qui est due au manque de clarté et d'information dans la question. Donc, si vous avez un formulaire en HTML et que vous voulez passer "variable"/valeur à un autre script PHP, vous devez procéder comme suit:

Formulaire HTML

<form action="script.php" method="post">
    <input type="text" value="<?php echo $var?>" name="var" />
    <input type="submit" value="Send" />
</form>

PHP script ("script.php")

<?php

$var = $_POST['var'];
echo $var;

?>
0
infinity