Как передать переменную в файл, который я включаю? - PullRequest
0 голосов
/ 14 сентября 2010

Я пытаюсь передать переменную во включенный файл.Я сделал что-то вроде этого:

$id = $_GET['id']; include('myfile.php');

И файл 'myfile.php' содержит форму и кнопку отправки.Это страница обработки 'process.php', и в ней я сделал:

$_id = var_dump($id);

// insert query

Но я не получил значение переменной, поэтому вставлено 0в таблицу.

Есть ли другой способ сделать это проще?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 14 сентября 2010

Функция.

Пусть myfile.php объявляет функцию (например, myfunction), которую вы вызываете во включающем скрипте.

Например:

// main.php
<?php

include('myfile.php');

process_data($_GET['id']);

// myfile.php
<?php

function process_data($id) {
    $query = 'SELECT * FROM foobar WHERE id = ' . mysql_real_escape_string($id);

    // ...
}

Если вы действительно хотите передать переменную как глобальную, и вы ссылаетесь на глобальную в функции или методе, обязательно укажите ее как $GLOBALS['varname'] или используйте global $varname:

function process_data() {
    $id = &$GLOBALS['id'];
    // or
    global $id;

    // ...
}
0 голосов
/ 14 сентября 2010

вы должны передать значение $ id внутри вашей формы в myfile.php

пример:

<form action="process.php" method="post">
  <input type="hidden" name="id" value="<?= $id ?>">
  <!--- rest of your form -->
</form>

в вашем process.php, получить идентификатор обратно следующим образом исделай тогда свой запрос.

$form_id = $_POST['id'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...