Могёт быть с защитой не всё предусмотрел
но это уже дело техники и (воображения сумасшедшего ПРОФЕССОРА )
а в остальном думаю что достаточно складно получилось
раздел-то Готовые решения называется, знач по адресу попал.
Ну вот это сама форма regist.php
в ней надобно изменить пути в строчке
action="/yvsik/regob.php"для успешной пробы
а путь к капче не менять сама найдет
Свернутый текст
<title>Форма для занесения всех необходимых полей</title>
<form id="form1" name="form1" method="post" action="/yvsik/regob.php">
<table width="671" height="361" border="1" cellpadding="0" cellspacing="0" bordercolor="#FF0000">
<tr>
<th width="336" height="316" valign="top" bgcolor="#E6FEFF" scope="col"><table width="100%" border="0">
<tr>
<td width="52%" class="glav" scope="col"><div align="right">Начало регистрации</div></td>
<th colspan="2" class="zbet2" scope="col"><div align="right">
<label>
<input name="Data_regl" type="text" id="Data_regl"
value="<?php echo (date("Y:m:d")); ?>"readonly/>
</label>
</div></th>
</tr>
<tr>
<td class="glav"><div align="right">Окончание регистрации</div></td>
<td colspan="2" class="zbet2"><div align="right">
<label>
<input name="Data_okn" type="text" id="Data_okn"
value="<?php echo (date("Y:m:d",time()+ 30*24*60*60));?>"readonly />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Имя</div></td>
<td colspan="2" class="zbet2"><div align="right">
<label>
<input name="imyl" type="text" id="imyl"
<?php echo 'value= "'.htmlspecialchars($imyl).'" '; ?>/>
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Фамилия</div></td>
<td colspan="2" class="zbet2"><div align="right">
<label>
<input name="famel" type="text" id="famel"
<?php echo 'value= "'.htmlspecialchars($famel).'" '; ?>/>
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Логин</div></td>
<td colspan="2" class="zbet2"><div align="right">
<label>
<input name="loginl" type="text" id="loginl"
<?php echo 'value= "'.htmlspecialchars($loginl).'" '; ?> />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Пароль</div></td>
<td colspan="2" class="zbet2"><div align="right">
<label>
<input name="parol" type="password" id="parol" />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Подтверждение</div></td>
<td colspan="2" class="zbet2"><div align="right">
<label>
<input name="textpass" type="password" id="textpass" />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Почта(mail)</div></td>
<td colspan="2" class="zbet2"><div align="right">
<label>
<input name="maill" type="text" id="maill"
<?php echo 'value= "'.$maill.'" '; ?> />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Код</div></td>
<td colspan="2" class="zbet2"><div align="right">
<label>
<input name="keystring" type="text" id="keystring" />
</label>
</div></td>
</tr>
<tr>
<td height="41" class="glav"></div></td>
<td width="2%" class="zbet2"> </td>
<td width="46%" align="left" bgcolor="#FF0000" >
<img src="http://sisi.forsite.org/yvsik/blok/kcaptcha/?/?
<?php echo session_name()?>=<?php echo session_id()?>" /></td>
</tr>
<tr>
<td colspan="3" ><div align="right">
<label></label>
</div> <div align="right"></div></td>
</tr>
</table></th>
<th width="335" valign="top" scope="col"><table width="100%" border="0">
<tr>
<td width="52%" class="glav" scope="col"><div align="right">Город</div></td>
<td width="48%" scope="col"><div align="right">
<label>
<input type="text" name="gorod" id="gorod"
<?php echo 'value= "'.htmlspecialchars($gorod).'" '; ?>/>
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Адрес ваш</div></td>
<td><div align="right">
<label>
<input type="text" name="ad_vach" id="ad_vach"
<?php echo 'value= "'.htmlspecialchars($ad_vach).'" '; ?> />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Статус</div></td>
<td><div align="right">
<label>
<input type="text" name="status" id="status"
<?php echo 'value= "'.htmlspecialchars($status).'" '; ?> />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Телефон сотовый</div></td>
<td><div align="right">
<label>
<input type="text" name="tele_SOT" id="tele_SOT" />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">Телефон городской</div></td>
<td><div align="right">
<label>
<input type="text" name="tele_GTS" id="tele_GTS" />
</label>
</div></td>
</tr>
<tr>
<td class="glav"><div align="right">
<div align="left"></div>
</div></td>
<td><div lign="left"></div></td>
</tr>
<tr>
<td class="glav"><div align="right"></div></td>
<td><div align="right"></div></td>
</tr>
<tr>
<td height="39" colspan="2" align="center"> </td>
</tr>
<tr>
<td height="40" colspan="2" align="center" class="glav"> </td>
</tr>
<tr>
<td height="35" class="glav"><div align="right"></div></td>
<td><div align="right"></div></td>
</tr>
</table></th>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#CCCCCC">
<input type="reset" name="button2" id="button2" value="Сброс" />
<input type="submit" name="button" id="button" value="Регистрация" /></td>
</tr>
</table>
</form>
Далее как положено обработчик regob.php
Свернутый текст
<?php
include 'db.php';
/*это подключение к базе пути надобно поменять по месту*/
/*туточки инициализируем все нужные переменные */
$imyl = !empty($_POST['imyl']) ? $_POST['imyl'] : NULL;
$famel = !empty($_POST['famel']) ? $_POST['famel'] : NULL;
$loginl = !empty($_POST['loginl']) ? $_POST['loginl'] : NULL;
$parol = !empty($_POST['parol']) ? $_POST['parol'] : NULL;
$textpass =!empty($_POST['textpass']) ? $_POST['textpass'] : NULL;
$keystring = !empty($_POST['keystring']) ? $_POST['keystring'] : NULL;
$maill = !empty($_POST['maill']) ? $_POST['maill'] : NULL;
$gorod = !empty($_POST['gorod']) ? $_POST['gorod'] : NULL;
$ad_vach = !empty($_POST['ad_vach']) ? $_POST['ad_vach'] : NULL;
$status = !empty($_POST['status']) ? $_POST['status'] : NULL;
/*Проверка на заполнение поля ИМЯ*/
if ( empty($_POST['imyl']))
echo 'Для корректной переписки скажите как вас зорвут <br> ';
/*добавляем проверку на длину ИМЕНИ*/
if (strlen($imyl) < 3 or strlen($imyl) > 25)
{
unset($imyl);
echo '"Имя" должно состоять от 3 и до 25 символов <br >';
}
/* поле для проверка ФаМИЛИЯ*/
if ( empty($_POST['famel']))
echo 'Имен много, а фамилия одна; Вы не хотите? Хм, странно! <br> ';
/*Проверка на заполнение поля ЛОГИНА*/
if ( empty($_POST['loginl']))
echo 'Ваш логин не назначен! <br > ';
/* проверкa на совпадение ЛОГИН-а и ПАРОЛЬ-я */
if($loginl == $parol)
{
unset($parol);
echo 'Выберете разные логин и пароль, Вам-же спокойнее.<br>';
}
elseif ($parol !== $textpass)
{
unset($textpass);
echo 'Поле Пароль и подтверждение не совпадают!<br>';
}
/*добавляем проверку на длину ЛОГИНА*/
if (strlen($loginl) < 3 or strlen($loginl) > 15)
{
unset($loginl);
echo '"Логин" должен состоять от 3 и до 15 символов <br >';
}
//добавляем проверку на длину пароля
if (strlen($parol) < 3 or strlen($parol) > 15)
{
unset($parol);
echo 'Пароль должен состоять от 3 и до 15 символов <br >';
}
/*ПРОВЕРКА ПОЧТЫ НА ПРАВИЛЬНОЕ НАПИСАНИЕ регуляркой*/
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $maill))
{
unset($maill);
echo 'Введите e-mail в виде <i>mail@server.com</i><br >';
}
/*проверка на существование пользователя с таким же логином*/
$result = mysql_query("SELECT `id` FROM `tabliza` WHERE `loginl` = '$loginl'", $db);
$myrow = mysql_fetch_assoc($result);
if(!empty($myrow['id']))
{
unset($loginl);
echo 'Такой логин уже есть, Вам необходимо подобрать '
.'другой логин.<br>';
}
/* Запись IP адреса в базу СзСдеся УТОЧНИТЬ У ХОСТЕРА КАКИЕ ОН ПОДДЕРЖИВАЕТ ФУНКЦИИ */
$ip = getenv("HTTP_X_FORWARDED_FOR");
if(empty($ip) || $ip == 'unknown')
{
$ip = getenv("REMOTE_ADDR");
}
/* Проверка капчаной кодом доступа есль путь не изменил в форме
* то она сама найде где капча
*лежит всеж это для примера белаться */
if(count($_POST) > 0)
{
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']);
else
{
unset($keystring);/*exit без этого пока неработает Т.Ск, @@@*/
echo 'Код не верен. Знач и пароль не действителен!. <br > ';
}
}
/*Провера на правильное заполнение полей из формы*/
if(isset( $Data_regl, $Data_okn, $keystring,
$imyl, $loginl, $famel, $parol, $maill ))
{ /*Вбор таблицы(tabliza) в базе к которо есть подключение */
$resylt1 = mysql_query("INSERT INTO `tabliza` (`ip`, `Data_regl`, `Data_okn`, "
."`imyl`, `famel`, `loginl`, `parol`, `maill`, `gorod`,`ad_vach`,`status` )"
." VALUES
('$ip', '$Data_regl', '$Data_okn',
'". mysql_real_escape_string($imyl) ."',
'". mysql_real_escape_string($famel) ."',
'". mysql_real_escape_string($loginl) ."',
'". mysql_real_escape_string($parol) ."',
'". mysql_real_escape_string($maill) ."',
'". mysql_real_escape_string($gorod) ."',
'". mysql_real_escape_string($ad_vach) ."',
'". mysql_real_escape_string($status) ."'
)
");
if($resylt1 == true)
{
echo 'регистрация прошла УСПЕШНО!...';
}/*ЭТОГО мы и добиваемся есль всё ок знач рега вышла как хотелось*/
else
{ /*есле крипт не полнотью рабочий выход буде сюда*/
echo 'Неверны данные, не соответствуют логике скрипа.';
include 'regist.php';
}
}
else
{
echo '!!!___ВОЗВЕРНУЛИСЯ_ЧТОБ ПОДПРАВИТЬ ТО ЧТО НЕ ПОЛНОСТЬЮ ЗАПОЛНЕНО____!!!' ;
include 'regist.php';
}
///////////////////////////////////////////////////
?>
и на последок сама таблица в базе которая должна быть на компе
и пути должны ей соответствовать
формат взят LaTeX
Свернутый текст
% phpMyAdmin LaTeX Dump
% version 3.3.2
% http://www.phpmyadmin.net
%
% Хост: localhost
% Время создания: Фев 16 2011 г., 10:25
% Версия сервера: 5.1.40
% Версия PHP: 5.3.3
%
% База данных: 'nyvot2'
%
%
% Структура: tabliza
%
\begin{longtable}{|l|c|c|c|l|}
\caption{Структура таблицы reg\_li\_ag} \label{tab:reg_li_ag-structure} \\
\hline \multicolumn{1}{|c|}{\textbf{Поле}} & \multicolumn{1}{|c|}{\textbf{Тип}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{По умолчанию}} & \multicolumn{1}{|c|}{\textbf{Комментарии}} \\ \hline \hline
\endfirsthead
\caption{Структура таблицы reg\_li\_ag (продолжение)} \\
\hline \multicolumn{1}{|c|}{\textbf{Поле}} & \multicolumn{1}{|c|}{\textbf{Тип}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{По умолчанию}} & \multicolumn{1}{|c|}{\textbf{Комментарии}} \\ \hline \hline \endhead \endfoot
\textbf{\textit{id}} & int(11) & Нет & \\ \hline
ip & varchar(15) & Нет & \\ \hline
Data\_regl & date & Нет & \\ \hline
Data\_okn & date & Нет & \\ \hline
imyl & varchar(30) & Нет & \\ \hline
famel & varchar(30) & Нет & \\ \hline
loginl & varchar(15) & Нет & \\ \hline
parol & varchar(255) & Нет & \\ \hline
maill & varchar(55) & Нет & \\ \hline
gorod & varchar(255) & Нет & \\ \hline
ad\_vach & text & Нет & \\ \hline
status & text & Нет & \\ \hline
tele\_GTS & varchar(12) & Нет & \\ \hline
tele\_SOT & varchar(12) & Нет & \\ \hline
\end{longtable}
%
% Данные: tabliza
%
\begin{longtable}{|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline \endhead \hline \endfoot \hline
\caption{Содержимое таблицы reg\_li\_ag} \label{tab:reg_li_ag-data} \\\hline \multicolumn{1}{|c|}{\textbf{id}} & \multicolumn{1}{|c|}{\textbf{ip}} & \multicolumn{1}{|c|}{\textbf{Data\_regl}} & \multicolumn{1}{|c|}{\textbf{Data\_okn}} & \multicolumn{1}{|c|}{\textbf{imyl}} & \multicolumn{1}{|c|}{\textbf{famel}} & \multicolumn{1}{|c|}{\textbf{loginl}} & \multicolumn{1}{|c|}{\textbf{parol}} & \multicolumn{1}{|c|}{\textbf{maill}} & \multicolumn{1}{|c|}{\textbf{gorod}} & \multicolumn{1}{|c|}{\textbf{ad\_vach}} & \multicolumn{1}{|c|}{\textbf{status}} & \multicolumn{1}{|c|}{\textbf{tele\_GTS}} & \multicolumn{1}{|c|}{\textbf{tele\_SOT}} \\ \hline \hline \endfirsthead
\caption{Содержимое таблицы reg\_li\_ag (продолжение)} \\ \hline \multicolumn{1}{|c|}{\textbf{id}} & \multicolumn{1}{|c|}{\textbf{ip}} & \multicolumn{1}{|c|}{\textbf{Data\_regl}} & \multicolumn{1}{|c|}{\textbf{Data\_okn}} & \multicolumn{1}{|c|}{\textbf{imyl}} & \multicolumn{1}{|c|}{\textbf{famel}} & \multicolumn{1}{|c|}{\textbf{loginl}} & \multicolumn{1}{|c|}{\textbf{parol}} & \multicolumn{1}{|c|}{\textbf{maill}} & \multicolumn{1}{|c|}{\textbf{gorod}} & \multicolumn{1}{|c|}{\textbf{ad\_vach}} & \multicolumn{1}{|c|}{\textbf{status}} & \multicolumn{1}{|c|}{\textbf{tele\_GTS}} & \multicolumn{1}{|c|}{\textbf{tele\_SOT}} \\ \hline \hline \endhead \endfoot
\end{longtable}
%
% Структура: tabliza
%
\begin{longtable}{|l|c|c|c|l|}
\caption{Структура таблицы reg\_li\_ag} \label{tab:reg_li_ag-structure} \\
\hline \multicolumn{1}{|c|}{\textbf{Поле}} & \multicolumn{1}{|c|}{\textbf{Тип}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{По умолчанию}} & \multicolumn{1}{|c|}{\textbf{Комментарии}} \\ \hline \hline
\endfirsthead
\caption{Структура таблицы reg\_li\_ag (продолжение)} \\
\hline \multicolumn{1}{|c|}{\textbf{Поле}} & \multicolumn{1}{|c|}{\textbf{Тип}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{По умолчанию}} & \multicolumn{1}{|c|}{\textbf{Комментарии}} \\ \hline \hline \endhead \endfoot
\textbf{\textit{id}} & int(11) & Нет & \\ \hline
ip & varchar(15) & Нет & \\ \hline
Data\_regl & date & Нет & \\ \hline
Data\_okn & date & Нет & \\ \hline
imyl & varchar(30) & Нет & \\ \hline
famel & varchar(30) & Нет & \\ \hline
loginl & varchar(15) & Нет & \\ \hline
parol & varchar(255) & Нет & \\ \hline
maill & varchar(55) & Нет & \\ \hline
gorod & varchar(255) & Нет & \\ \hline
ad\_vach & text & Нет & \\ \hline
status & text & Нет & \\ \hline
tele\_GTS & varchar(12) & Нет & \\ \hline
tele\_SOT & varchar(12) & Нет & \\ \hline
\end{longtable}
% version 3.3.2
% http://www.phpmyadmin.net
%
% Хост: localhost
% Время создания: Фев 16 2011 г., 10:25
% Версия сервера: 5.1.40
% Версия PHP: 5.3.3
%
% База данных: 'nyvot2'
%
%
% Структура: tabliza
%
\begin{longtable}{|l|c|c|c|l|}
\caption{Структура таблицы reg\_li\_ag} \label{tab:reg_li_ag-structure} \\
\hline \multicolumn{1}{|c|}{\textbf{Поле}} & \multicolumn{1}{|c|}{\textbf{Тип}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{По умолчанию}} & \multicolumn{1}{|c|}{\textbf{Комментарии}} \\ \hline \hline
\endfirsthead
\caption{Структура таблицы reg\_li\_ag (продолжение)} \\
\hline \multicolumn{1}{|c|}{\textbf{Поле}} & \multicolumn{1}{|c|}{\textbf{Тип}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{По умолчанию}} & \multicolumn{1}{|c|}{\textbf{Комментарии}} \\ \hline \hline \endhead \endfoot
\textbf{\textit{id}} & int(11) & Нет & \\ \hline
ip & varchar(15) & Нет & \\ \hline
Data\_regl & date & Нет & \\ \hline
Data\_okn & date & Нет & \\ \hline
imyl & varchar(30) & Нет & \\ \hline
famel & varchar(30) & Нет & \\ \hline
loginl & varchar(15) & Нет & \\ \hline
parol & varchar(255) & Нет & \\ \hline
maill & varchar(55) & Нет & \\ \hline
gorod & varchar(255) & Нет & \\ \hline
ad\_vach & text & Нет & \\ \hline
status & text & Нет & \\ \hline
tele\_GTS & varchar(12) & Нет & \\ \hline
tele\_SOT & varchar(12) & Нет & \\ \hline
\end{longtable}
%
% Данные: tabliza
%
\begin{longtable}{|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline \endhead \hline \endfoot \hline
\caption{Содержимое таблицы reg\_li\_ag} \label{tab:reg_li_ag-data} \\\hline \multicolumn{1}{|c|}{\textbf{id}} & \multicolumn{1}{|c|}{\textbf{ip}} & \multicolumn{1}{|c|}{\textbf{Data\_regl}} & \multicolumn{1}{|c|}{\textbf{Data\_okn}} & \multicolumn{1}{|c|}{\textbf{imyl}} & \multicolumn{1}{|c|}{\textbf{famel}} & \multicolumn{1}{|c|}{\textbf{loginl}} & \multicolumn{1}{|c|}{\textbf{parol}} & \multicolumn{1}{|c|}{\textbf{maill}} & \multicolumn{1}{|c|}{\textbf{gorod}} & \multicolumn{1}{|c|}{\textbf{ad\_vach}} & \multicolumn{1}{|c|}{\textbf{status}} & \multicolumn{1}{|c|}{\textbf{tele\_GTS}} & \multicolumn{1}{|c|}{\textbf{tele\_SOT}} \\ \hline \hline \endfirsthead
\caption{Содержимое таблицы reg\_li\_ag (продолжение)} \\ \hline \multicolumn{1}{|c|}{\textbf{id}} & \multicolumn{1}{|c|}{\textbf{ip}} & \multicolumn{1}{|c|}{\textbf{Data\_regl}} & \multicolumn{1}{|c|}{\textbf{Data\_okn}} & \multicolumn{1}{|c|}{\textbf{imyl}} & \multicolumn{1}{|c|}{\textbf{famel}} & \multicolumn{1}{|c|}{\textbf{loginl}} & \multicolumn{1}{|c|}{\textbf{parol}} & \multicolumn{1}{|c|}{\textbf{maill}} & \multicolumn{1}{|c|}{\textbf{gorod}} & \multicolumn{1}{|c|}{\textbf{ad\_vach}} & \multicolumn{1}{|c|}{\textbf{status}} & \multicolumn{1}{|c|}{\textbf{tele\_GTS}} & \multicolumn{1}{|c|}{\textbf{tele\_SOT}} \\ \hline \hline \endhead \endfoot
\end{longtable}
%
% Структура: tabliza
%
\begin{longtable}{|l|c|c|c|l|}
\caption{Структура таблицы reg\_li\_ag} \label{tab:reg_li_ag-structure} \\
\hline \multicolumn{1}{|c|}{\textbf{Поле}} & \multicolumn{1}{|c|}{\textbf{Тип}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{По умолчанию}} & \multicolumn{1}{|c|}{\textbf{Комментарии}} \\ \hline \hline
\endfirsthead
\caption{Структура таблицы reg\_li\_ag (продолжение)} \\
\hline \multicolumn{1}{|c|}{\textbf{Поле}} & \multicolumn{1}{|c|}{\textbf{Тип}} & \multicolumn{1}{|c|}{\textbf{Null}} & \multicolumn{1}{|c|}{\textbf{По умолчанию}} & \multicolumn{1}{|c|}{\textbf{Комментарии}} \\ \hline \hline \endhead \endfoot
\textbf{\textit{id}} & int(11) & Нет & \\ \hline
ip & varchar(15) & Нет & \\ \hline
Data\_regl & date & Нет & \\ \hline
Data\_okn & date & Нет & \\ \hline
imyl & varchar(30) & Нет & \\ \hline
famel & varchar(30) & Нет & \\ \hline
loginl & varchar(15) & Нет & \\ \hline
parol & varchar(255) & Нет & \\ \hline
maill & varchar(55) & Нет & \\ \hline
gorod & varchar(255) & Нет & \\ \hline
ad\_vach & text & Нет & \\ \hline
status & text & Нет & \\ \hline
tele\_GTS & varchar(12) & Нет & \\ \hline
tele\_SOT & varchar(12) & Нет & \\ \hline
\end{longtable}
вот вроде всё учел чтоб скопировать и протестить
а кодировка таблицы windows-1251
_____________
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___О) как-же он прав=>__________________ © Оноре де Бальзак.
отличный хост(рекомендую !! )
My MVC-CMV