Переменные в php

12 3
Segey
На сайте с 23.08.2005
Offline
404
1521

Столкнулся с такой проблемой. В скрипте есть переменные, которые будут использоваться все время всем скриптом. Вот возник вопрос, как их лучше всего хранить?

Под лучше я имею ввиду: безопаснее, удобнее и т.п. т.е. цена\качество по сути говоря...

Как их записать в файл и в каком виде это сделать лучше?

Лучшее что пока пришло в голову это:

$peremen1 = znachenie1

$peremen2 = znachenie2

Или может это не лучший вариант?

Brexit - уже совсем рядом. (https://about-this-model.blogspot.com/2019/03/brexit.html)
E
На сайте с 21.10.2005
Offline
59
#1

а причем здесь запись в файл? объясните подробнее цель. Переменные в пределах одного скрипта видны везде

цццюнфтвучюкг (http://opechat.ca/perevod/yandex_ru/) и нфтвучюкг (http://opechat.ca/perevod/yandex_ru/) - это диагноз!
СКОРПИОН
На сайте с 05.01.2006
Offline
120
#2

Segey, для чего это нужно? Подробнее.

Если нужно передавать данные между скриптами, то для этого надо ознакомиться с механизмом сессий.

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
Segey
На сайте с 23.08.2005
Offline
404
#3

СКОРПИОН,

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

Я не настолько силен еще в php, чтобы найти оптимальный вариант для их хранения. Про сессии сейчас почитаю, пока незнаю ничего про них.

evgwest,

Я подумал, что можно записать их в файл в таком виде:

$peremen1 = znachenie1

$peremen2 = znachenie2

после того, как они появились, только незнаю как это сделать...

Если один скрипт - это один файл, то тут не так. У меня много файлов получается...

E
На сайте с 21.10.2005
Offline
59
#4
Segey:
evgwest,
Я подумал, что можно записать их в файл в таком виде:
$peremen1 = znachenie1
$peremen2 = znachenie2
после того, как они появились, только незнаю как это сделать...
Если один скрипт - это один файл, то тут не так. У меня много файлов получается...

Почитайте про MySQL... пригодится.... с файлами не заморачивайтесь

Segey
На сайте с 23.08.2005
Offline
404
#5

evgwest,

Я вот и использую, но как я буду хранить данные о Mysql в Mysql?

Мне нужно данные для соединения с базой как-то записать, чтобы где надо их брать из файла и соеденятся с базой данных. Я сделал форму, которая создают БД и соответственно появляются переменные, которые соответствуют значениям базы. Все вроед бы работает, вот только одна проблема: как эти переменные с делать доступными во всех файлах скрипта?

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#6

Segey, понял. Именно так и делается для сохранения атрибутов доступа к БД. Нужно создать файл, в котором описать переменные и их значения. Файл разместить в какой-нибудь папке, доступ к которой будет иметь только скрипт, чтобы другие не смогли увидеть этих данных.

А во всех скриптах, где нужны эти переменные использовать оператор include для подключения этого скрипта. Прочитать про него можно, например, здесь:

http://phpclub.ru/manrus/cont/include.html

Segey
На сайте с 23.08.2005
Offline
404
#7

СКОРПИОН,

Я так и видел во многих скриптах, только никак понять немогу как они создают запись такого вида:

<?php

$mysqlserver = localhost;

?>

Т.е. запись в таком виде в файл добавляется? Я просто немогу никак разобраться в чужих скриптах и никак немогу вделить тот участок, который именно это делает. Мой код благополучно не работает. Я сдела массивом, может и не нужно было, но вот так это выглядит:

// Записываем в файл конфигурации данные о базе данных, создаем массив из данных обазе

$basem = array("server"=>$mysqlserver,"username"=>$mysqlusername,"pass"=>$mysqlpassword,"basename"=>$mysqlbasename);
file_put_contents (config.php, $basem);

Я так понимаю после этого в файле должна появиться запись, которая находится в переменной:

$basem 

т.е. массив. Но этого не происходит никак😕

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#8

Segey, я правильно понял, что один скрипт создаёт БД. Потом должен создаться файл config.php, в котором буду храниться атрибуты для доступа к этой базе данных. Этот config.php должен использоаться другими скриптами. Если да, то можно сделать так:


<?php
$cfg = fopen("config.php", "wb");

fwrite( $cfg,
"
<?php
\$server = '$mysqlserver';
\$basename = '$mysqlbasename';
\$username = '$mysqlusername';
\$pass = '$mysqlpassword';
?>
");

fclose($cfg);

?>

В итоге, будет создан файл config.php следующего содержания:


<?php
$server = 'имя сервера';
$basename = 'имя БД';
$username = 'имя пользователя';
$pass = 'пароль';
?>

E
На сайте с 21.10.2005
Offline
59
#9

Все гораздо проще...

1)Создайте файл connect.inc такого содержания:

	<?

define('DB_HOST', 'localhost'); // database host
define('DB_USER', 'user'); // username
define('DB_PASS', 'pass'); // password
define('DB_NAME', 'db_name'); // database name
?>

2)Во всех файлах использующих БД

вставьте:

	include("connect.php");

3)Теперь соединение к примеру можно делать так:

mysql_connect($db_host,$db_user,$db_pass);
E
На сайте с 21.10.2005
Offline
59
#10

Ой.... пока писал ответ меня уже опередили.....

Ни фига не понимаю тогда вопрос

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий