@Maximys781

Почему не работает регистрация?Почему данные не сохраняются в базе данных?

Делаю сайт на WP, на просторах сети нашел тутор по написанию php кода регистрации, шаг за шагом делал все как написано. Но в итоге ничего не получается. Регистрируешься, данные никуда не уходят, хотя база данных подключена, таблица создана. Ссылка
header.php
<?php
include_once("bd.php");
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
<title><?php bloginfo('name') ?><?php wp_title() ?></title>
	<!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script><![endif]-->
	<title></title>
	<meta name="keywords" content="" />
	<meta name="description" content="" />
<body>
	<form action="verification.php" method="POST">
  <p><input type="text" class="fio" value="Ваше ФИО"  onblur="if(this.value=='') this.value='Ваше ФИО';" onfocus="if(this.value=='Ваше ФИО') this.value='';" name="fio" /></p>
   </form>
   <form action="">
   <p><input type="text" class="login" size="20" value="Ваш логин*"  onblur="if(this.value=='') this.value='Ваш логин';" onfocus="if(this.value=='Ваш логин') this.value='';" name="login" ></p>
   </form>
   <form action="">
   <p><input type="email"  class="email" value="Ваш e-mail*"  onblur="if(this.value=='') this.value='Ваш e-mail';" onfocus="if(this.value=='Ваш e-mail') this.value='';" name="email" ></p>
   </form>
<form action="">
   <p><input type="password" class="password" placeholder="Введите пароль*" size="20" maxlength="20" onblur="if(this.placeholder=='') this.placeholder='Введите пароль';" onfocus="if(this.placeholder=='Введите пароль') this.placeholder='';" name="password" ></p>
   </form>
   <form action="">
   <p><input type="password" class="accpassword" placeholder="Подтвердите пароль*" size="20" maxlength="20" onblur="if(this.placeholder=='') this.placeholder='Подтвердите пароль';" onfocus="if(this.placeholder=='Подтвердите пароль') this.placeholder='';" name="accpassword" ></p>
   </form>	
   <form action="">
   <p><input type="submit" class="send" value="Отправить" onblur="if(this.value=='') this.value='Отправить';" onfocus="if(this.value=='Отправить') this.value='';" name="send" ></p>
   </form>
   </form>
  
<?php
if(empty($login) and empty($password)){
print <<<HERE
 <div class="vhod">
   <div id="input">
	<p>Вход</p>
	</div>
      <form action="login.php" method="POST">
     <p><input type="text" class="logininput" value="Введите логин" onblur="if(this.value=='') this.value='Введите логин';" onfocus="if(this.value=='Введите логин') this.value='';" name="login-input" ></p>
   </form>
	  
      <p><input type="password" class="inputpassword" placeholder="Введите пароль" onblur="if(this.placeholder=='') this.placeholder='Введите пароль';" onfocus="if(this.placeholder=='Введите пароль') this.placeholder='';" name="input-password" ></p>
	  </form>
<form action="">
   <p><input type="submit" class="input" value="Войти" onblur="if(this.value=='') this.value='Войти';" onfocus="if(this.value=='Войти') this.value='';" name="Войти" ></p>
   </form>
   </form>
HERE;
}
else{
echo "Привет, <strong>".$login."</strong> | <a href='exit.php'>Выход</a><br>Контент для зарегистрированных пользователей";
}
?>
   </div>	

	</header><!-- .header-->
</html>


