Автор Тема: guestbook helpme please  (Прочитано 7008 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн helpme

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
guestbook helpme please
« : 19 Апреля 2003, 00:42:25 »
Несколько дней подряд искал инфу по созданию гостевой книги... Кое как нашёл!!! Добился того что поставил на свой комп Apache и PHP :rolleyes:  (Большие достижения неправда ли??? :) ) Затем прочитал пару статеек соответственно по Apache и по PHP, добился следующего:
 у меня есть html файл с отображением форм гостевухи и есть php файл который способен показать на экране то, что было занесено в эти самые формы...
Проблема в следующем: всё что было забито в формы он конечно показывает, но хотелось бы немного большего, например, чтоб сообщения появлялись в том же html файле где находится сама форма (под ней), чтоб эти сообщения оставались на всё время пока я их не захочу удалить, а не на один раз, как в моём случае, желательно иметь файл где все сообщения хранятся (с возможностью редактирования этих сообщений) ну и естественно отображение всяких дат и времени когда сообщение было отправлено. Пытался это всё я розыскать в и-нэте, но безрезультатно. Помогите мне пожалуйста - дайте ссылку на подробное описание создания такого плана гостевой книги, если это возможно, ну или напишите пару советов или ваще чё нибудь...... Help Me Please!!!!

Оффлайн D1g174LM4n14c

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #1 : 19 Апреля 2003, 00:52:33 »
гемморой. использую базы данных или хоть как-то структурированные файлы. можно даже писать всю инфу в .xml файл а потом юзать PHP XMP модуль... но прощу с sql базой сделать это...
Мы такие!

Оффлайн D1g174LM4n14c

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #2 : 19 Апреля 2003, 00:54:07 »
самый простой способ все таки - это SQL база данных. Обычно юзают MySQL. советую.
Мы такие!

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
guestbook helpme please
« Ответ #3 : 19 Апреля 2003, 01:33:41 »

fopen
()
fwrite()
include()
file()


+ совсем чуть чуть подумать
Не все коту матрица.

Оффлайн D1g174LM4n14c

  • 1m
  • Постоялец
  • ***
  • Сообщений: 137
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #4 : 19 Апреля 2003, 10:32:03 »
Цитировать
Croaker:
fopen()
fwrite()
include()
file()

+ совсем чуть чуть подумать
если человек задает такие вопросы, то можно ему фалйы и не советовать - долго разбираться придется... легче понять основы БД и юзать их (ИМХО)
Мы такие!

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #5 : 19 Апреля 2003, 12:01:51 »
http://www.codenet.ru/db/mysql/intro.php ( для накачки мускулов...)
http://kurepin.ru/php/ ( для того,чтобы пустить их в ход...)
А нсчёт гостевухи...
http://phpclub.net/talk/showthread.php?threadid=30705&highlight=%C3%EE%F1%F2%E5%E2%E0%FF
А дальше действительно надо включать мозги....:)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #6 : 20 Апреля 2003, 18:35:52 »
D1g174LM4n14c, точно так же, как для поездки на пикник не нужен самосвал, который несомненно МОЩНЕЕ легковушки, не нужна и база данных для гостевой книги.
ИМХО твое ограниченное и тупое.

Ты, как попугай, затвердил два "умных" слова XML и SQL и повторяешь теперь их все время, не понимая ни их значения, ни вопроса, который тебе задали, ни задач, которые надо решать каждую своим инструментом.

MrGreeN
прежде, чем рекомендовать корявый курс Курепина, почитай вот это:
http://forum.21.ru/showthread.php?fid=25&tid=2710
(Атос - это и есть Курепин. Из первых рук, так сказать)
мало того, что он все задачи в своем курсе решает ужасно тяжеловесно, не умея сделать просто и понятно, лепит гору ненужного кода, так у него еще и ошибка на ошибке сидит и ошибкой погоняет. А исправлять он их не хочет принципиально.
Офигенный курс для новичков, да?

И ты тоже не понимаешь, что
1. Для задачи типа гостевой книги база данных НЕ НУЖНА.
2. Чтобы понимать, если понадобится с ней работать, как работает база данных, и не сидеть перед ней, как дикарь перед микроскопом, ОБЯЗАТЕЛЬНО сначала найчиться работать с файлами.

