2012-02-24 2 views
0

Я успешно установил HTML-форму в PHP File # 1 и успешно разместил данные формы в PHP File # 2. Теперь то, что я пытаюсь сделать, это взять опубликованные данные из PHP File # 2 и сохранить его как переменную в новом файле под названием PHP File # 3. В этой ситуации пользователь будет отправлять строку поиска через поле ввода, и все, что я хочу сделать, это использовать эту информацию, которая будет храниться как переменная для последующего использования во внешнем PHP-файле.PHP file_get_contents Синтаксис

Итак, допустим, пользователь отправляет «Джон Смит» через поле ввода. Прямо сейчас, «Джон Смит» будет опубликован в PHP File # 2 (он также превращается в переменную там, называемую «$ query». Поэтому я просто хочу создать ту же переменную в 3-м PHP-файле (также называемом «$ query ') и сохранить содержимое из формы. Но поскольку это из внешнего источника, я не знаю точного синтаксиса о том, как это сделать.

Если кто-то может просто показать общий пример этого для того, чтобы вытащить информацию из второго файла PHP, это было бы очень полезно. Я уверен, что мы будем использовать file_get_contents, но я не понимаю, как вытащить определенную часть информации из переменной во втором PHP-файле.

+0

Кажется, вы предлагаете физически редактировать второй файл php для хранения содержимого переменной ... что нехорошо. Вы можете либо использовать что-то вроде текстового файла для временного хранения информации, либо использовать сеансы. –

ответ

2

Один из наиболее распространенных способов обработки данных - хранить данные, необходимые в сеансе на странице # 2, и вытаскивать их из сеанса на странице # 3.

например. (Скелетным пример)

страница 2

<?php 
session_start(); 
$query = isset($_POST['query']) ? trim($_POST['query']) : false; 

if (false === $query) 
    throw new Exception('Missing query.'); 

// Do whatever you need to with it. 

$_SESSION['query'] = $query; 

страница 3

<?php 
session_start(); 
$query = isset($_SESSION['query']) ? $_SESSION['query'] : false; 

if (false === $query) 
    throw new Exception('Missing query.'); 
+0

Привет, Шон, кажется, имеет смысл. Я действительно сделал что-то вроде этого с файлом # 2 (без сеанса), который просто повторил запрос в iframe, и он сработал. Но теперь, когда я пытаюсь добавить сеанс и все еще повторяю запрос, он не отображается в iframe - он показывает, что ошибка, которую веб-страница не может отображать. Любые мысли, почему это может быть? –

+0

У вас есть выход (хотя бы одно пространство будет делать это) перед вызовом 'session_start()'? – simshaun

+0

nevermind Я исправил его ..... теперь на вашей странице 3 ответ ... извините –

1

Вы можете использовать сессии, чтобы сделать это. Например:

1.php Код:

$data= 'somekind of data'; 
session_start(); 
$_SESSION['value']= $data; 

2.php Код:

session_start(); 
echo(isset($_SESSION['value']))? $_SESSION['value'] : 'Nothing Found'; 

http://lv.php.net/manual/en/function.session-start.php

P.S. Прочитайте что-нибудь о куки-файлах PHP и сеансах

Смежные вопросы