[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как переписать переменную в другом файле ?
kuzmit4
Добрый день. Интересует следующий вопрос - как переписать переменную в другом php фале.
Есть два файла.
1. файл index.php
В нем кнопка "переписать переменную"
Код inedx.php
<?php
echo "
<form action=
\"\">
<input type=
\"password\" placeholder=\"Пароль\" name=\"password\" />
<input type=
\"submit\" value=\"Задать пароль\" />
</form>
"
;
?>

2. файл test.php
В нем будет куча кода и переменная $a - по нажатию на кнопку в файле index.php - нужно в переменную $a занести какое-то значение.
Код test.php
<?php
// ... много кода php
$a = ""; //сюда надо занести значение по нажатию на кнопку в другом файле
// ... много кода php

?>


Есть ли возможность такое сделать не меняя остальной код в test.php
А только задать значение в переменную ?
Подскажите пожалуйста как сделать, или направьте на работающий велосипед.
Спасибо, с ув. Дмитрий!
Игорь_Vasinsky
Цитата
<form action=\"\">


замени на

<form action=\"\" method='POST'>


тогда твоя переменная будет в $_POST['password']

иначе она в $_GET['password']

но GET тебе не надо. поверь на слово.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
stump
Цитата (kuzmit4 @ 1.06.2015 - 15:55)
<?php
echo "
<form action=
\"\">
<input type=
\"password\" placeholder=\"Пароль\" name=\"password\" />
<input type=
\"submit\" value=\"Задать пароль\" />
</form>
"
;
?>

ув. Дмитрий!
Ноги не ломай, чтобы костылями не пользоваться :)

<?php
echo "
<form action='test.php'>
<input type='password' placeholder='Пароль' name='password' />
<input type='submit' value='Задать пароль' />
</form>
"
;
?>


_____________
Трус не играет в хокей
kuzmit4
Дело в том что мне нужно переписать переменную (переписать сам файл физически) а не передать значение переменной GET или POST
AllesKlar
kuzmit4
Нет, тебе это не нужно.
Ты этого хочешь, но тебе это не нужно.

Переменная нужна для того, чтобы читать откуда-то данные в нее.
если не хочешь GET / POST, используй внешние источники данных (база, промежуточный файл, сессия).
первый файл пишет туда данные, второй файл их оттуда читает.

_____________
[продано копирайтерам]
arbuzmaster
Тогда не понятно в чем проблема? Открываем файл, ставим дескриптор на позицию где будет записана переменная , запоминаем все что после дескриптора и до конца файла, пишем переменную а затем все что запомнили , закрываем файл.Как то так! Но проще записать в БД а в нужном файле её считать из БД

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
AllesKlar
Цитата (arbuzmaster @ 2.06.2015 - 21:59)
Тогда не понятно в чем проблема? Открываем файл, ставим дескриптор на позицию где будет записана переменная , запоминаем все что после    дескриптора и до конца файла, пишем переменную а затем все что запомнили , закрываем файл.Как то так! Но проще записать в БД а в нужном файле её считать из БД

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

$a = '  foo ;
bar '
. '; ;$b=22; ; ' . "
"
;$b = 15;


Накидай по-быстрому перезапись переменной $a;
Если ТС задает такой дилетанский вопрос (что не стыдно), то навярняка у него не хватит опыта предусмотреть все возможные варианты, коими могла быть объеявлена переменная в скрипте.

_____________
[продано копирайтерам]
spooki
На вскидку.
Переделать легко. Взял из старого своего проекта.
Создаешь файл test.php
<?php
$text='Fuck you world!!!';
echo ($text);
print $a;
$textw='REAL Fuck you world!!!';
echo ($textw);
?>

переменная print $a; заменится на print $_a="my function or bla-bla code";

Основной файл с примерным кодом
<?php
session_start();
$test = read('test.php');
$a = 'my function or bla-bla code';
$test = str_replace('$a', '$_a="'.$a.'"', $test);
$zip = new ZipArchive;
$archiveName = "$code.zip";
if ($zip->open($archiveName, ZipArchive::CREATE) === true){

$zip->addFromString($code.'/test.php', $test);
$zip->close();

sleep(1);

header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=".basename($archiveName).";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($archiveName));
readfile("$archiveName");
}
function read($file){
$f = @fopen($file, 'r');
@flock($f, LOCK_SH);
if($f){
clearstatcache();
$data = @fread($f, filesize($file));
@flock($f, LOCK_UN);
@fclose($f);
}
return $data;
}
?>


Архивирование убрать и будет файл test.php с измененным содержимым

_____________
XMLSEO сервис купли-продажи Яндекс.XML лимитов и туннелирования Yandex и Google выдачи
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.