Вниз  PHP и мелкие вопросы
- 26.09.2011 / 08:57
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Monolit, сессия стартуется до первого вывода и отправки хедеров
__________________
 Магистр Мёда
- 26.09.2011 / 09:10
Monolit
  Пользователь

Monolit 
Сейчас: Offline
Koenig, я знаю, но там не тот случай был! Надо было сохранить в кодировку utf-8 без BOM а не просто в UTF-8 :) в гугл нашол :)
- 26.09.2011 / 10:07
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Monolit, тут полностью объяснил что куда, это моя первая постраничка, которую я наверное писал неделю с телефона, имея нулевой опыт
  1. <?php
  2. $file = file('db.dat'); /* считываем в массив фаил, каждая строка становиться одним элементом массива , массив начинается с 0 индекса */
  3. $kol = sizeof($file); /* считаем количество элементов массива */
  4. echo 'Количество : ' . $kol . '<hr/>'; /* выводим на экран */
  5.  
  6. if ($kol >0){ /* если массив не пустой , то выполняем что ниже */
  7. $pg = $_SERVER['PHP_SELF']; /* переменная $pg теперь имеет имя файла -> index.php */
  8. $n = 10; /* количество на страницу */
  9. $p = (empty($_REQUEST['p'])) ? 1 : intval($_REQUEST['p']); /* переменная $p - номер страницы , если страница не указана, то записываем как первую страницу, если передан номер страницы , защищаем от криворукости, приводим к числу */
  10. $str = ceil($kol/$n); /* переменная $str - количество страниц , количество элементов массива делим на количество на странице, округляем в большую сторону, например последняя страница существует как не полная */
  11. if ($p<1) {
  12. $p=1;
  13. } /* защита от криворукости , если указали номер страницы меньше одного, отрицательное значение или 0 , то определяем номер страницы как первая */
  14. if ($p>$str) {
  15. $p=$str;
  16. } /* защита от криворукости , если указали номер страницы больше числа существующего , при 8 страницах - указали 100500 , определяем страницу как последнюю -> 8 */
  17. if ($p==1) {
  18. $nn=0;
  19. } else {
  20. $nn=($p-1)*$n;
  21. } /* переменная $nn - начало отчета вывода, если номер страницы равен 1 $p=1 , то начинаем вывод с 0 по 10 , то есть старт равен 0, если номер страницы не равен первой, то начало должно соответствовать следущей странице, $p =2 , $nn = 10, $nn=($p-1)*$n => 10=(2-1)*10 /// первая страница 0-9 , 10-19 ... */
  22. $start = $nn; /* определяем начало цикла после расчетов */
  23. $end = ($nn+$n); /* конец цикла - начало цикла + количество на странице 20+10 == $p=3 */
  24. if ($p==$str) {
  25. $end = $kol;
  26. } /* если номер страницы последний, то конец цикла равен количеству элементов массива, так как страница может быть не полной */
  27. for ($i=$start;$i<$end;$i++) {
  28. echo $file[$i];
  29. } /* цикл с определением старта и конца , зависит от страницы, что расчитывается выше */
  30. } else {
  31. echo 'Пока пусто<hr/>';
  32. } /* если массив пустой */
  33. if ($str>1) { /* если страниц больше одной, то считаем стрелочки */
  34. echo '<hr/>';
  35. if ($p==1) { /* если страница равна 1, рисуем цифру и не активную надпись пред */
  36. echo '1 ';
  37. $left = 'пред';
  38. } else { /* если не ровна 1 , то рисуем ссылку на первую страницу и активную стрелочку +пред */
  39. echo '<a href="' . $pg . '?p=1">1 </a>';
  40. $left = '<a href="' . $pg . '?p=' . ($p-1) . '">+пред</a>';
  41. }
  42. for ($i=2;$i<$str; $i++) { /* цикл рисует номера страниц, если номер страницы равен текущей , то рисуем жирно число, иначе ссылку на страницу */
  43. if ($i==$p) {
  44. echo '<b><u>' . $i . '</u></b> ';
  45. } else {
  46. echo '<a href="' . $pg . '?p=' . $i . '"> ' . $i . '</a>';
  47. }
  48. }
  49. if ($p==$str) { /* повторяем тоже самое для второй стрелочки, если страница последняя , то рисуем цифру, иначе ссылку */
  50. echo ' ' . $str; $right = 'след';
  51. } else {
  52. echo '<a href="' . $pg . '?p=' . $str . '">' . $str . '</a>';
  53. $right = '<a href="' . $pg . '?p=' . ($p+1) . '">след+</a>';
  54. }
  55. echo '<br/>' . $left . '| ' . $right . '<br/>'; /* вывод стрелочек */
  56. echo '<hr/><b>Страница ' . $p . ' из ' . $str . '</b><hr/>'; /* вывод количества страниц и текущую */
  57. } else { /* если страниц не больше одной */
  58. echo '<hr/>все на одной';
  59. }
  60. ?>

