我在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ñ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í usted introducirá 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ña: </label><br/><input type="password" name="password" id="txt_password"><br/><hr bgcolor="blue"/></p>
<p><label> Verificar contraseñ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注入以保护我的查询。
答案 0 :(得分:3)
你的html标签错了。删除输入标记中的title属性。
正确的:
<font color="#897687"<p><label> Nombre empresa: </label><br/><input type="text" name="empresa" id="txt_empresa"><br/><hr bgcolor="blue"/></p>
答案 1 :(得分:-2)
试试这个:
$sql = "INSERT INTO usuarios VALUES(NULL, '{$_POST['txt_empresa']}', '{$_POST['txt_usuario']}', PASSWORD('{$_POST['txt_password']}'), '{$_POST['txt_email']}');";
显然,如上所述,这是一个非常不受保护的查询