Почему в БД вставляются не те данные(снова)?

Добрый вечер. У меня есть страница регистрации index.php:
<!DOCTYPE html>
<html lang="ru">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="shortcut icon" href="../favicon.ico">

    <title>Регистрация</title>

    <!-- Custom styles for this template -->
    <link href="signin.css" rel="stylesheet">

    <!-- Just for debugging purposes. Don't actually copy this line! -->
    <!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>

    <div class="container">

      <form class="form-signin" role="form" action="register.php" method="POST">
        <h2 class="form-signin-heading">Пожалуйста, зарегистрируйтесь</h2>
        <input type="email" name="email" class="form-control" placeholder="Email" required autofocus>
        <br />
        <input type="text" name="name" class="form-control" placeholder="Имя (Например, Миша, Маша)" required>
        <br />
        <input type="password" name="password" class="form-control" placeholder="Пароль" required>
        
        <input type="password" name="password2" class="form-control" placeholder="Повторите пароль" required>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Отправить</button>
      </form>

    </div> <!-- /container -->
    
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">

    <!-- Optional theme -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
    
    <!-- Latest compiled and minified JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
    
  </body>
</html>


Все передается в register.php:
<?php
    $name = trim(mysql_real_escape_string($_REQUEST['name']));
    $email = trim(mysql_real_escape_string($_REQUEST['email']));
    $password = trim(mysql_real_escape_string($_REQUEST['password']));
    $password2 = trim(mysql_real_escape_string($_REQUEST['password2']));
    
    include('../db.php');
    
    $res_name = mysql_query ("SELECT * FROM `users` WHERE `login`='$name';");
    $res_email = mysql_query ("SELECT * FROM `users` WHERE `email`='$email';");
    
    if (mysql_num_rows($res_name) == 0) {
        if (mysql_num_rows($res_email) == 0) {
            if ($password == $password2) {
                include('insert.php');
            }
            else {
                die ("Пароли не совпадают");
            };
        }
        else {
          die ("Email занят");  
        };
    }
    else {
        die ("Имя занято");
    };
    
    header("Location: http://site.ru/");
    exit;
?>


insert.php:
<?php

    $secure = md5($password . $name);
    
    $sql = "INSERT INTO users (`name`, `email`, `password`)
                VALUES('{$name}', '{$email}', '{$secure}');";
                
    mysql_query($sql)
        or die(mysql_error());
?>


При этом в БД вставляется только пароль. остальные поля пусты. Почему?
  • Вопрос задан
  • 2412 просмотров
Решения вопроса 2
@IceJOKER
Web/Android developer
до $sql = ...
напишите var_dump($name, $email); - пустые они или нет проверьте.
если пустые - исправьте, если нет, то проверьте тип полей в БД.

и учитесь хардкорд дебагу - die(var_dump($var)); // проверяете каждый шаг и смотрите где данные теряются или не приходят, включите показ ошибок
Ответ написан
fsdsdfsfdsfsdfsdfsdfsdfsd
@fsdsdfsfdsfsdfsdfsdfsdfsd
Unknown
Не вижу в insert.php переменных $name и $password.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы