Есть ли способ передать значения и переменные между php-скриптами?
Формально я пытался закодировать страницу входа и когда пользователь вводит неправильный ввод, первый другой скрипт проверяет ввод, а если он ошибочен, сайт возвращается к последней странице сценария и показывает предупреждение типа «Это неправильный ввод». Для этой цели мне нужно передать значения из сценариев, я думаю.
С уважением …: P
Для передачи информации через GET :
header('Location: otherScript.php?var1=val1&var2=val2');
Сессия :
// first script session_start(); $_SESSION['varName'] = 'varVal'; header('Location: second_script.php'); // go to other // second script session_start(); $myVar = $_SESSION['varName'];
Сообщение : Взгляните на это .
Не можете ли вы include
(или include_once
или require
) другой скрипт?
Вы должны изучить переменные сеанса . Это включает в себя хранение данных на сервере, связанных с определенным ссылочным номером («идентификатор сеанса»), который затем отправляется браузером по каждому запросу (как правило, в виде файла cookie). Сервер может видеть, что тот же пользователь обращается к странице, и он устанавливает $_SESSION
чтобы отразить это.
Например:
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"
Быстрый способ – использовать глобальные или сеансовые переменные.
global $variable = 'something';
«Лучшим» способом сделать это будет включение сценария и передача переменной по параметру, например:
// script1.php contains function 'add3' function add3( $value ) { return $value + 3; } // script2.php include "script1.php"; echo 'Value is '.add3(2); // Value is 5
Я бы сказал, что вы также можете сохранить переменную в кеше, если вам действительно нужно.
Вы можете использовать:
tempnam()
), memcached
, redis
), $_SESSION
), но сначала нужно начать сеанс. Я использую метод extract()
для передачи переменной среди PHP-скриптов . Это выглядит как пример:
1. Файл index.php
<?php $data = [ 'title'=>'hello', 'content'=>'hello world' ]; extract($data); require 'content.php';
2. Файл content.php :
<?php echo $title; echo $content;