verification.php
<?php
    include_once("bd.php");
	
    if (isset($_POST['submit'])){
		if(empty($_POST['login']))  {
			echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите логин!"> Введите логин! </font>';
		} 
		elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) {
			echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="В поле "Логин" введены недопустимые символы!"> В поле "Логин" введены недопустимые символы! Только буквы, цифры и подчеркивание!</font>';
		}
		elseif(empty($_POST['password'])) {
			echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите пароль !"> Введите пароль!</font>';
		}
		elseif (!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) {
			echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Пароль слишком короткий!"> Пароль слишком короткий! Пароль должен быть не менее 6 символов! </font>';
		}
		elseif(empty($_POST['accpassword'])) {
			echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите подтверждение пароля!"> Введите подтверждение пароля!</font>';
		}
		elseif($_POST['password'] != $_POST['password2']) {
			echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введенные пароли не совпадают!"> Введенные пароли не совпадают!</font>';
		}
		elseif(empty($_POST['email'])) {
			echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите E-mail!">Введите E-mail! </font>';
		}
		elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
			echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="E-mail имеет недопустимий формат!"> E-mail имеет недопустимий формат! Например, name@gmail.com! </font>';
		}
		 
		else{
			$fio = $_POST['fio'];
			$login = $_POST['login'];
			$password = $_POST['password'];
			$mdPassword = md5($password);
			$accpassword = $_POST['accpassword'];
			$email = $_POST['email'];
			$rdate = date("d-m-Y в H:i");
			
			  
			  
			$query = ("SELECT id FROM users WHERE login='$login'");
			$sql = mysql_query($query) or die(mysql_error());
			
			if (mysql_num_rows($sql) > 0) {
				echo '<font color="red"><img border="0" src="error.gif" align="middle" alt="Пользователь с таким логином зарегистрированый!"> Пользователь с таким логином зарегистрирован!</font>';
			}
			else {
				$query2 = ("SELECT id FROM users WHERE email='$email'");
				$sql = mysql_query($query2) or die(mysql_error());
				if (mysql_num_rows($sql) > 0){
					echo '<font color="red"><img border="0" src="error.gif"  alt="Пользователь с таким e-mail зарегистрированый!"> Пользователь с таким e-mail уже зарегистрирован!</font>';
				}
				else{
					$query = "INSERT INTO users (login, password, email, reg_date,fio )
							  VALUES ('$login', '$mdPassword', '$email', '$rdate', '$fio')";
					$result = mysql_query($query) or die(mysql_error());;
					echo '<font color="green"><img border="0" src="ok.gif" align="middle" alt="Вы успешно зарегистрировались!"> Вы успешно зарегистрировались!</font><br><a href="index.php">На главную</a>';
					
								
				}
			}
		}
    }
?>


login.php
<?php
include_once("bd.php");
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8" />
<title><?php bloginfo('name') ?><?php wp_title() ?></title>
	<!--[if lt IE 9]><script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script><![endif]-->
	<title></title>
	<meta name="keywords" content="" />
	<meta name="description" content="" />
<body>
<?php
if (isset($_POST['login'])) {
	$login = $_POST['login']; 
	if ($login == '') {
		unset($login);
		exit ("Введите пожалуйста логин!");
	} 
}
if (isset($_POST['password'])) {
	$password=$_POST['password']; 
	if ($password =='') {
		unset($password);
		exit ("Введите пароль");
	}
}

$login = stripslashes($login);
$login = htmlspecialchars($login);

$password = stripslashes($password);
$password = htmlspecialchars($password);


$login = trim($login);
$password = trim($password);

$password = md5($password);//шифруем пароль

$user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id'])){
	exit ("Извините, введённый вами логин или пароль неверный.");
}
else {

   
    $_SESSION['password']=$password; 
	$_SESSION['login']=$login; 
    $_SESSION['id']=$id_user['id'];
		  
}
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
?>
</body>
</html>


bd.php
<?php
session_start();

mysql_connect("localhost","root","");
mysql_select_db("bd");
mysql_query("SET NAMES utf8");

$login=$_SESSION['login'];
$password=$_SESSION['password'];
$id_user=$_SESSION['id'];
?>
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 2
sabramovskikh
@sabramovskikh
На wp нет своей регистрации?
Ответ написан
za4me
@za4me
Человек
К чему вы пишите на wp свою регистрацию?
Какой в этом логический смысл?
Если просто хотите написать регистрацию, то пишите с нуля, но не вешайте ее на wp.

p.s. смотрите логи, ошибки. mysql для подключения к БД использовать нельзя.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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