Est-il possible de passer des valeurs et des variables entre les scripts php?
Formellement, j'ai essayé de coder une page de connexion et lorsque l'utilisateur saisit d'abord une entrée fausse, un autre script vérifie l'entrée et, si elle est fausse, le site revient à la dernière page de script et affiche un avertissement du type "C'est une entrée incorrecte". Pour cela, je suppose que je dois transmettre les valeurs des scripts.
Cordialement ...: P
Pour transmettre des informations via GET :
header('Location: otherScript.php?var1=val1&var2=val2');
Session :
// first script
session_start();
$_SESSION['varName'] = 'varVal';
header('Location: second_script.php'); // go to other
// second script
session_start();
$myVar = $_SESSION['varName'];
Post : jetez un coup d'œil à this .
Ne pouvez-vous pas include
(ou include_once
ou require
) utiliser l'autre script?
Vous devriez regarder dans variables de session . Cela implique de stocker sur le serveur des données liées à un numéro de référence particulier ("identifiant de session") qui est ensuite envoyé par le navigateur à chaque demande (généralement sous forme de cookie). Le serveur peut voir que le même utilisateur accède à la page et définit le $_SESSION
superglobal pour refléter cela.
Par exemple:
a.php
session_start(); // must be called before data is sent
$_SESSION['error_msg'] = 'Invalid input';
// redirect to b.php
b.php
<?php
session_start();
echo $_SESSION['error_msg']; // outputs "Invalid input"
Le moyen le plus rapide serait d’utiliser des variables globales ou de session.
global $variable = 'something';
La "meilleure" façon de le faire serait d'inclure le script et de passer la variable par paramètre comme
// script1.php contains function 'add3'
function add3( $value ) {
return $value + 3;
}
// script2.php
include "script1.php";
echo 'Value is '.add3(2); // Value is 5
J'utilise la méthode extract()
pour transmettre la variable entre PHP Scripts . Cela ressemble à l'exemple ci-dessous:
1. Fichier index.php
<?php
$data = [
'title'=>'hello',
'content'=>'hello world'
];
extract($data);
require 'content.php';
2. Fichier content.php :
<?php
echo $title;
echo $content;
Je dirais que vous pouvez également stocker une variable dans le cache si vous en avez vraiment besoin.