__________________
 Магистр Мёда
- 26.09.2011 / 10:56
Monolit
  Пользователь

Monolit 
Сейчас: Offline
Koenig, СПАСИБО!!!!!!! Кстати подскажи пожалуста, как бота зделать? Так не работает
  1. if ($msg == "привет" or $msg == "дарова" or $msg == "прив" or $msg == "драсте"){$bott = "<b>".$time." <font color='red'>Дмитрий</font></b><br/>Привет, ".$name."! Как дела? Чем занят?<br/>";}else{$bott = "";}
  2. $time = Date("h:i");
  3. $soo = "\n$bott<b>$time <a href=\"profile.php?id=".$user['uID']."\"><font color='red'>$name</font></a></b><br/>$msg<br/>";
ну вот чето типа бота хочу зделать, а получается если переменная ИМЕННО равна ларова с учетом регистра и т.п. И бот не получается :-(
- 26.09.2011 / 13:58
Monolit
  Пользователь

Monolit 
Сейчас: Offline
Всё нашол решение :)
- 29.09.2011 / 07:37
Monolit
  Пользователь

Monolit 
Сейчас: Offline
Блин срооочно! :) как зделать скрипт партнеров сайта? Например чтобы сам спартнёр мог себя добавить! И чтобы вот при условии, если на его странице есть моя ссылка (чтобы скрипт проверял) и тогда добавлял!
- 29.09.2011 / 08:43
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
с проверкой труднее
__________________
 Магистр Мёда
- 29.09.2011 / 12:51
Лека
  Пользователь

Лека 
Сейчас: Offline
Ребята,я уже спрашивала,но мне так и не помогли,где тут ошибка?
  1.  if(!empty($_POST['select'])){
  2. $query = "(" ;foreach($_POST['select'] as $val)$query.= "$val,";
  3. $query = substr($query, 0,
  4. strlen($query) - 1 ). ")" ;
  5.  
  6. $query2 = "SELECT * FROM produkt WHERE id IN ".$query;
  7. while ($bad = mysql_fetch_array($query2))
  8. {
  9. unlink('/images/photo/'.$bad['pic']);
  10. }
:-(
- 29.09.2011 / 18:15
Лека
  Пользователь

Лека 
Сейчас: Offline
там слеш лишним был,нашла причину. :-D
- 29.09.2011 / 18:25
Aswan
  Пользователь

Aswan 
Сейчас: Offline
убрать хеадер из каментов и ошибка, почему?
не записывает в базу, хотя подключение есть(к шапке подключено ядро в котором подключение к базе)
  1. <?php
  2. $title = 'Гостевуха';
  3. require('../incfiles/head.php');
  4. switch ($act) {
  5. case "send":
  6. $name = isset($_POST['name']) ? mb_substr(trim($_POST['name']), 0, 20) : '';
  7. $msg = isset($_POST['msg']) ? mb_substr(trim($_POST['msg']), 0, 3000) : '';
  8. if (empty($_POST['name']))
  9. echo 'Нет ника!<br />';
  10. if (empty($_POST['msg']))
  11. echo 'Нет текста!<br />';
  12. $de = mysql_query("SELECT * FROM `gb` ORDER BY `id` DESC");
  13. $der = mysql_fetch_array($req);
  14. if ($der['text'] == $msg) {
  15. echo 'Такой пост уже был!<br /><a href="index.php">Назад</a>';
  16. }
  17. $into = mysql_query("INSERT INTO `gb` SET `nick` = '$name',
  18. `text` = '$msg',
  19. `time` = '$time',
  20. `agent` = '$user_agent',
  21. `ip` = '$ip'");
  22. /*header('location: index.php');*/
  23. break;
  24. default:
  25. echo 'Гостевая книга
  26. <form name="form" action="index.php?act=send" method="post">
  27. <input type="text" name="name" maxlength="20"/><br/>
  28. <textarea rows="5" name="msg" maxlenght="3000"></textarea><br/>
  29. <input type="submit" name="submit" value="ОК"/></form><br />';
  30. $acc = mysql_query("SELECT * FROM `gb` ORDER BY `id` DESC");
  31. while ($acz = mysql_fetch_assoc($acc)) {
  32. echo '<div class="nick">'.$acz['nick'].'</div><div class="time">'.date("H:i:s j.n.y", $acz['time']).'</div><br />'.$acz['text'].'<br />';
  33. }
  34. break;
  35. }
  36. require('../incfiles/end.php');
  37. ?>

Наверх  Всего сообщений: 4740
Фильтровать сообщения
Поиск по теме
Файлы топика (129)