helpme
первым делом пойди на сайт, который указан в моей подписи, и прочти его весь. это займет у тебя меньше 10 минут, но сэкономит десятки часов.
ответит на множество вопросов и направит в нужном направлении мысли

дальше.
Давай разбираться с твоей гостевой.
1. кто тебе мешает отображать форму в том же файле, который показывает сообщения? html ведь прекрасно встраивается в РНР.
возьми, да просто вставь форму в этот файл. Какие проблемы с этим?

как сделать, чтобы сообщения хранились?
их надо записывать в файл, а потом, соответственно - извлекать и показывать.
причем.
хранитьо не обязательно в том самом виде, в котором будут показываться. оформление можно добавлять динамически. то есть в файле ты хранишь только данные.
последняя ссылка, которую дал MrGreeN - единственная, которую тебе стоит читать. И не потому, что то сообщение написал я. а потому, что она единственная имеет прямое отношение к твоему вопросу.
там есть часть, которая записывает данные в файл.
осталось написать вывод, под формой.
чтение из файла и вывод - еще короче.
вот тебе кусочек одной программы, которая как раз выводит данные из похожего файла
 <?
$e=file("./events/".$events[$i]); 
// Получаем файл в массив $e. Каждая строка - элемент нумерованного массива

$count=sizeof($e);
// Узнаем размер массива (количество сообщений в гостевой)

for ($j=0;$j<$count$j++) { 
// Проходим по массиву в цикле.

  
list($name,$email,$notes,$time)=explode("|",$e[$j]); 
// list - команда, которая распихивает массив по указанным переменным. 
// Массив получается как результат функции explode, которая из строки с 
// разделителями делает массив. 

  
$time=date("d.m.y H:i",$time);
// получаем дату в нужном формате из того, в котором мы сохранили.

  
echo $name$time,"
"
,$notes,"<hr>";
}
?> 


Будут вопросы - задавай.
На этом форуме есть не только попугаи и трепачи, но и люди, которые могут реально помочь, не раздувая из небольшой задачи проблемы на 5 лет обучения
« Последнее редактирование: 20 Апреля 2003, 18:49:06 от RomikChef »

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
guestbook helpme please
« Ответ #7 : 21 Апреля 2003, 13:08:00 »
жестоко
Не все коту матрица.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #8 : 21 Апреля 2003, 13:54:10 »
Croaker
Ну, твой-то ответ, хотя и абсолютно неподходящий для новичка - нету даже ссылки, где почитать про указанные команды, хотя бы является конкретным.

слушайте, рекомендатели. Вы сами-то этот курс читали?
Эту жуткую белиберду и мешанину ооп с процедурами, урезанный mysql.class, в который зашит mysql_query, но почему-то оставлены снаружи mysql_fetch mysql_num_rows, кошмарный vars.class который должен быть оформлен в виде ини файла, а никак не класса и не менее кошмарное объяснение, почему мы вынесли этот класс в отдельный файл???

Я вот сейчас прочитал десяток уроков и мне плохо стало.
У Курепина редкостный дар давать названия своим статьям аболютно противоположные смыслу написанного.
"краткость - сестра таланта". ага. полдюжины функций для того, чтобы добавить данные в базу!

вы ЭТО читали???
http://kurepin.ru/php/array/
это называется учебный курс?
Это черновики первоклассника!

Везде, где не идет просто пересказ мануала - чудовищные ошибки.
« Последнее редактирование: 21 Апреля 2003, 13:59:48 от RomikChef »

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
guestbook helpme please
« Ответ #9 : 21 Апреля 2003, 14:18:01 »
RomikChef
Цитировать
RomikChef:
нету даже ссылки, где почитать про указанные команды, хотя бы является конкретным


в любом мануале


Цитировать
RomikChef:
кошмарный vars.class который должен быть оформлен в виде ини файла


переменные видны во всех вайлах.


