Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Перенос данных из формы регистрации в БД
 
 автор: Dizels   (09.09.2007 в 14:16)   письмо автору
 
 

Это опять я:) Знаю, многих, наверное уже достал, но я все так же пытаюсь сделате регистрацию пользователей. Вроде потихоньку начинает проясняться, но вопросов все равно еще куча. Так вот, форму для ввода регистрационных данных я с горем пополам сделал:

Файл regform.php

<center><b>Регистрация:</b></center>

<form action=reg.php method=POST>
<table border="0" cellpadding="0" cellspacing="0">

<tr>
<td colspan="2"><b>Персональные данные:</b></td>
</tr>


<tr>
<td>Логин <font color="red">&#42;</font> :</td>
<td><input type=text name=login size=30></td>
</tr>

<tr>
<td>Пол <font color="red">&#42;</font> :</td>
<td>
<input type=radio name=pol onChange="dsurname(1, this)" value="myg">Муж   
<input type=radio name=pol onChange="dsurname(2, this)" value="gen">Жен 
</td>
</tr>

<script> 
function dsurname(which, obj) 

  obj.form.devichiafamilia.disabled = !( 
    (which==1 && !obj.checked) || 
    (which==2 && obj.checked) 
  ); 

</script>

<tr>
<td>Фамилия <font color="red">&#42;</font> :</td>
<td><input type=text name=familia size=30></td>
</tr>

<tr>
  <td>Девичья фамилия:</td>
  <td><input type=text name=devichiafamilia size=30></td>
</tr>

<tr>
<td>Имя <font color="red">&#42;</font> :</td>
<td><input type=text name=name size=30></td>
</tr>

<tr>
<td>Отчество <font color="red">&#42;</font> :</td>
<td><input type=text name=otchestvo size=30></td>
<tr>

<tr>
<td>Дата рождения <font color="red">&#42;</font> :</td>
<td>
<?php
     
// Выпадающий список для дня
     
echo "<select title='День' class=input type=text name='date_day'>";
     for(
$i 1$i <= 31$i++)
     {
       if(
$date_day == $i$temp "selected";
       else 
$temp "";
       echo 
"<option value=$i $temp>".sprintf("%02d"$i);
     }
     echo 
"</select>";
     
// Выпадающий список для месяца
?>

<select name =date_month>
<option value=1>Январь (01)</option>
<option value=2>Февраль (02)</option>
<option value=3>Март (03)</option>
<option value=4>Апрель (04)</option>
<option value=5>Май (05)</option>
<option value=6>Июнь (06)</option>
<option value=7>Июль (07)</option>
<option value=8>Август (08)</option>
<option value=9>Сентябрь (09)</option>
<option value=10>Октябрь (10)</option>
<option value=11>Ноябрь (11)</option>
<option value=12>Декабрь (12)</option>

<?php
     
// Выпадающий список для года
     
echo "<select class=input type=text name='date_year'>";
     for(
$i 1940$i <= 2010$i++)
     {
       if(
$date_year == $i$temp "selected";
       else 
$temp "";
       echo 
"<option value=$i $temp>$i";
     }
     echo 
"</select><br>";
?>
</td>
</tr>

<tr>
<td>Пароль <font color="red">&#42;</font> :</td>
<td><input type=password name=pass1 size=30></td>
</tr>

<tr>
<td>Повторите пароль <font color="red">&#42;</font> :</td>
<td><input type=password name=pass2 size=30></td>
</tr>

<tr>
<td>e-mail <font color="red">&#42;</font> :</td>
<td><input type=text name=email size=30></td>
</tr>

<tr>
<td>ICQ:</td>
<td><input type=text name=icq size=30></td>
</tr>

<tr>
<td>Дополнительно:</td>
<td><textarea name=dopolnitelno rows=10 cols=40></textarea></td>
</tr>

<tr>
<td>Защитный код <font color="red">&#42;</font> :</td>
<td><img src="../randomimage/index.php" border="0" alt="Введите этот защитный код">
<input type="text" name="securityCode" title="Введите код, который изображен на картинке">
</td>
</tr>

<tr>
<td colspan="2"><input type=button value=Зарегистрировать></td>
</tr>
</table>
</form>


Поля, отмеченные  <font color="red">&#42;</font>  - обязательные для заполнения.



Вот, теперь собственно встал вопрос - как все это счастье в БД занести? Создал для этого файл reg.php:

<?php

include "../admin/config.php";  - [i]здесь настройки подключения к БД лежат[/i]



?>

Пожалуйста, теперь, у кого на меня еще терпения хватает, объясните поэтапно, как все данные в БД заносить.

P.S. я только учусь - вспомните себя:) сильно не ругайте:)

   
 
 автор: Dizels   (09.09.2007 в 14:45)   письмо автору
 
   для: Dizels   (09.09.2007 в 14:16)
 

Вот еще структура БД:


CREATE TABLE `users` (
  `user_id` int(11) unsigned NOT NULL auto_increment,
  `user_login` tinytext NOT NULL,
  `user_password` tinytext NOT NULL,
  `pol` int(1) NOT NULL default '0',
  `user_f` tinytext NOT NULL,
  `user_n` tinytext NOT NULL,
  `user_o` tinytext NOT NULL,
  `user_df` tinytext,
  `bithday` date NOT NULL default '0000-00-00',
  `email` tinytext NOT NULL,
  `ICQ` tinytext,
  `dopolnitelno` text,
  PRIMARY KEY  (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;

   
 
 автор: Dizels   (09.09.2007 в 15:40)   письмо автору
 
   для: Dizels   (09.09.2007 в 14:45)
 

правильный файл reg.php:


<?php

include "../admin/config.php";

// получаем данные

$login trim($_POST['login']);
[
b]$pol = ;[/b]                                             [b] - как правильно написать?[/b]
$familia trim($_POST['familia']);
$dfamilia trim($_POST['dfamilia']);
$name trim($_POST['name']);
$otchestvo trim($_POST['otchestvo']);
[
b]$bithday trim($_POST['']);[/b]          [b] - как правильно написать?[/b]
$pass1 $_POST['pass1'];
$pass2 $_POST['pass2'];
$email trim($_POST['email']);
$icq trim($_POST['icq']);
$dopolnitelno $_POST['dopolnitelno'];


// Проверяем правильность ввода данных

if(empty($login)) echo "Не указан логин";
if(empty(
$familia)) echo "Не указана фамилия";
if(empty(
$name)) echo "Не указано имя";
if(empty(
$otchestvo)) echo "Не указано отчество";
[
b]if(empty($pol)) echo "Не выбран пол";[/b]       [b]- правильно?[/b]
if(empty(
$pass1) ||
   empty(
$pass2) ||
   
$pass1 != $pass2) echo "Ошибка в паролях";
if(empty(
$email)) 
{
    if (!
preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i"$email))
    echo 
"Не указан e-mail";
}
?>


Собственно вопрос - как понять какой пол выбрал пользователь?(всмысле как это кодом написать), как поступать с датой рождения(нужно, чтобы ее(дату)обязательно указывали)?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования