по сути должно добавлять нового пользователя но его по чему то в базе данных нет ...
..
(немного урезал но не в этом суть)
<h2 class="h2-title">Регистрация</h2>
<form id="form_reg" method="POST" action="/reg/handler_reg.php">
<p id="reg_message"></p>
<div id="block-form-registration">
<ul id="form-registration">
<li>
<label>Логин</label>
<input type="text" name="reg_login" id="reg_login"/>
</li>
..
<p><input type="submit" name="reg_submit" id="form_submit" value="Регистрация"/></p>
..
файлы:
____________________
db_connect.php
____________________
<?php
$db_host = 'localhost';
$db_user = 'admin';
$db_pass = '12345';
$db_database = 'db_shop';
$link = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_database, $link) or die ("Нет соединения с БД" .mysql_error());
mysql_query("SET names cp1251");
?>
____________________
functions.php
____________________
<?php
function clear_string($cl_str)
{
$cl_str = strip_tags($cl_str);
$cl_str = mysql_real_escape_string($cl_str);
$cl_str = trim($cl_str);
return $cl_str;
}
?>
____________________
handler_reg.php
____________________
<?php
if($_SERVER["REQUEST_METHOD"] == "POST")
{
session_start();
define('myeshop', true);
include("../block/db_connect.php");
include("../functions/functions.php");
$error = array();
$login = iconv("UTF-8", "cp1251",strtolower(clear_string($_POST['reg_login'])));
$pass = iconv("UTF-8", "cp1251",strtolower(clear_string($_POST['reg_pass'])));
$surname = iconv("UTF-8", "cp1251",clear_string($_POST['reg_surname']));
$name = iconv("UTF-8", "cp1251",clear_string($_POST['reg_name']));
$patronymic = iconv("UTF-8", "cp1251",clear_string($_POST['reg_patronymic']));
$email = iconv("UTF-8", "cp1251",clear_string($_POST['reg_email']));
$phone = iconv("UTF-8", "cp1251",clear_string($_POST['reg_phone']));
$address = iconv("UTF-8", "cp1251",clear_string($_POST['reg_address']));
if (strlen($login) < 5 or strlen($login) > 15)
{
$error[] = "Логин должен быть от 5 до 15 символов!";
}
else
{
$result = mysql_query("SELECT login FROM reg_user WHERE login = '$login'",$link);
If (mysql_num_rows($result) > 0)
{
$error[] = "Логин занят!";
}
}
if (strlen($pass) < 7 or strlen($pass) > 15) $error[] = "Укажите пароль от 7 до 15 символов!";
if (strlen($surname) < 3 or strlen($surname) > 20) $error[] = "Укажите Фамилию от 3 до 20 символов!";
if (strlen($name) < 3 or strlen($name) > 15) $error[] = "Укажите Имя от 3 до 15 символов!";
if (strlen($patronymic) < 3 or strlen($patronymic) > 25) $error[] = "Укажите Отчество от 3 до 25 символов!";
if (!preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i",trim($email))) $error[] = "Укажите корректный email!";
if (!$phone) $error[] = "Укажите номер телефона!";
if (!$address) $error[] = "Необходимо указать адрес доставки!";
if($_SESSION['img_captcha'] != strtolower($_POST['reg_captcha'])) $error[] = "Неверный код с картинки!";
unset($_SESSION['img_captcha']);
if (count($error))
{
echo implode('<br />',$error);
}else
{
$pass = md5($pass);
$pass = strrev($pass);
$pass = "9nm2rv8q".$pass."2yo6z";
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query(" INSERT INTO reg_user(login,pass,surname,name,patronymic,email,phone,address,datetime,ip)
VALUES(
'".$login."',
'".$pass."',
'".$surname."',
'".$name."',
'".$patronymic."',
'".$email."',
'".$phone."',
'".$address."',
NOW(),
'".$ip."'
)",$link);
echo 'true';
}
}
?>
Примечание:
slo_nik, вот запрос на запись, должно передавать в базу данных но не передает! ?
mysql_query(" INSERT INTO reg_user(login,pass,surname,name,patronymic,email,phone,address,datetime,ip)
VALUES(
'".$login."',
'".$pass."',
'".$surname."',
'".$name."',
'".$patronymic."',
'".$email."',
'".$phone."',
'".$address."',
NOW(),
'".$ip."'
)",$link);
echo 'true';
}
}
?>
Примечание:
$login = iconv("UTF-8", "cp1251",strtolower(clear_string($_POST['reg_login'])));
Примечание:
- это переменная в нее записываем данные с импута:
<input type="text" name="reg_login" id="reg_login"/>