А вообще - тот кто создал тему - куда-то пропал.
Не все коту матрица.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #10 : 21 Апреля 2003, 14:28:33 »
Croaker
я не буду с тобой спорить по поводу первой цитаты. Оставлю ее на твоей совести.
Замечу лишь, что лично ты наверняка не знаешь всех ссылок на мануал, что не говорит о твоей ущербности, но о том, что ссылки эти не так очевидны даже для специалиста, не говоря уже о новичках.

по поводу второй ты просто не понял.
Настройки должны лежать в текстовом файле.
их там может править
а) полный лох, который вообще не понимает РНР, но может отредактировать ини файл стандартного вида.
б) человек, которому можно дать только доступ именно к настройкам, но не к коду.

И в этом случае будет смысл вот в этом абзаце
Цитировать
Эти четыре переменные мы вполне можем перенести в класс vars, но я этого предпочитаю не делать. Почему? Ну, бывают такие случаи, когда мы доверяем управление нашим сайтом кому-то еще. При этом, мы можем дать этому человеку отдельный доступ именно к файлу с переменными, чтобы он мог влиять на манеру поведения и внешний вид нашего сайта. Но не всегда при этом мы даем ему доступ к самим скриптам и не сообщаем наших реквизитов для доступа к БД.

который при нынешней реализации выглядит полным бредом!

а то, что автор вопроса пропал, никак не умаляет глупости отвечавших

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #11 : 21 Апреля 2003, 14:37:01 »
RomikChef
Не, в том что Атос тяжеловесен спору нету, просто не слишком много советчиков уделяют достаточно внимания прикладному программированию, а FAQ - это конечно хорошо, но для реального программирования недостаточно только правильного описания синтаксиса, нужны идеи и метоты их решения...
Если код немного подрихтовать, то вроде - бы ничего... Хотя не люблю людей не отвечающих за СВОИ ошибки (тем более которые говорят что им просто взападло их исправлять)...
Ну ладно - это лирика:)
list($name,$email,$notes,$time)=explode("|",$e[$j]);
... нписал я такое...
$aLine=fgets($fp);
  $aTempArray=explode(\'||\',$aLine);
  list($mday,$month,$year,$hours,$minutes,$seconds,$DocURL,$Name,$DocId,$username,$IP)=$aTempArray;
 ...ну и получил в ответ...
Notice: Undefined offset: 10 in c:\\inetpub\\wwwroot\\count\\inc_extended.php on line 20
Notice: Undefined offset: 9 in c:\\inetpub\\wwwroot\\count\\inc_extended.php on line 20... ну и так далее до первого...
В чём бок (вернее чего с индексацией)?
P.S. С error_reporting(0); конечно работает ...

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
guestbook helpme please
« Ответ #12 : 21 Апреля 2003, 14:40:19 »
бока нет

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting (E_ALL ^ E_NOTICE);

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #13 : 21 Апреля 2003, 14:47:55 »
ничего странного.
у тебя в этом файле есть строка, которая не попадает под указанный формат, и, соответственно, не дает в результате експлода массива.

а менять ERROR_REPORTING - это прятать голову в песок.

ЗЫ. писать дату в отдельных переменных - это ты крут.

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
guestbook helpme please
« Ответ #14 : 21 Апреля 2003, 15:49:23 »
RomikChef
Угу, скорее всего так и есть...
Дата нужна для статистики...( в смысле для сортировки по времени и количеству одинаковых по переданной информации записей). Этот код из скриптика для выдачи запрошенных док-тов, где информа о выдаче клиенту записывается в лог и затем оный дока выдаётся клиенту.
Ошибка всегда с последней записью...
Код для внесения записи----
$aLogFilePath="access.log";
$aFile=fopen($aLogFilePath,"a");
fputs($aFile,$aLine,1024);/*строка (эта с кучей дат) извлекается из сессии уже с "||" между всеми переменными кроме крайних слева и справа*/
fwrite($aFile,"\\n"); // Подозрение на "\\n"
fclose($aFile);
header("Location: file:$DocURL"); //$DocUR тоже из сессии
exit;

Всё таки думаю что с символом окончания строки чего-то не того...
ЗЫ Народ, извините что не в тему но просто уже зацепился...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28