0

我正在用 html 制作注册表单,但无法将数据保存到数据库中,我发送的所有内容都是空字符串!我不知道代码有什么不好,我不认为语法有问题,希望这里有人能帮我看看我哪里出错了:

<?php

$con = mysqli_connect("localhost", "neosoftw_lambda", "7s3684129", "neosoftw_lambdaMovil");

if(mysqli_connect_errno()){
        echo "Error al conectar con MySQL: " . mysqli_connect_error();
}

$sql = "INSERT INTO usuarios VALUES(NULL, '$_POST[txt_empresa]', '$_POST[txt_usuario]', PASSWORD('$_POST[txt_password]'), '$_POST[txt_email]');";

if(!mysqli_query($con, $sql)){
        die('Error: ' . mysqli_error($con));
 }

 echo "1 registro a&ntilde;adido.";

 mysqli_close($con);

?>

可能是因为 HTML 表单?

<form id = "registro_usuarios" action="grabar.php" method="post">
    <font color="#897687"<p><label> Nombre empresa: </label><br/><input type="text" name="empresa" id="txt_empresa" title="Aqu&iacute; usted introducir&aacute; el nombre de la empresa."><br/><hr bgcolor="blue"/></p>
    <p><label> Nombre usuario: </label><br/><input type="text" name="usuario" id="txt_usuario"><br/><hr bgcolor="blue"/></p>
    <p><label> Contrase&ntilde;a: </label><br/><input type="password" name="password" id="txt_password"><br/><hr bgcolor="blue"/></p>
    <p><label> Verificar contrase&ntilde;a: </label><br/><input type="password" name="ver_password" id="txt_ver_password"><br/><hr bgcolor="blue"/></p>
    <p><label> E-mail empresa: </label><br/><input type="text" name="mail_empresa" id="txt_email"><br/><hr bgcolor="blue"/></p>
    <input type="submit" value="Registrar usuario">
</form>

我也没有看到错误...

提前致谢。

编辑

我通过使用 HTML 表单输入的名称而不是其 ID 来解决它。

感谢您的帮助,我将看看 SQL Injection 以保护我的查询。

4

2 回答 2

3

你的 html 标签是错误的。删除输入标签中的标题属性。

正确的:

 <font color="#897687"<p><label> Nombre empresa: </label><br/><input type="text" name="empresa" id="txt_empresa"><br/><hr bgcolor="blue"/></p>
于 2013-11-05T09:47:25.877 回答
-2

尝试这个:

$sql = "INSERT INTO usuarios VALUES(NULL, '{$_POST['txt_empresa']}', '{$_POST['txt_usuario']}', PASSWORD('{$_POST['txt_password']}'), '{$_POST['txt_email']}');";

显然,如前所述,这是一个非常不受保护的查询

于 2013-11-05T09:40:54.597 回答