Ярославль


Страницы: (2) [1] 2   ( Перейти к первому непрочитанному сообщению ) Ответ в темуСоздание новой темыСоздание опроса

PHP скрипт

Alekc-yar
Дата 16.01.2008 - 17:38
Цитировать сообщение




Unregistered












$st=empty($_GET['st'])?null:$_GET['st'];
$sft = "$st";
$sft1 = "$sft.php";
if ($QUERY_STRING=="st=$sft"):
include "$sft1";
endif;
иметься вот такой скрипт для вывода файлов, запрос произвотиться как ?st=имя файла, а если не такого файла то он пишет ошибку вставки файла как исправить чтобы он не писал ошибку или вставлят надпись что данной страницы нет, если выврдить через echo то выводимые файлы уже не могут выполнять каки либо действия.

Top
ASudakov
Дата 16.01.2008 - 18:21
Цитировать сообщение




Unregistered












"чтобы он не писал ошибку"
Код
@include "$sft1";

"или вставлят надпись что данной страницы нет"
Код
$page_found=include "$sft1";
if (!$page_found)
 ..

Top
cornholio
Дата 17.01.2008 - 00:00
Цитировать сообщение




Unregistered












афаик все вышенаписанное делается в одну строчку, но не в десять:
if (!empty($_GET['st']) && file_exists($_GET['st'].'.php')) {

}
Top
Alekc-yar
Дата 17.01.2008 - 00:38
Цитировать сообщение




Unregistered












спасибо, народ а подскажите еще пожалуйста, если содержимое файла вывожу через echo то есль ли возможность в выводим файле выполнять какие либо еще дейсвтвия?!
Top
Alekc-yar
Дата 17.01.2008 - 00:45
Цитировать сообщение




Unregistered












Цитата (cornholio @ 17.01.2008 - 00:00)
афаик все вышенаписанное делается в одну строчку, но не в десять:
if (!empty($_GET['st']) && file_exists($_GET['st'].'.php')) {

}

А если мне надо выводить надо производить вот такое действие
$file2 = "$id";
$file3 = "$file2.php";
if ($QUERY_STRING=="st=$sft&id=$file2"):
$filest = fopen("statistic/$sft/$file2.txt","r");
$count = fread($filest, 100);
$countplus = ($count + 1);
fclose($filest);
$fileb = fopen("statistic/$sft/$file2.txt","w");
fwrite($fileb, $countplus, 100);
fclose($fileb);
$data2 = "$st/$file2/$file3";
$data3 = fopen ($data2, "r");
$done1 = fread ($data3, filesize ($data2));
$done2 = explode(":::", $done1);
include ('config/soft.php');
endif;

то уже не работает...
Top
cornholio
Дата 17.01.2008 - 03:36
Цитировать сообщение




Unregistered












Цитата
$file2 = "$id";

Зачем это бессмысленное действие?
Что у тебя не работает? Я не могу телепатировать на таком расстоянии.
Ваще нафик открывать файл для чтения и переписывать его?
Top
Alekc-yar
Дата 17.01.2008 - 08:51
Цитировать сообщение




Unregistered












мне надо выводить срдержимое файла вот примерно по такой ссылкм ?st=soft&id=01 файл находится в soft/01/01.php
Top
ASudakov
Дата 17.01.2008 - 09:12
Цитировать сообщение




Unregistered












Цитата
А если мне надо выводить надо производить вот такое действие
..

а может, что-то в консерватории подправить? (с)
в смысле, овладевайте знаниями, слишком суровый код пишете! :))
(не говоря уже о русском языке)
Top
Ragimoff
Дата 17.01.2008 - 10:09
Цитировать сообщение




Unregistered












ASudakov
+1
Top
Alexander.M
Дата 17.01.2008 - 11:32
Цитировать сообщение




Unregistered












Цитата
А если мне надо выводить надо производить вот такое действие $file2 = "$id"; $file3 = "$file2.php"; if ($QUERY_STRING=="st=$sft&id=$file2"): $filest = fopen("statistic/$sft/$file2.txt","r"); $count = fread($filest, 100); $countplus = ($count + 1); fclose($filest); $fileb = fopen("statistic/$sft/$file2.txt","w"); fwrite($fileb, $countplus, 100); fclose($fileb);

Это, я так понимаю, некий счетчик, который для разных $id что-то там считает, ну тогда
во-первых: if(){}
во-вторых: желательно использовать $_GET['id'] и $_GET['st'] (выкл. register_globals)
в третьих: if ($QUERY_STRING=="st=$sft&id=$file2") - это ваще зачем? ты ж их оттуда сначала и берешь, а потом еще зачем-то вот так сравниваешь.
в-четвертых: fread($file, 100) почему 100, а не filesize($file), например.
в-пятых: чем плодить файлы и папки для разных $id и $sft, может всё это в одном файле данных хранить?

Диагноз сложен, трудное деццтво - Visual Basic?
Top
Ragimoff
Дата 17.01.2008 - 11:42
Цитировать сообщение




Unregistered












Судя по использованию конструкции
Код

if (exp):
endif

это действительно тяжелое наследие VB
Top
Alekc-yar
Дата 17.01.2008 - 13:48
Цитировать сообщение




Unregistered












Вам хорошо, а я вот только пытаюсь постичь гранит науки=) да код суровый не спорю. но зато работает...
Top
vo1d
Дата 17.01.2008 - 16:56
Цитировать сообщение




Unregistered












Цитата (Alexander.M @ 17.01.2008 - 11:32)
использовать $_GET['id'] и $_GET['st'] (выкл. register_globals)

плюс адын
Top
cornholio
Дата 18.01.2008 - 18:13
Цитировать сообщение




Unregistered












индусы тоже рабочий код пишут...
Top
Alexander.M
Дата 18.01.2008 - 18:59
Цитировать сообщение




Unregistered












cornholio
Про индусов поищи на башорге. smile.gif
Top

Опции темы Страницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса

 



[ Время генерации скрипта: 0.0112 ]   [ Использовано запросов: 16 ]   [ GZIP включён ]



Яндекс.Метрика

Правила Ярпортала (включая политику обработки персональных данных)

Все вопросы: yaroslavl@bk.ru