Передача переменных в PHP из одного файла в другой - PullRequest
1 голос
/ 31 декабря 2010

Так что это мой код. Теперь, как мне использовать $ pubname в другом файле.

mysqli_select_db($connect,"membership");
$retname = "select username from users where email='$globalname' limit 1";
$rn = mysqli_query($connect,$retname) or die(mysqli_error($connect));
$name = mysqli_fetch_array($rn);
    //connecting for mathcing username with fullname and displaying it
$pubname = mysqli_real_escape_string($name['username']);

include('profile.php');

echo $pubname;

а также этот код безопасен? Я так и сделал ... пока не работает.

Ответы [ 3 ]

6 голосов
/ 31 декабря 2010

Включите файл, в котором вы хотите, чтобы переменная была доступна, например,

include('somefile.php')

и в верхней части этого файла вам может понадобится поставить что-то вроде [в зависимости от сервераконфигурации]

global $pubname

Но в большинстве случаев вам не нужно этого делать.

Что касается безопасности, в зависимости от того, как установлен $pubname, ваш запрос может или не может быть склонным к sql injection.

Примечание. Существуют и другие средствадо include() файлов, таких как include_once(), require() и require_once(), с php.net :

Приведенная ниже документация также применяется к require ().Эти две конструкции идентичны во всех отношениях, за исключением того, как они обрабатывают сбой.include () выдает предупреждение, а require () приводит к фатальной ошибке.Другими словами, используйте require (), если вы хотите, чтобы отсутствующий файл остановил обработку страницы.include () не ведет себя таким образом, скрипт будет продолжаться независимо.Убедитесь, что у вас есть соответствующая настройка include_path.Имейте в виду, что ошибка синтаксического анализа в требуемом файле не приводит к остановке обработки в версиях PHP до PHP 4.3.5.Начиная с этой версии, он делает.

1 голос
/ 31 декабря 2010

Чтобы использовать $pubname в другом скрипте, сохраните его как глобальную переменную.Вам не нужно повторять это.(Как предостережение: глобальные переменные следует использовать с осторожностью, желательно, чтобы они были сосредоточены в массиве.)

Что касается безопасности: вам следует использовать mysqli_real_escape_string, а не $globalname непосредственно перед его использованием.И избегайте только $pubname прямо перед тем, как использовать его в следующем запросе.Как это выглядит сейчас, вы без необходимости кодируете выходные данные, но забыли избежать экранирования ввода, для которого на самом деле предназначен _escape_string.

0 голосов
/ 31 декабря 2010

для использования pubname в другом файле. Сначала вы должны включить файл, где pubname был установлен / создан.

затем используйте функцию include() или require() для вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...