Зацените скрипт на PHP

Старый mweb

Модератор: [mweb team]

Зацените скрипт на PHP

Сообщение Egorix Ср май 12, 2004 15:24

Прошу вас пороть скрипт:

Главная:
http://egorix.net.ru/elink_test
Админка:
http://egorix.net.ru/elink_test/admin.php
Пароль: 1
(Сменить пароль нельзя )

Это лишь тестовая версия, но основное в неё уже заложено...

Убедительная просьба: Не пробуйте взломать скрипт (ввести в форму добавления \n, тэги или что-то вроде того!). Защита ещё не продумана!

ЗЫ "Первый мой серьёзный скрипт"

Заранее благодарен!
Споры в интернете - это как олимпиада для умственно отсталых, даже если ты победил - ты всё равно дебил!
Аватара пользователя
Egorix
Манагер
 
Сообщения: 879
Зарегистрирован: Пн сен 30, 2002 0:01
Откуда: Киев - Украина

Сообщение buster Ср май 12, 2004 20:29

Ну, что сказать... не мега-что-то.... ну, нормально, типа, молодец :о))
Истиный путь узнать очень просто: у него есть сердце.
Аватара пользователя
buster
Старожил
 
Сообщения: 1262
Зарегистрирован: Сб мар 10, 2001 1:01
Откуда: Краснодар/Россия

Сообщение Vavan Ср май 12, 2004 21:05

Ну вроде как для начала можно похвалить.
А учился не по скриптам от MANLIX? -01-
Я не программист и не дизайнер, НО!!!
Отремонтировать можно всё! Даже если это ещё не сломалось.
Аватара пользователя
Vavan
Редко заходит
 
Сообщения: 171
Зарегистрирован: Вт июн 04, 2002 0:01
Откуда: Жезказган, Казахстан

Сообщение Вано Ср май 12, 2004 21:33

1.Зайди на страницу со скриптом и посмотри что сделала с ним строка длинной 200-300 символов.
А теперь подумай что было бы с 1000 или 10000 тысячами символов.
2.Еще: если кликать на кнопку "добавить" 1000 раз то мне кажется что и ссылка будет добавлена 1000 раз. С этим нужно бороться: писать в куки или еще как нибудь.

Итог: Надо совершенствовать и совершенствовать!

P.S Для первого скрипта классно! :)
Вано
Прохожий
 
Сообщения: 79
Зарегистрирован: Пн май 10, 2004 16:32
Откуда: Беларусь--Минск

Сообщение pastor Чт май 13, 2004 9:31

À â ÷åì ïðèêîë? -05-
Аватара пользователя
pastor
Курильщик
 
Сообщения: 437
Зарегистрирован: Вт окт 29, 2002 1:01
Откуда: Dnepropetrovsk

Сообщение Alkeeper Чт май 13, 2004 9:45

1. Добавление кириллических символов в урл,
2. допустимость пустых ссылок,
3. Отсутствие ограничения на длину вводимых строк,
4. Рефреш после добавления повторит операцию добавления,

Пока все, кстати, как инфу хранишь? в тексте или в БД?
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Jedi Чт май 13, 2004 15:20

Да и внешний вид тож было бы не плохо псиправить...

P.S Я ОКАЗЫВАЕТСЯ УЖЕ ЗАЯДЛЫЙ!!!
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Alkeeper Чт май 13, 2004 17:25

2Jedi: Внешний вид к черту, это не главное!
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Jedi Чт май 13, 2004 18:51

Alkeeper
Я это к тому, что я сначала не понял что там написано. Только потом разобрался где ссылка, пояснение и т.п
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Egorix Пт май 14, 2004 16:14

Спасибо всем за оценку!

Это не самый первый, но самый первый такой навороченый. Раньше я писал очень простые скрипты.
http://egorix.net.ru/scripts.php

Учу PHP 6 месяцев самостоятельно при помощи Manual(a) и примеров скриптов...

Ну вроде как для начала можно похвалить.
А учился не по скриптам от MANLIX?


2Vavan: Да, увидав MANLIX я сразу захотел такой-же сам написать :) Взял от туда внешний вид (плагиатом не назовёшь! :) ), но все функции писал сам.

Самое трудное для меня было разделить всё по страницам, а также сделать защиту паролем...

1.Зайди на страницу со скриптом и посмотри что сделала с ним строка длинной 200-300 символов.
А теперь подумай что было бы с 1000 или 10000 тысячами символов.
2.Еще: если кликать на кнопку "добавить" 1000 раз то мне кажется что и ссылка будет добавлена 1000 раз. С этим нужно бороться: писать в куки или еще как нибудь.

Итог: Надо совершенствовать и совершенствовать!

P.S Для первого скрипта классно! :)


Да я видел твоё длинное сообщение...
Мне нужно лучше освоить Регулярные выражения. Почитаю статьи...
Для того чтобы защититься от повторных сообщений, я придумал скрытие формы, но в Админ панели они не помогли :( Хотя кто будет флудить через админ-панель? (Там же есть пароль) А в обыкновенной форме метод "_POST".
Буду придумывать что-то новенькое...

1. Добавление кириллических символов в урл,
2. допустимость пустых ссылок,
3. Отсутствие ограничения на длину вводимых строк,
4. Рефреш после добавления повторит операцию добавления,

Пока все, кстати, как инфу хранишь? в тексте или в БД?


Со всем этим я хочу бороться при помощи Регулярных выражений, но я их плохо знаю... Выучу и исправлю!
(Про пункт "4"): Попробую избавиться от того при помощи кук.
Всю инфу храню в текстовых файлах. Пока-что в одном, но хочу придумать систему для разделения всех сообщений на части, и размещении их в разные файлы. Это будет непросто :).
БД не испрользую, поскольку не умею с ними работать :(.

С внешним видом я буду работать через шаблоны (Это в следующей версии).

Кстати, это будет "Бесплатный скрипт" для разных каталогов скриптов, а также я его буду применять у себя на сайте -06- , поэтому сделаю шаблоны. Пусть каждый сам решает как оформить внешний вид.

ЗЫ "Обязательно отпралю на порку следующую версию!"
Ещё раз спасибо!
Споры в интернете - это как олимпиада для умственно отсталых, даже если ты победил - ты всё равно дебил!
Аватара пользователя
Egorix
Манагер
 
Сообщения: 879
Зарегистрирован: Пн сен 30, 2002 0:01
Откуда: Киев - Украина

Сообщение -=FRE$H=- Пт май 14, 2004 17:52

Мне нравиться!
Что то в этом есть!
Добавь только немного ccs стилей и дизайн по светлее немного а то вё вливается!
ТОлько css в файл вшей а не отдельным *.css файлом(малоли ктонибуль будет пихать в шаблоны своего сайта)
А вобще я раньше был хороший мальчик, пися с ноготочек ведёрко и совочек)
Аватара пользователя
-=FRE$H=-
Веб-проктолог
 
Сообщения: 766
Зарегистрирован: Вт фев 03, 2004 21:01
Откуда: ПИТЕР ЗАЖИГАЕТ!

Сообщение Egorix Пт май 14, 2004 22:35

Стили уже используются!
Не знаю как можно без стилей такое сделать (Надпись сверху - єто тєг h3 без отступов...)?

Если добавлять, то какие?

ЗЫ "Все стили будут настраиваться пользователем через шаблоны в будующей версии..."
Споры в интернете - это как олимпиада для умственно отсталых, даже если ты победил - ты всё равно дебил!
Аватара пользователя
Egorix
Манагер
 
Сообщения: 879
Зарегистрирован: Пн сен 30, 2002 0:01
Откуда: Киев - Украина

Сообщение -=FRE$H=- Пт май 14, 2004 22:48

Самое трудное для меня было разделить всё по страницам, а также сделать защиту паролем...


Слушай не можешь подкинуть часть такого кода!
Чтобы когда колво сообщенний было боль ше 5(или друг) то создавлась 2 страничка!
А вобще я раньше был хороший мальчик, пися с ноготочек ведёрко и совочек)
Аватара пользователя
-=FRE$H=-
Веб-проктолог
 
Сообщения: 766
Зарегистрирован: Вт фев 03, 2004 21:01
Откуда: ПИТЕР ЗАЖИГАЕТ!

Сообщение Jedi Сб май 15, 2004 8:47

По поводу повторного добавления при нажатии кнопки обновить.
Когда всё записал в файл используй
header("Location: index.php");
тогда будет всё ок.

Может мне тоже скрипты свои на порку выстовить, я щас форум написал, осталось только внешний вид.

p.s лучше используй БД, я раньше тоже думал, что лучше с файлами работать, так как не знал БД, а когда выучил, то пожалел, что не учил БД рагьше.[/b][/code]
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Alkeeper Сб май 15, 2004 9:57

По поводу пункта 4, как правильно заметил Jedi, нужно использовать редирект. Только с одним условием: урл нужно писать полный, а все вызовы функций лучше окружить такими вещами:
Код: Выделить всё
ob_start();

... Здесь код ....

header("Location: http://".$_SERVER["SERVER_NAME"]."/path/to/index.php");

ob_end_flush();
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Jedi Сб май 15, 2004 11:14

совсем необязательно писать полный УРЛ, я никогда не пишу...
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Egorix Сб май 15, 2004 15:34

Писать Полный УРЛ не обязательно, но желательно!

А можно я буду прописывать <meta name=Refresh> ???
Так легче! Просто тогда можно будет сделать задержку после отправления.
header() - это хорошо, но можно это делать и через cookies тоже! Тоесть при повторном отправлении, форма не будет добавляться... (Но куки можно отключить, вот в чём дыра :( )
Думал сделать задержку через wait(), но не получилось...

-=FRE$H=-, интересно чем тебе поможет только часть этого кода? Нужно весь просить! -01- Я скоро размещу этот скрипт на своём сайте в качестве бесплатного, тогда и код смогу дать... Просто не хочу раньше времени разглашать свои секреты -01-
Споры в интернете - это как олимпиада для умственно отсталых, даже если ты победил - ты всё равно дебил!
Аватара пользователя
Egorix
Манагер
 
Сообщения: 879
Зарегистрирован: Пн сен 30, 2002 0:01
Откуда: Киев - Украина

Сообщение Alkeeper Сб май 15, 2004 20:39

Ты вот скажи, чем тебя хедер то не устраивает?
К чему с куками париться?

Через мета лучше не делать - лишний трафик, да и дырка это, по сути то дела.
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Egorix Сб май 15, 2004 20:58

А можно при помощи хедера передавать переменные?

header("Location: http://egorix.net.ru/elink_test/index.php?post=1");
Споры в интернете - это как олимпиада для умственно отсталых, даже если ты победил - ты всё равно дебил!
Аватара пользователя
Egorix
Манагер
 
Сообщения: 879
Зарегистрирован: Пн сен 30, 2002 0:01
Откуда: Киев - Украина

Сообщение Alkeeper Сб май 15, 2004 21:59

методом GET - да.
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение -=FRE$H=- Вс май 16, 2004 18:21

Я нашел нужный скрипт!
Код: Выделить всё
<?
$total_articles_number = 79;   //общее количество статей
$articles_per_page=10; // количество статей на странице
//получаем количество страниц
$total_pages = ceil($total_articles_number/$articles_per_page);


// запускаем цикл - количество итераций равно количеству страниц
  for ($i=0; $i<$total_pages; $i++){
// получаем значение $from (как $page_number) для использования в формировании ссылки
    $page_number=$i*$articles_per_page;
// если $page_number (фактически это проверка того является ли $from текущим) не соответствует текущей странице,
// выводим ссылку на страницу со значением $from равным $page_number
    if ($page_number!=$from) echo "<a href='".$PHP_SELF."?from=".$page_number."'> ".($i+1)." </a>";
// иначе просто выводим номер страницы - данная строка необязательна,
// пропустив ее вы просто получите линк на текущую страницу
    else echo $i+1; // если page_number - текущая страница - ничего не выводим (ссылку не делаем)
  }
?>


Вот и всё если комуто надо то берите!
А вобще я раньше был хороший мальчик, пися с ноготочек ведёрко и совочек)
Аватара пользователя
-=FRE$H=-
Веб-проктолог
 
Сообщения: 766
Зарегистрирован: Вт фев 03, 2004 21:01
Откуда: ПИТЕР ЗАЖИГАЕТ!

Сообщение Alkeeper Вс май 16, 2004 20:30

Это типа постраничный вывод? :)))))

Не самый лучший вариант :)))
я предпочитаю кажыдй раз писать заново, в зависимости от ситуации.

Последний раз выглядел так:

Код: Выделить всё
<?php

    class Pages {

       var $num, $tab;

      function printbar($num,$tab)
          {
            $this->num = $num;
            $this->tab = $tab;

          if (!isset($_GET["page"])) $_GET["page"] = 0;

            @$pages = ceil($n = DB::getNum($this->tab)/$this->num);

            $result = "";

            for ($p = 0; $p < $pages; $p++)
                {
               $number = $p + 1;
              if ($p != $_GET['page']) $result .= "<b><a href=?page=".$p.">".$number."</a></b>";
              else $result .= "<b>".$number."</b>";
                if ($p != $pages - 1) $result .= "&|&";
             }

            return $result;
            }
        }
?>
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Ослик Пн май 17, 2004 9:09

А что тут такое написано?
Аватара пользователя
Ослик
Фельдмаршал Жывотное
 
Сообщения: 417
Зарегистрирован: Сб фев 21, 2004 21:02

Сообщение Alkeeper Пн май 17, 2004 9:42

Да какая нафиг разница, что здесь написано :)))
ты лучше скажи, где свою рульную аватарку прое*ал?
-10-
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Ослик Пн май 17, 2004 11:46

Простите, что?
Аватара пользователя
Ослик
Фельдмаршал Жывотное
 
Сообщения: 417
Зарегистрирован: Сб фев 21, 2004 21:02

Сообщение Alkeeper Пн май 17, 2004 12:12

аватарку, спрашиваю, где потерял?
не отображаецца она :)
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Ослик Пн май 17, 2004 12:24

