Альтернативный Форум

— этот форум работает с 03 октября 2005 года. ️‍🔥️‍🔥
(#1)
Старый 06.06.2007
Скрипт на php

<?php
$filename = "messages.dat";
$delitmer = "<|-|>";
$shablon = '

%add_date% &nbsp %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; (чтоб хоть первую удаляла)
ЗЫ скрипт брал из гостевой книги, т.к сам особо не шарю, вот что тут можно зделать?
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 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
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 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;
}
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 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
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
Ответить с цитированием
(#5)
Старый 07.06.2007
Re: Скрипт на php

Не получается... Вобщем сделал ссылку такой, $id=0 удалил, $id просто увеличиваю на единицу при каждом выводе, вобщем при наводе на ссылку адрес нормальный (например index.php?delete=5), все соответствует, а вот ничего не удаляет, как будто и $id не существует.
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
Ответить с цитированием
(#6)
Старый 07.06.2007
Re: Скрипт на php

всё должно работать, проверь сам массив print_r($file_change)
..........................
smalta.net
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
Ответить с цитированием
(#7)
Старый 07.06.2007
Re: Скрипт на php

А $id как надо было считать? Я прост перед ссылкой написал $id++; И в скрипте берется её последнее значение место того, что передаем по ссылке. Вот мб как то подругому надо?
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
Ответить с цитированием
(#8)
Старый 08.06.2007
Re: Скрипт на php

блин, id находиццо в $delete, т.е если уж ты хочешь удалять из базы $id то тогда нужно $id=$delete;
..........................
smalta.net
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
Ответить с цитированием
(#9)
Старый 08.06.2007
Re: Скрипт на php

Спс всё работает
Еще мнеб простенький скрипт авторизации для админа( хотяб проверку пароля), я например делаю переменную $login=1, и везде где надо ставлю условие, а вот при обновлении страници естественно она обнуляеться. Можно ли ее как-то удержать, или лучше зделать авторизацию подругому?
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 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
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
Ответить с цитированием
(#11)
Старый 08.06.2007
Re: Скрипт на php

Ладно сам поищу статьи и скрипты.
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 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.
DEV DEV вне форума
Присматривается
DEV Первый уровень
 
Аватар для DEV
 
Регистрация: 10.02.2007
Сообщений: 52 шт.
Карма: 10 бал.
Ответить с цитированием
(#13)
Старый 08.06.2007
Re: Скрипт на php

Можно конечно и сессии, но если чел не знает как переменную забрать из ссылки о каких сессиях может идти речь, хотя сессия почти такая же хрень как и ссылки, если скрипт корявый то заполучил ссылку и ты админ...
..........................
smalta.net
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
Ответить с цитированием
(#14)
Старый 09.06.2007
Re: Скрипт на php

to DEV спасибо, приду дамой ппопробую.
А первый вариант увидел в админке гостевой книги,но там и еще чето для защиты было.
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
Ответить с цитированием
(#15)
Старый 13.06.2007
Re: Скрипт на php

Еще вот такой вопрос.
Сделал скрипт загрузки файлов на сервер, все работает с маленькими файлами, а файлы побольше (2 мб и больше) уже не загружает. В чем тут дело?
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 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
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
Ответить с цитированием
(#17)
Старый 13.06.2007
Re: Скрипт на php

А ограничения вобще есть?
Поставил 100М , файл в 66М не грузит...
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 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
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
Ответить с цитированием
(#19)
Старый 13.06.2007
Re: Скрипт на php

Все равно не грузит.
Дело было не во времени, т.к быстро прерывается скрипт (5 сек, а то и быстрее).
MIX MIX вне форума
Прохожий
MIX Первый уровень
 
Регистрация: 26.04.2007
Сообщений: 14 шт.
Карма: 0 бал.
Ответить с цитированием
(#20)
Старый 13.06.2007
Re: Скрипт на php

ну тогда не знаю
..........................
smalta.net
Rembo Rembo вне форума
Программист
Rembo Первый уровень
 
Аватар для Rembo
 
Регистрация: 31.05.2006
Сообщений: 443 шт.
Карма: 2 бал.
Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрипт на php )) blazdie Веб-мастерам 1 11.09.2007 10:11
Скрипт обменного пункта Арт Обучающий 3 20.04.2007 16:35

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 для поддержки сессии. Метаданные пользователей обрабатываются и направляются в уполномоченные органы только при наличии официального запроса в порядке, установленном законодательством РФ. В случае выявления противоправного контента, пожалуйста, направляйте уведомление через кнопку «Жалоба» или форму обратной связи.
ИКС