Задать вопрос
@AKBAR_ODILOV
Необычный чел.

Нужна помощь с БД?

Есть форма регистрации передаются данные методом пост, и с помощью функции
mysql_query("INSERT INTO `users` () VALUES ()") or die('Вы не зарегистрированы.');
ставятся данные, но проблема в том, что, когда данные введены латинскими буквами, то без проблем ставятся, а когда русскими, то ничего не ставится, просто поле в бд пустое и все
поля у меня чередуются так:id, name, email, pass, все поля заполнены кроме нейм
Помогите пожалуйста.
63beb1f4775f436cafb6becb71b008e9.jpg
<div class = "registration">
		<span>Регистрация</span>
		<form name = "registration" action = "handler_reg.php" method = "post">
			<input name = "name" type = "text" placeholder = "Имя и фамилия" class = "_input" /><br />
			<input name = "email" type = "text" placeholder = "E-mail" class = "_input" /><br />
			<input name = "password" type = "password" placeholder = "Пароль" class = "_input" /><br />
			<input name = "password2" type = "password" placeholder = "Подтверждение пароля" class = "_input" /><br />
			<input name = "reg" type = "submit" value = "Зарегистрироваться" class = "button" /><br />
		</form>
	</div>

-------------------------обработчик---------------------------------
/
<?php
	#Массив ошибок;
	$Error_message = Array();
	$k = 1;
	/*---------------------------------------------------*/
	#Проверка полей;
	if(isset($_POST["name"])){
		$user_name = $_POST["name"];
		if($user_name == ""){
			$Error_message[$k] = "Вы не заполнили поле Имя и фамилия.<br />"; 
			$k++;
		}
	}
	if(isset($_POST["email"])){
		$email = $_POST["email"];
		if($email == ""){
			$Error_message[$k] = "Вы не заполнили поле Email.<br />";
			$k++;
		}elseif(!preg_match("|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i",$email)){
			$Error_message[$k] = "E-mail введён не правильно.<br />";
			$k++;
		}
	}
	if(isset($_POST["password"])){
		$password = $_POST["password"];
		if($password == ""){
			$Error_message[$k] = "Вы не заполнили поле пароль.<br />"; 
			$k++;
		}
	}
	if(isset($_POST["password2"])){
		$password2 = $_POST["password2"];
		if($password2 == ""){
			$Error_message[$k] = "Вы не заполнили поле подтверждение пароля.<br />"; 
			$k++;
		}
	}
	if(($password != "") && ($password2 != "") && ($password != $password2)){
		$Error_message[$k] = "Пароли не совпадают.<br />"; 
		$k++;
	}
	$password = md5(md5($password));
	/*---------------------------------------------------*/
?>
<HTML>
<head>
	<title>Регистрация</title>
</head>
<body>
	<?php
		#Вывод ошибок;
		if($k > 1){
			for($i = 1; $i <= $k; $i++){
				echo $Error_message[$i];
			}
			exit;
		}
	?>
	<?php
	# Занесениеданнвх в БД;	
	Define('AKBAR',TRUE);
	require_once "config.php";
	mysql_query("INSERT INTO `users` (`name`, `email`, `password`) VALUES ('$name', '$email', '$password')") or die('Вы не зарегистрированы.');
	echo "Вы зарегистрированы.<br /><a href='http://livenet.mcdir.ru/'>Войти</a>";
	?>
	
	<?php echo "<br />Завершeнa работа скрипта."; ?>
</body>
</HTML>


НЕ ПИШИТЕ ЕРУНДУ НАДОЕЛИ У МЕНЯ ПОЛЯ ПУСТЫЕ А НЕ КРЯКОЗАБРЫЫЫЫЫЫЫЫ ПОЛЯ КОТОРЫЕ ДОБАВЛЕНЫ РУССКИЕ БУКВЫ БУДУТ ПУСТЫМИ А ЕСЛИ ДОБАВИТЬ ЛАТИНСКИЙ ТО ДОБАВЛЯЮТСЯ ВОТ СМОТРИТЕ livenet.mcdir.ru/6CCpBLWz-ow.jpg И НЕ ПИШИТЕ ВСЯКУЮ ХРЕНЬ
  • Вопрос задан
  • 204 просмотра
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
sam002
@sam002
Линуксойд, кодер, немного физик.
mysql_query("set names utf8");
Вот, специально для вас нагуглил: gahcep.github.io/blog/2013/01/05/mysql-utf8
Ответ написан
Комментировать
Ashlst
@Ashlst
Фанат эстетики и красивых решений.
Перепроверь кодировки,utf-8 general ci,должно быть. И скинь конфиги php.ini и my.ini
p.s.Рекомендую проверить клаву, у тебя капслок залипает...Зачем орать на тех,кто пытается помочь??? Если такой умный и прошареный - разбирайся сам,нет - старайся максимально вежливо и точно отвечать на вопросы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы