Xwab
Форумыnavigate_nextПрограммирование на PHP

Первый блин комом
Сообщения
yunushero

Здаров всем. Я новичок вот решил поэкспериментировать написал простенький скрипт гостебука, но мне денвер выдал ошибку в массивах name и text. Помогите решить проблемку, объясните ошибки.

16 Дек 2010, 11:41
XSS

удали пока никто не видел(переменные надо фильтровать, нет постраничной навигации)

16 Дек 2010, 11:43
kamuik

Вот тебе простой гостебук

табла:
id - int(11)
login - varchar(15)
text - text


__________
посл.ред. 16 Дек 2010, 12:00; всего 2 раз(а) 16 Дек 2010, 11:51
yunushero

XSS, по подробней можешь сказать про фильтры и постраничную навигацию?

16 Дек 2010, 11:52
kamuik

При выводе из БД:
htmlspecialchars
При записи в БД:
mysql_real_escape_string
Для числе:
intval

16 Дек 2010, 11:54
kamuik

Те еще и навигацию засунуть надо?
Может лучше гостю сразу написать?

16 Дек 2010, 11:56
XSS

kamuik,

Это моя функция для постраничной навигации возвращает строку



function pagiNation($start, $items, $items_per_page, $links_per_page, $extraQueryString = "") {
    $pages = ceil($items / $items_per_page);
    if ($pages > 1) {
        $tmp = array();
        $page = ceil(($start + 1) / $items_per_page);
        $links = ceil($pages / $links_per_page);
        $link = ceil($page / $links_per_page);
        $page_start = $link * $links_per_page - $links_per_page;
        $page_end = $page_start + $links_per_page;
        $page_end = ($page_end < $pages + 1) ? $page_end : $pages;
        $first = $page_start * $items_per_page;
        $last = $pages * $items_per_page - $items_per_page;
        if ($link > 1) {
            $start = $first - $items_per_page * $links_per_page;
            $tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?{$extraQueryString}start=0\" title=\"перв.\">&laquo;&laquo;</a>";
            $tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?{$extraQueryString}start={$start}\" title=\"пред.\">&laquo;</a>";
        }
        for ($i = $page_start; $i < $page_end; ++$i) {
            $start = $i * $items_per_page;
            if ($page == $i + 1) {
                $tmp[] = "<strong>$page</strong>";
            }
            else {
                $tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?{$extraQueryString}start={$start}\">".($i + 1)."</a>";
            }
        }
        if ($link < $links) {
            $start = $page_end * $items_per_page;
            $tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?{$extraQueryString}start={$start}\" title=\"след.\">&raquo;</a>";
            $tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?{$extraQueryString}start={$last}\" title=\"посл.\">&raquo;&raquo;</a>";
        }
        return implode("&nbsp;", $tmp);
    }
    return false;
}

16 Дек 2010, 12:04
kamuik

"<a href=\"{$_SERVER["PHP_SELF"]}?{$extraQueryString}start={$last}\" title=\"посл.\">&raquo;&raquo;</a>";
- че это такое?
Не проще ли в одинарных скобках содержать такое?
Т.е echo '<a href=""></a>'; и экранировать ничего не надо

16 Дек 2010, 12:06
XSS

первый аргумент сообщение с которого начинается вывод, второй - количество сообщений, третий - количество сообщений на странице, четвертый - сколько ссылок печатать на странице (1 2 3 4 5 >> >>>), пятый добавочная строка запроса

16 Дек 2010, 12:07
XSS

kamuik, нет эта привычка после C++ осталась

16 Дек 2010, 12:07
Ответить на тему