Я не могу сохранять данные в базе данных mysql

Я пробую сохранять данные о формуляре, сделанном в php коды - следующие.

Формуляр реестра

<html>
<head>
    <title> Formulario de registro </title>
</head>

<body>
    <h1> Formulario de registro </h1>
    <h5> Los campos con (*) son requeridos </h5>
    <form method="POST" action="">
        <table>
            <tr> 
                <td>
                    Nombre y apellidos:
                </td> 
                <td>
                    <input type="name" name="realname" />
                </td>
            </tr>
            <tr>
                <td>
                    *Nick de usuario
                </td>
                <td>
                    <input type="name" name="nick" />
                </td>
            </tr>
            <tr>
                <td>
                    *Contraseña:
                </td>
                <td>
                    <input type="password" name="pass" />
                </td>
            </tr>
            <tr>
                <td>
                    *Repetir contraseña:
                </td>
                <td>
                    <input type="password" name="rpass" />
                </td>
            </tr>
        </table>
        <input type="submit" name="submit" value="Registrarme" /> <input type="reset" />
    </form>
    <?php
        if (isset($_POST['submit'])) {
            require("registro.php");
        }
    ?>
</body>
</html>

файл php, в котором находится метод post.

<?php
    $realname = $_POST['realname'];
    $nick = $_POST['nick'];
    $pass = $_POST['pass'];
    $rpass = $_POST['rpass'];
    $reqlen   = strlen($nick) * strlen($pass) * strlen($rpass);
    if ($reqlen > 0) {
        if ($pass === $rpass) {
            require("connect_db.php");
            $pass = md5($pass);
            mysql_query("INSERT INTO registro VALUES('','$realname','$nick','$pass')");
            mysql_close($link);
            echo 'Se ha registrado exitosamente.';
        } else {
            echo 'Por favor, introduzca dos contraseñas idénticas.';
        }
    } else {
        echo 'Por favor, rellene todos los campos requeridos.';
    }
?>

потому что он не сохраняет данных в базе данных? они могут помогать мне, тысячи спасибо.

2
задан 05.06.2016, 07:34
3 ответа

Как говорит Elenasys, остается определять action в form, предполагая, что твой файл называется registro.php, в твоем случае он был бы:

<form method="POST" action="registro.php">

Что-то добавочное, что я вижу, состоит в том, что в твоем Query SQL ты не определяешь колонны, в которые ты хочешь ввести это в компьютер данные:

mysql_query("INSERT INTO registro VALUES('','$realname','$nick','$pass')");

Он должен бы быть:

mysql_query("INSERT INTO registro(columna1, columna2, columna3, columna4) VALUES('','$realname','$nick','$pass')");

Предполагая, что у тебя есть поле autoincrementable, где не нужно размещать имя колонны, и где не существовали больше колонны, в которые вводить данные, а тебя производит ошибка в момент выполнения консультации.

Как добавочная информация не используй Драйвер mysql, чтобы реализовывать связь в базу данных, используй в Вашем mysqli месте или PDO, так как драйвер mysql остался устаревшим в PHP 5.5, и он будет удален в PHP 7.

2
ответ дан 24.11.2019, 14:14

Даже не делай определенный, в котором поля ты будешь сохранять данные, прицел твой код такой:

mysql_query("INSERT INTO registro VALUES ('','$realname','$nick','$pass')");

, Когда действительно это должный быть быть так, завися, что у тебя есть поля в твоей таблице:

mysql_query("INSERT INTO registro ('','realname','nick','pass') VALUES ('','$realname','$nick','$pass')");

Только то, что я не понимаю, из-за которого ты оставляешь поле пустым?

0
ответ дан 24.11.2019, 14:14

остается определять в свойстве action имя твоего файла .php:

<form method="POST" action="archivo.php">

для того, чтобы ты смог реализовывать правильно ее operaciГіn.

Внутри твоего файла .php существует другая проблема, неправильный твой query:

mysql_query("INSERT INTO registro VALUES('','$realname','$nick','$pass')");

ты Должен определять поля:

mysql_query("INSERT INTO registro (nombrecampo1, nombrecampo2, nombrecampo3, nombrecampo4) VALUES('','$realname','$nick','$pass')");
0
ответ дан 24.11.2019, 14:14