IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила форума Всем читать перед созданием темы!
 
Ответить в данную темуНачать новую тему
Формы, Хочу добавить гостевую книгу
new_tag
сообщение 3.04.2009 - 05:45
Сообщение #1


Новичок
Иконка группы

Группа: Пользователи
Пользователь №: 112074
Сообщений: 5
Регистрация: 2.04.2009
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 0 раз(а)



Привет всем. Хотелось бы создать чтото вроде гостевой книги на
http://www.planeta-avto-nk.ru.
Но вот проблема, с формами ввода вроде разобрался, а на счет вывода чтото не пойму.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
EGORR
сообщение 3.04.2009 - 22:47
Сообщение #2


Свой человек
Иконка группы

Группа: Пользователи
Пользователь №: 308
Сообщений: 552
Регистрация: 18.03.2003
Из: Планета Земля
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 38 раз(а)



Какая конфигурация сервера на котором это будет работать?
Ключевых вопросов несколько.
Какой сервер? Apache?
Есть ли PHP? Если есть, то какой версии? Четверка? Пятерка?
Есть ли MySql? Или какой другой сервер Sql?
Предположим, что есть PHP и MySql.
Тогда все просто как зевок бегемота.
Создаем файл с формой для ввода сообщений. Например news_add_form.php

Код
<form name="news_form" id="news_form" action="<?php echo DIR_NEWS ?>/news_add.php" method="post">
<h3 id="res" class="title"></h3>
<br>
<fieldset><legend>Подзаголовок</legend>
<textarea id="news_subtitle" rows="2" cols="50" name="news_subtitle"></textarea>
</fieldset>

<fieldset><legend>Lead</legend>
<textarea id="lead" rows="1" cols="50" name="lead"></textarea>
</fieldset>

<fieldset><legend>Новость</legend>
<textarea id="ntext" rows="5" cols="70" name="ntext"></textarea>
</fieldset>

<fieldset><legend>Даты</legend>
<p class=item_title>Дата новости </p>
<input type="text" id="newsDate" name="news_date"   value="<?php echo $news_date ?>" /> <br>

<p class=item_title>Дата начала публикации</p>
<input type="text" id="startDate" name="start_date"  value="<?php echo $start_date ?>"/>

<p class=item_title>Публиковать до... </p>
<input type="text" id="endDate" name="end_date" value="<?php echo $end_date ?>" />
</fieldset>

<fieldset><legend>Status</legend>
<INPUT type="radio" name="hide" alt="show" value="show"> Show<br>
<INPUT type="radio" name="hide" alt="hide" value="hide" checked="checked"> Не show <br>
</fieldset><br>
<INPUT type="submit" name="button_go" id="go" value="Готово" alt="Готово">
</form>

Это небольшая цитата. не включает кода разметки HTML.
Итак... Внутри тега <form>...</form> заключены поля для ввода данных. Каждое из них должно иметь уникальное имя( name="somename")
Еще внутри формы должна быть кнопка типа "submit". Именно клик по ней вызывает команду отправить содержимое формы.
По клику форма собирает все данные из элементов внутри себя, раскладывает из по переменным. Имена переменных дает из имен полей.
Таким образом содержимое поля с именем name="news_subtitle" будет положено в переменную $news_subtitle.
Делее переменные собираются в массив. Если данные передаются методом POST, то в массив POST[]. Если методом GET, то в массив GET[].
Гет передает данные в адресной строке, пост - заголовочной части.
Форма передает данные в файл, который указан в теге action формы. В этом примере - action="<?php echo DIR_NEWS ?>/news_add.php".
Да, кстати, DIR_NEWS является константой, которые определяются для удобства.
Вот цитата из конфига
Код
define("DIR_NEWS", DOCUMENT_ROOT. "/news");

DOCUMENT_ROOT тоже является константой. Но это к слову.
Теперь массив данных из формы можно встречать в файле - обработчике news_add.php.
Там пишем
Код
if ( isset ($_POST['button_go']))
{
    $NewsAdd = new class_news;
    $NewsAdd->news_id = intval($_POST['news_add']);
    $NewsAdd->news_subtitle = $_POST['news_subtitle'];
    $NewsAdd->lead = $_POST['lead'];
    $NewsAdd->ntext = $_POST['ntext'];
    $NewsAdd->news_date = $_POST['news_date'];
    $NewsAdd->start_date = $_POST['start_date'];
    $NewsAdd->end_date = $_POST['end_date'];
    $NewsAdd->hide = $_POST['hide'];
    $result = $NewsAdd->NewsAdd();
    if ($result)
    header("Location:../start.php?p=news");
}

По порядку.
Сначала убедимся, что массив POST благополучно добрался.
Для этого смотрим есть ли в массиве элемент с именем $_POST['button_go'](имя нажатой в форме кнопки)
If isset. т. е., если есть, тогда
Код
$NewsAdd = new class_news;

Подключаем класс(кучка функций в одном теремочке), который обработает данные и запихнет их в БД.
Далее раскладываем данные из массива по переменным.
Конструкция вида $NewsAdd->start_date - та же переменная, только для экземпляра класса.
В другом виде может выглядеть так:
Код
    $news_id = intval($_POST['news_add']);
    $news_subtitle = $_POST['news_subtitle'];
    $lead = $_POST['lead'];
    $ntext = $_POST['ntext'];

Вот мы и получили данные из формы, загнали их в переменные.
Далее нам предстоит их обработать(убрать "плохие символы", проверить длинну и т. д. И загнать их в БД.
Но это завтра.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
new_tag
сообщение 4.04.2009 - 12:26
Сообщение #3


Новичок
Иконка группы

Группа: Пользователи
Пользователь №: 112074
Сообщений: 5
Регистрация: 2.04.2009
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 0 раз(а)



Вот о серверах, я тут решил пробовать писать на РНР, конечно пользуюсь различными учебниками.
Скачал apache_1.3.29-win32-x86-no_src и php-5.2.9-1-win32-installer хотя предлогалось php-4.3.4, но я не нашел. В общем все ставил как было указано в пособии и настраивал тоже. Не пойму что к чему толи эти версии не работают вместе или я не догоняю, там первую страничку после всех установок надо прописать C:/users/nina но на С:/ не вижу эту папку и в Apache папку users не вижу. Кароче намучался я целый день убил.
Приустановке Apache надо ввести маил, домен, сервер, я ввел домен и сервер первого своего сайта, а сервер www.best-hoster.ru .
Может надо домен на Apache получить.
EGORR, помоги пожалуйста неопытному, совсем запутался (((
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
EGORR
сообщение 4.04.2009 - 13:21
Сообщение #4


Свой человек
Иконка группы

Группа: Пользователи
Пользователь №: 308
Сообщений: 552
Регистрация: 18.03.2003
Из: Планета Земля
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 38 раз(а)



new_tag, ты точно запутался.
Объясни. зачем ты, желая публиковать сайт ставишь сервант на локале? Т. е. на своем компьтере.
Даже если ты благополучно разрулишь Apache, то наслаждаться созерцанием сайта сможешь только ты.
Тебе необходимо разместить сайт у хостера, хост которго имеет Apache, PHP, MySql, Perl и все прочие радости.
Тебе придется заплатить немного бабок, но ты получаешь на хостерском серванте кучу дискового пространства(сколь заплатишь, столь и получишь...), готовый, разруленый Apache и все прочее. Тебе останется лишь клепать на локале скрипты,лить их на хостинг.

Сообщение отредактировал EGORR - 4.04.2009 - 13:22
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
new_tag
сообщение 5.04.2009 - 04:48
Сообщение #5


Новичок
Иконка группы

Группа: Пользователи
Пользователь №: 112074
Сообщений: 5
Регистрация: 2.04.2009
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 0 раз(а)



Привет EGORR, если Apache устанавливать не обязательно, то может посаветуешь при помощи каких инструментов я смогу, перед тем как заливать на хост, создавать и просматривать все что я натварил?
Ведь я когда писал сайт, сначало все делал смотрел потом только заливал.
P.S. у меня нет постоянного доступа в инет, хоть и за машиной почти всегда huh.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
EGORR
сообщение 6.04.2009 - 08:32
Сообщение #6


Свой человек
Иконка группы

Группа: Пользователи
Пользователь №: 308
Сообщений: 552
Регистрация: 18.03.2003
Из: Планета Земля
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 38 раз(а)



Цитата(new_tag @ 5.04.2009 - 05:48) *
Привет EGORR, если Apache устанавливать не обязательно, то может посаветуешь при помощи каких инструментов я смогу, перед тем как заливать на хост, создавать и просматривать все что я натварил?
Ведь я когда писал сайт, сначало все делал смотрел потом только заливал.
P.S. у меня нет постоянного доступа в инет, хоть и за машиной почти всегда huh.gif

Для разработки локальный сервер тебе необходим. Но не обязательно его собирать самому.
Д. Котеров это уже сделел. Заходишь сюда _http://www.denwer.ru/, берешь Денвер, ставишь на локале.
Пишешь свои скрипты.
Когда придет время их на хост заливать, пойдешь сюда _http://filezilla.ru/, заберешь FTP-менеджер FileZilla.
С его помощью зальешь файло на сервант, и можно идти к заказчику за баблом.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
new_tag
сообщение 6.04.2009 - 09:19
Сообщение #7


Новичок
Иконка группы

Группа: Пользователи
Пользователь №: 112074
Сообщений: 5
Регистрация: 2.04.2009
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 0 раз(а)



я уже настроил свои апачи и фаилзила у меня есть, всеравно спосиб за разъеснения.
Сейчас буду пробывать. Позже зайду
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
new_tag
сообщение 18.06.2009 - 07:41
Сообщение #8


Новичок
Иконка группы

Группа: Пользователи
Пользователь №: 112074
Сообщений: 5
Регистрация: 2.04.2009
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 0 раз(а)



Здравствуй EGORR, вот я снова вернулся к теме гостевая книга, я немного освоил РНР верней синтаксис, операторы,конструкции. Теперь хотелось бы продолжить написание гостевой smile.gif
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Ответить в данную темуНачать новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 28.03.2024 - 15:51
Ошибка работы драйвера БД

Ошибка при работе с базой данных

Возникла проблема при работе с базой данных.
Вы можете попробовать обновить эту страницу, нажав сюда