А знаете, вы наверное много пьёте. Она теперь показывается. Не верите, посмотрите адресс, кстати, мой хозяин тоже много пил, это не привело к хорошим последствиям, однажды по пьяни он записался в одну секту, ну там сатанисты были, а потом он сказал, что сдаст нашего гуся в подарое секте, на жертво приношение. Однако когда хозяин отрезвел, где-то через неделю, он решил выйти из секты, но гуся уже не было, да и к нам на ферму пришли люди в белых халатах и с длинными колпаками, они себя то ли кокосами то ли ещё как-то называли, не помню уже точно, я тогда пь.... ну так ладно. Они пришли и начали всё крушить, и говорить, что тебе в нашей чекте не место, а потом они убили хозяина и забрали нашего коня, точнее ту часть его, которую хозяин не успел положить в холодильник. Да, кстати, хозяин умер, а я с лайкой остался один, ну мы и решили уйти в поисках нового хозяина. Мы пришли в соседний дом и переночивали там в подвале, когда я проснулся, лайки не было, тогда я пошёл один, было холодно, мне очень хотелось кушать.... А сейчас у меня новый хозяин, я его очень люблю, потому что он хороший!
Аватара пользователя
Ослик
Фельдмаршал Жывотное
 
Сообщения: 417
Зарегистрирован: Сб фев 21, 2004 21:02

Сообщение Alkeeper Пн май 17, 2004 12:41

Когда я постил предыдущий ответ, она не отображалась, я даже по ее адресу сходил - йух!

Теперь же все ок :)

Обвинения в пьянстве прощаю за классную историю про пьющего хозяина -13- -13- -13-
Толь ко сейчас осознал всю пользу форумного сумасшедшего.....

Так держать, ушастый!
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Jedi Пн май 17, 2004 12:44

Ослик
Мдя... -08-
у меня по выводу такой код
Код: Выделить всё
if(!isset($page))
$page=1;
$from=($page-1)*6;
$to=$from+6;
if($to>$count) $to=$count;
for($i=$from; $i<$to; $i++)
{
.....
}
if(!isset($page)) $page=1;
$num=$count/6;
$num=ceil($num);
echo "<center>|";
for($p=1; $p<=$num; $p++)
{
if($page==$p) echo " $p |";
else echo "<a href='index.php?section=GuestBook&page=$p'> $p</a> |";
}
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Ослик Пн май 17, 2004 12:59

Не смешно! Это было очень грустно...
Аватара пользователя
Ослик
Фельдмаршал Жывотное
 
Сообщения: 417
Зарегистрирован: Сб фев 21, 2004 21:02

Сообщение Ослик Чт мар 29, 2007 12:22

Ой... куда это меня занесло...
ЗА ФЛУД В ВИРТУАЛЕ ЗАМОЧЕН В РЕАЛЕ
Аватара пользователя
Ослик
Фельдмаршал Жывотное
 
Сообщения: 417
Зарегистрирован: Сб фев 21, 2004 21:02

Сообщение Ослик Чт мар 29, 2007 12:22

Ой... куда это меня занесло...
ЗА ФЛУД В ВИРТУАЛЕ ЗАМОЧЕН В РЕАЛЕ
Аватара пользователя
Ослик
Фельдмаршал Жывотное
 
Сообщения: 417
Зарегистрирован: Сб фев 21, 2004 21:02

Сообщение Kat Чт мар 29, 2007 12:34

2 ослик: Андрей Курпатов - мой хороший друг, могу по протекции организовать грамотную консультацию, Андрей-человек талантливый и не таким помогал -03-
можно, конечно, попробовать лоботомию, но это будет подороже, правда и результат надежнее -03-
Аватара пользователя
Kat
Курильщик
 
Сообщения: 309
Зарегистрирован: Чт май 18, 2006 16:49

Сообщение Muerto Чт мар 29, 2007 13:43

2Kat: Лоботомия это слишком кардинально и уже устаревший метод. Сейчас рулит шоковая терапия, душ Шарко, оборачивание в мокрую простыню и активная медикоментозная терапия. По три креста в день, недельку поколоть и будет всё в порядке. А Курпатов -20- ... Курпатов это - зло!
2Ослик: Держись! И не ешь ты это сено, которое хозяин для себя заготавливал! -01-
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Alkeeper Чт мар 29, 2007 14:18

Muerto писал(а):2Ослик: Держись! И не ешь ты это сено, которое хозяин для себя заготавливал! -01-


И это говорит Растаман???

2Ослик: Нах*й Курпатова, он мудаг, похожий на ахтунка.
80 лет в интернете.
Аватара пользователя
Alkeeper
Экс-курильщик
 
Сообщения: 4183
Зарегистрирован: Вт ноя 13, 2001 1:01
Откуда: mweb

Сообщение Muerto Чт мар 29, 2007 15:43

2Alkeeper: Хозяин для себя старался. А Ослик, судя по всему, в день по копне хавает! Изображение
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron