LINUX.ORG.RU

Простенькая веб-форма


0

0

Помогите чайнику создать сабж. вида :

-------
Какойто текст

Ф.И.О. ( поле ввода )
Адрес E-Mail : ( поле ввода )
Дата и время : ( вставляются автоматически )
Цель посещения : ( поле ввода )

-------
С последующим сохранением результатов в лог-файл и/или в MySQL.

Используемое ПО : FreeBSD, Apache, mod_php+mod_perl, MySQL.

С уважением, Дмитрий.

З.Ы. Буду благодарен за любую срочную помощь.

anonymous

Ну дорогой...Ты основы mysql знаешь? Создай таблицу, которая будет содержать поля, которые ты сам указал. На php это можно написать за пару часов. Делаешь обычную формочку с полями input type=text, action=что-нибудь.php Есть такая функция date. Ну а в этом php-шном скрипте формируешь строку, которую ты должен загнать в таблицу путём insert into table. Извини, ну не могу же я тебе здесь весь код написать. Если всё же ты хотел бы увидеть пример, то напиши на minus@mzero.ru, постараюсь помочь.

mzero
()

Значит, создаешь базу (mysqladmin create dbname). При желании можно дать ей права на какого-то юзера (иначе будет для рута) - Команда GRANT.
Потом открываешь любимый текстовый редактор и создаешь файл, желательно с расширением .sql, и пишешь в него следуюшее
CREATE TABLE `users` (
`Id` int(255) NOT NULL auto_increment,
`FIO` varchar(50) NOT NULL,
`Email` varchar(255) NOT NULL,
`Aim` varchar(255) NOT NULL,
PRIMARY KEY (`Id`),
UNIQUE KEY `FIO` (`FIO`)
) TYPE=MyISAM ;

Опишу кратко:
users - имя таблицы,
а потом
`FIO` varchar(50) default NULL,
имя_поля - тип поля - что по умолчанию в поле
а потом формат такой
название поля, тип...
Id - ключевое поле с индексом записи
Поле FIO уникально

Потом вызываешь
#mysql
или (если создал бд для какого-нить юзера)
#mysql -u username -p

#source /path/to/myfile/sql
#quit

Теперь, когда таблица создана.. Необходимо создать примерно такой php.
<html><body>
<?
if ($action == "adduser")
{
mysql_connect ("localhost", "root", ""); //тут надо вписать - host, "имя пользователя", "пароль пользователя"
mysql_select_db ("dbname"); //тут надо вписать имя базы
mysql_query ("insert into users set FIO='" . addlashes($txtFio) . "' , Email='" . addslashes($txtEmail). "', Aim='" . addslashes($txtAim) . "'") or die ("Что-то глюкнуло: " . mysql_error());
?>
Запись Добавлена. Спасибо! Тра-ля-ля
<?
mysql_close();
die;
}
?>
<form name='frmMain' method=post action='<?=$_SERVER['PHP_SELF']?>'>
ФИО: <input type="text" name="txtFio" value="">
Email: <input type="text" name="txtEmail" value="">
Цель: <input type="text" name="txtAim" value="">
<input type="hidden" name="action" value="adduser">
<center><input type="submit" value="Добавить"></center>
</form>

</body></html>


Ну все, в принципе, если не наглюкал (я не проверял код).. Ну если чето не понятно - пиши. А вообще, если не единоразово пишешь - учи php, mysql и пр - www.php.net, www.mysql.com ...

P.S. Данный код не заработает, если не включен register_globals в php.ini.
Или надо поменять немного php код, например addslashes($txtFio) на addslashes($_POST('$txtFio')) и т.п. Но я не люблю лишний код.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.