доступ к переменной из другого файла?

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
У меня в первом php файле написан скрипт, в котором определена переменная $a. Во втором написан скрипт в который нужно взять значение $a из первого файла. Как достучаться до переменной и взять ее значение во второй файл?
 
сделать include первого файла во втором.
 
Вызвать второй файл с передачей переменной методом POST или GET.
В 1.php:
PHP:
$query = '/2.php?a='.$a;
file_get_contents($query);
 
Ясно. Спасибо.
Допустим я подгрузил в 2.php переменную $a из 1.php , изменил ее значение в 1.php, теперь мне нужно новое значение этой переменной записать снова в 2.php
(например значение из формы:

PHP:
<form  name=change_val id=new>
<input  type=text name=newvalue />
<input id=change type=submit value="изменить">

)

Как это можно реализовать?
 
Ясно. Спасибо.
Допустим я подгрузил в 2.php переменную $a из 1.php , изменил ее значение в 1.php, теперь мне нужно новое значение этой переменной записать снова в 2.php


PHP:
// file name  2.php

$a = 2;
include "1.php";
echo $a;

PHP:
// file name  1.php
$a = 1;

так как переменные являются глобальными то изменение их в 1 файле повлечет за собой их "автоматическое" изменение в 2 файле ...
 
блин, не правильно написал...

Допустим я подгрузил в 2.php переменную $a из 1.php , изменил ее значение в 2.php, теперь мне нужно новое значение этой переменной записать снова в 1.php

в таком случае я должен в 1.php include "2.php", а в 2.php include "1.php" ?

Сделать include друг на друга?)

Добавлено через 9 минут
так долго объяснять.

У меня два файла maxids.php и admin.php:

первый: maxids.php
В нем переменная с выставленным значением, которое нужно изменить.

содержание:
PHP:
<?php
include('/mode/admin.php');
//переменная максимального количества юзеров для реги
$max_id = 3;
?>

второй admin.php
в нем форма значение которой записывается в переменную значением которой нужно изменить значение $max_id в файле maxids.php

содержание:

PHP:
<?
include($doc_root.'libs/maxids.php');
?>

<form action="" method="post"> 
<input  type=text name=newvalue /> 
<input name=change type=submit value="изменить"> 
</form>

<?
$new_id = !empty($_POST['newvalue'])?$_POST['newvalue']:null;
$max_id = $new_id;
echo('Количество участников изменено на ' . '<b>' . $max_id . '</b>');
?>

где я накосячил?)

Добавлено через 26 минут
тут наверное для записи нового значения в maxids.php
нужно юзать функции
fopen
fwrite
Верно?
 
в таком случае я должен в 1.php include "2.php", а в 2.php include "1.php" ?
будет зацикливание и сервак повиснет ...
если только в каком-то из файлов не будет выход по условию, типа

if( условие ) exit;



тут наверное для записи нового значения в maxids.php
нужно юзать функции
fopen
fwrite
Верно?

в файле maxids.php есть какой-то пхп-код кроме присвоения переменной значения ?
т.е. выполняются еще какие-то действия?

если не выполняются - то использовать ф-ции fopen, fwrite ...
более того в том файле тогда нужно хранить лишь само значение, без присвоения или тегов "<?php", а тупо само число.
и в файле admin.php просто его считывать .... ну и если его изменили то перезаписывать

если выполняются то можно попробовать как-то так
PHP:
<?php 
//maxids.php
$max_id = 3; 

if(isset($new_id))
{
    $max_id = $new_id;
    
    // а тут соответственно действия с обновленным $max_id
}
// ну или тут  
?>

PHP:
<?php  
//admin.php
// есил в  admin.php  нужна переменная которая находится в maxids.php
// делаем инклюд    
    include($doc_root.'libs/maxids.php'); 
?>

<form action="" method="post">  
<input type=text name=newvalue />  
<input name=change type=submit value="изменить">  
</form> 


<?php
if(isset($_POST['newvalue']))  
{
    $new_id = !empty($_POST['newvalue'])?$_POST['newvalue'] : null;     
    echo('Количество участников изменено на ' . '<b>' . $new_id . '</b>');     
    //так походу 
    include($doc_root.'libs/maxids.php');
    
}else {
    echo "количество участников " . $max_id; 
}
?>
 
походу лучше в базу записать значение $max_id и от туда ее выцеплять)
 
Помогите пожалуйста значение $max_id записать в поле maxid таблицы gs_maxusers базы golos вот в этом скрипте:
PHP:
<form action="" method="post"> 
<input  type=text name=newvalue value="<?=$max_id?>"/> 
<input name=change type=submit value="изменить"> 
</form>
<?
$new_id = !empty($_POST['newvalue'])?$_POST['newvalue']:null;
$max_id = $new_id;
// если введенное значение числовое...
if(is_numeric($max_id)&&settype($max_id, "integer")==true) {
// Записываем в поле maxid  таблицы gs_maxusers базы golos значение $max_id
echo('Количество участников изменено на ' . '<b>' . $max_id . '</b>'); }
// а ежели нет, то...
else { echo('Вы ввели не числовое значение. Введите целое число.');}
?>
Содержимое таблицы gs_maxusers базы golos :
PHP:
CREATE TABLE IF NOT EXISTS `gs_maxusers` (
  `id` int(6) unsigned NOT NULL AUTO_INCREMENT,
  `maxid` int(6) unsigned NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

пробовал вот так:
PHP:
$new_id = !empty($_POST['newvalue'])?$_POST['newvalue']:null;
$max_id = $new_id;
// если введенное значение числовое...
if(is_numeric($max_id)&&settype($max_id, "integer")==true) {
mysql_query("INSERT INTO gs_maxids('id','idmax') VALUES('1', '5')");
....
чета не записывает((
 
Назад
Сверху