Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите сделать так, чтобы ссылка где есть файл .php в покет коде выводил не весь код, а только текст.

Вильям Сидоровский Ученик (108), на голосовании 2 недели назад
У меня есть вот такой код.

<html>

<title>ggtfPocketCode</title>

<body bgcolor="#222222" text="#fff">

<?php

$perem = 0;

if (isset($_GET["perem"])) {

$perem = $_GET["perem"];

$filePath = 'perem' . $perem . '.txt';

$file = file($filePath);

if ($file === false) {

echo 'Ошибка: Не удалось открыть файл.';

exit();

}

$peremval = 0;

if (isset($_GET["peremval"])) {

$peremval = $_GET["peremval"];

if ($peremval == 0) {

// Если peremval равно 0, показываем значение переменной perem

$peremvalue = $file[1];

echo $peremvalue;

} else {

// Если peremval не равно 0

if (isset($_GET["value"])) {

$value = $_GET["value"];

// Проверяем, является ли value числом и не равно ли оно нулю

if (!is_numeric($value) || $value == 0) {

$valueaaa = $file[1];

$nameper = $file[0];

// Открываем файл для записи

$writ = fopen($filePath, "w");

if ($writ) {

fwrite($writ, $nameper . PHP_EOL . $valueaaa);

fclose($writ);

} else {

echo 'Ошибка: Не удалось открыть файл для записи.';

}

} else {

$nameper = $file[0];

// Открываем файл для записи

$writ = fopen($filePath, "w");

if ($writ) {

fwrite($writ, $nameper . $value);

fclose($writ);

} else {

echo 'Ошибка: Не удалось открыть файл для записи.';

}

}

}

}

}

}

if (isset($value)) {

echo $value;

}

?>

</body>

</html>

Надо чтобы в покет коде при отправке веб-запроса в переменную выводило только текст из переменной $peremvalue и $value, нужно исправить код который предоставил я, пожалуйста помогите я новичок в этом всём.

Ссылка - http://w91021zo.beget.tech/ggtfPocketCode/ggtf3000/perems.php?perem=5&peremval=0, выдаёт весь код, а надо $peremvalue и $value.
В этой ссылке текст - тестовое значение переменной, вот нужно его.
Голосование за лучший ответ
Григорий Крюков Мудрец (15191) 1 месяц назад
<?php
header('Content-Type: text/plain'); // Устанавливаем заголовок, чтобы вывод был текстом

$perem = 0;

if (isset($_GET["perem"])) {
$perem = $_GET["perem"];
$filePath = 'perem' . $perem . '.txt';
$file = file($filePath);

if ($file === false) {
echo 'Ошибка: Не удалось открыть файл.';
exit();
}

$peremval = 0;

if (isset($_GET["peremval"])) {
$peremval = $_GET["peremval"];

if ($peremval == 0) {
// Если peremval равно 0, показываем значение переменной perem
$peremvalue = trim($file[1]);
echo $peremvalue;
} else {
// Если peremval не равно 0
if (isset($_GET["value"])) {
$value = $_GET["value"];

// Проверяем, является ли value числом и не равно ли оно нулю
if (!is_numeric($value) || $value == 0) {
$valueaaa = trim($file[1]);
$nameper = trim($file[0]);

// Открываем файл для записи
$writ = fopen($filePath, "w");

if ($writ) {
fwrite($writ, $nameper . PHP_EOL . $valueaaa);
fclose($writ);
} else {
echo 'Ошибка: Не удалось открыть файл для записи.';
}
} else {
$nameper = trim($file[0]);

// Открываем файл для записи
$writ = fopen($filePath, "w");

if ($writ) {
fwrite($writ, $nameper . PHP_EOL . $value);
fclose($writ);
} else {
echo 'Ошибка: Не удалось открыть файл для записи.';
}
}

echo $value;
}
}
}
}
?>


Внесены следующие изменения:

Добавлен заголовок Content-Type: text/plain, чтобы браузер отображал вывод как текст.

Убраны HTML-теги, оставлен только PHP-код.

Использована функция trim(), чтобы убрать лишние пробелы и переносы строк из значений.

Теперь при запросе будут выводиться только значения переменных $peremvalue и $value, как требуется. Попробуйте этот код и посмотрите, работает ли он так, как вы ожидаете!
Вильям СидоровскийУченик (108) 1 месяц назад
Спасибо, сейчас проверю
Григорий Крюков Мудрец (15191) Вильям Сидоровский, поставь лайк
Михаил Остроух Знаток (324) 1 месяц назад
Чтобы ваш PHP-код выводил только текст из переменных `$peremvalue` и `$value`, вам нужно изменить логику вывода. В данном случае, вам необходимо убедиться, что все остальные части кода не выводятся, и оставить только нужные значения.

Вот исправленный вариант вашего кода:

```php
<html>
<title>ggtfPocketCode</title>
<body bgcolor="#222222" text="#fff">
<?php
$perem = 0;
$peremvalue = '';
$value = '';

if (isset($_GET["perem"])) {
$perem = $_GET["perem"];
$filePath = 'perem' . $perem . '.txt';
$file = file($filePath);

if ($file === false) {
echo 'Ошибка: Не удалось открыть файл.';
exit();
}

if (isset($_GET["peremval"])) {
$peremval = $_GET["peremval"];
if ($peremval == 0) {
// Если peremval равно 0, показываем значение переменной perem
$peremvalue = trim($file[1]);
} else {
// Если peremval не равно 0
if (isset($_GET["value"])) {
$value = $_GET["value"];
// Проверяем, является ли value числом и не равно ли оно нулю
if (!is_numeric($value) || $value == 0) {
$value = trim($file[1]);
} else {
$nameper = trim($file[0]);
// Открываем файл для записи
$writ = fopen($filePath, "w");
if ($writ) {
fwrite($writ, $nameper . $value);
fclose($writ);
} else {
echo 'Ошибка: Не удалось открыть файл для записи.';
}
}
}
}
}
}

// Выводим только текст из переменных
if (!empty($peremvalue)) {
echo $peremvalue;
} elseif (!empty($value)) {
echo $value;
}
?>
</body>
</html>
```
Я убрал вывод всего кода, оставив только вывод значений `$peremvalue` и `$value`.
Добавил проверку на пустоту этих переменных перед выводом, чтобы гарантировать, что выводится только один из них.

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