— этот форум работает с 03 октября 2005 года. ️🔥️🔥
|
|
|
|
(#1)
|
 |
06.06.2007
|
 |
|
|
|
Скрипт на php
<?php
$filename = "messages.dat";
$delitmer = "<|-|>";
$shablon = '
%add_date%   %message%
<br>';
$data = @file($filename);
$id=0;
if(isset($delete)):
if(is_file($filename) && is_readable($filename)):
$read=fopen($filename,"r") or die("<p class=error>Не могу открыть файл $filename</p>");
$file_change=file("$filename");
fclose($read);
endif;
if(isset($delete)):
$file_change[$id]="";
$number=$id+1;
endif;
if(is_file($filename) && is_writable($filename)):
$write=fopen($filename,"w") or die("<p class=error>Не могу открыть файл $filename</p>");
flock($write,2);
foreach($file_change as $key=>$value)
fputs($write,$value);
flock($write,3);
fclose($write);
endif;
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL=index.php\">";
endif;
foreach($data as $val)
{
list($message, $date) = explode($delitmer, trim($val));
$tmp_message = str_replace("%message%", $message, $shablon);
$tmp_message = str_replace("%add_date%", $date, $tmp_message);
echo '<a href=index.php?delete class=a ><font color="#FF0000">x</font></a>';
echo $tmp_message;
}
?>
Вобщем надо удалить стоящую рядом с "х" надпись, но немогу, чтоб нужная $id попала в $file_change[$id]="";, поэтому и написал выше $id=0; (чтоб хоть первую удаляла)
ЗЫ скрипт брал из гостевой книги, т.к сам особо не шарю, вот что тут можно зделать?
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#2)
|
 |
06.06.2007
|
 |
|
|
|
Чёт я нифига не понял что ты хочешь...не вижу ниодного цикла, ты тупо выставляешь 0, он очищает 0-й элемент, если нужно все, гони цикл от 0 до конца массива или что тут у тя...не пойму суть проблемы вообще, сам скрипт не сложный...
Догнал походу
PHP код:
if(isset($delete)):
$file_change[$id]="";
$number=$id+1;
endif;
вообщем естественно что он очищает только первую строку...тебе нужно
PHP код:
if(isset($delete)):
for ($id=0;$id<count($file_change);$id++)
$file_change[$id]=""; //но тут тупо он те весь файл очистит, вместо count($file_change) поставь число строк которое нужно
$id=0; //т.к после цикла она примет конечное значение, выставишь на какое надо потом сам
$number=$id+1;
endif;
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#3)
|
 |
06.06.2007
|
 |
|
|
|
Мне вот отсюда надо как бы к "х" прикрепить своё значение $id
Цитата:
foreach($data as $val)
{
list($message, $date) = explode($delitmer, trim($val));
$tmp_message = str_replace("%message%", $message, $shablon);
$tmp_message = str_replace("%add_date%", $date, $tmp_message);
//вот здесь както пощитать $id над и отправить туда
echo '<a href=index.php?delete class=a ><font color="#FF0000">x</font></a>';
echo $tmp_message;
}
|
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#4)
|
 |
06.06.2007
|
 |
|
|
|
Цитата:
Сообщение от MIX
Мне вот отсюда надо как бы к "х" прикрепить своё значение $id
|
Вьехал вроде...это скрипт для удаления сообщений? короче забей на то что я писал, те нужно вообще
PHP код:
echo '<a href=index.php?delete='.$id.' class=a ><font color="#FF0000">x</font></a>';
терь каждая ссылка будет со своим id и сможешь удалить...и $id=0 тогда сотри тоже.....
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#5)
|
 |
07.06.2007
|
 |
|
|
|
Re: Скрипт на php
Не получается... Вобщем сделал ссылку такой, $id=0 удалил, $id просто увеличиваю на единицу при каждом выводе, вобщем при наводе на ссылку адрес нормальный (например index.php?delete=5), все соответствует, а вот ничего не удаляет, как будто и $id не существует.
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#6)
|
 |
07.06.2007
|
 |
|
|
|
Re: Скрипт на php
всё должно работать, проверь сам массив print_r($file_change)
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#7)
|
 |
07.06.2007
|
 |
|
|
|
Re: Скрипт на php
А $id как надо было считать? Я прост перед ссылкой написал $id++; И в скрипте берется её последнее значение место того, что передаем по ссылке. Вот мб как то подругому надо?
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#8)
|
 |
08.06.2007
|
 |
|
|
|
Re: Скрипт на php
блин, id находиццо в $delete, т.е если уж ты хочешь удалять из базы $id то тогда нужно $id=$delete;
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#9)
|
 |
08.06.2007
|
 |
|
|
|
Re: Скрипт на php
Спс всё работает
Еще мнеб простенький скрипт авторизации для админа( хотяб проверку пароля), я например делаю переменную $login=1, и везде где надо ставлю условие, а вот при обновлении страници естественно она обнуляеться. Можно ли ее как-то удержать, или лучше зделать авторизацию подругому?
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#10)
|
 |
08.06.2007
|
 |
|
|
|
Re: Скрипт на php
удержать можно если переменная передаёццо по ссылке, или через куки:
в первом случаи: http://www.site.ru/index.php?login=1 - ИМХО полный бред но обьясню всё же....теперь что тебе нужно это:
PHP код:
$login=$_GET['login'];
if ($login=="1") echo "Welcome admin!";
во втором случаи:
Блин не хоццо тебя грузить, там довольно сложно, нужно в самом самом начале страницы ставить кук, в него забивать логин (пароли в незашифрованном виде в куках хранить не рекомендуеццо), потом проверять его..влом щас расписывать...
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#11)
|
 |
08.06.2007
|
 |
|
|
|
Re: Скрипт на php
Ладно сам поищу статьи и скрипты.
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#12)
|
 |
08.06.2007
|
 |
|
|
|
Re: Скрипт на php
Первый вариант улыбнул. 
Ну а по делу:
1. MIX, у тебя получается рабочий код и админка в одном файле - это, ИМХО, криво и некрасиво. Админку лучше писать отдельно.
2. Куки. Хм. Можно и куки конечно, но лучше заюзать сессии. Ниже объясню как.
3. В общем, вот тебе на вскидку вариант (давно на PHP не ваял, если что, камерадены поправят):
Собственно админка (admin.php):
PHP код:
session_start();
require_once('util.php');
if (u_is_admin())
{
// Здесь то, что может делать админ
}
else die('Ты по ходу не админ :)');
Вспомогательные функции (util.php)
PHP код:
session_start();
function u_login($login, $pass)
{
unset($_SESSION['is_admin']);
if ("root"==$login && "31337"==$pass)
$_SESSION['is_admin'] = true;
}
function u_is_admin() { return $_SESSION['is_admin']; }
Форму для входа в систему, надеюсь, сможешь накидать сам.
Сессии, разумеется, должны быть включены в конфиге PHP (скорей всего у тебя включены по умолчанию).
Ну и дальше, везде, где нужна проверка прав админа, вызывай u_is_admin().
..........................
Устал - умри!
Когда государство от тебя что-то хочет, оно называет себя Родиной.
All above is just IMHO.
|
Присматривается
Регистрация: 10.02.2007
Сообщений: 52 шт.
Карма: 10 бал.
|
|
|
|
|
(#13)
|
 |
08.06.2007
|
 |
|
|
|
Re: Скрипт на php
Можно конечно и сессии, но если чел не знает как переменную забрать из ссылки о каких сессиях может идти речь, хотя сессия почти такая же хрень как и ссылки, если скрипт корявый то заполучил ссылку и ты админ...
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#14)
|
 |
09.06.2007
|
 |
|
|
|
Re: Скрипт на php
to DEV спасибо, приду дамой ппопробую.
А первый вариант увидел в админке гостевой книги,но там и еще чето для защиты было.
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#15)
|
 |
13.06.2007
|
 |
|
|
|
Re: Скрипт на php
Еще вот такой вопрос.
Сделал скрипт загрузки файлов на сервер, все работает с маленькими файлами, а файлы побольше (2 мб и больше) уже не загружает. В чем тут дело?
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#16)
|
 |
13.06.2007
|
 |
|
|
|
Re: Скрипт на php
дело в настройках php, по умалчанию максимальный размер закачиваемого файла 2 метра, если юзаешь .htaccess то добавь строку
php_value upload_max_filesize 50M
если юзаешь php.ini то добавь строку
upload_max_filesize=50M
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#17)
|
 |
13.06.2007
|
 |
|
|
|
Re: Скрипт на php
А ограничения вобще есть?
Поставил 100М , файл в 66М не грузит...
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#18)
|
 |
13.06.2007
|
 |
|
|
|
Re: Скрипт на php
а не грузит уже по тому, что у тебя время выполнения сценария и время выполнение запроса слишком маленькое, ограниченное минутой по моему, т.е если сценарий обрабатывается больше минуты то он прерывается. исправить можно так же
php_value max_execution_time 360
php_value max_input_time 360
вот на 6 мин, только если ты создаш бесконечный цикл случайно, то повесишь всю систему на 6 мин..
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
|
(#19)
|
 |
13.06.2007
|
 |
|
|
|
Re: Скрипт на php
Все равно не грузит.
Дело было не во времени, т.к быстро прерывается скрипт (5 сек, а то и быстрее).
|
Прохожий
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
|
|
|
|
|
(#20)
|
 |
13.06.2007
|
 |
|
|
|
Re: Скрипт на php
ну тогда не знаю
..........................
smalta.net
|
Программист
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
|
Powered by vBulletin® Version 3.8.11 PL4; Copyright ©2000 - 2026, Jelsoft Enterprises Ltd; Оператор обработки ПДн - ИП Алексеев А.С.; ИНН: 333411310227; ОГРН: 307333419200050; тел. +7 (4922) 49-42-22, legal@smalta.net;
Часовой пояс GMT +3, время: 08:03.
|
Любые сообщения на Альтернативном Форуме — являются субъективным отражением реальности, написавших их авторов и публикуются без предварительной модерации. Администрация форума не принимает на себя ответственность за содержание таких материалов. В рамках функционирования форума осуществляется хранение ограниченного набора данных: имя пользователя, адрес электронной почты, IP-адрес (в момент входа) и cookie для поддержки сессии. Метаданные пользователей обрабатываются и направляются в уполномоченные органы только при наличии официального запроса в порядке, установленном законодательством РФ. В случае выявления противоправного контента, пожалуйста, направляйте уведомление через кнопку «Жалоба» или форму обратной связи.
|
|
|