La mejor respuesta
Lo primero es lo primero…
No nunca pase datos proporcionados por el usuario directamente a la base de datos. Nunca hay una razón por la que sea una buena idea.
$name = mysqli\_real\_escape\_string($mysqli, $\_POST["name"]);
$pass = mysqli\_real\_escape\_string($mysqli, $\_POST["password"]);
El uso de real\_escape\_string()
evitará que su script sea pirateado con una inyección SQL. Si necesita utilizar los valores en otro lugar, puede escapar de ellos cuando cree su consulta.
$name = $\_POST["name"];
$sql = "SELECT * FROM users WHERE username = "".mysqli\_real\_escape\_string($mysqli, $name).""";
Haga algo similar cada vez que cree una consulta SQL. Su consulta INSERT
también debe tener valores de escape, ya sea escapando del valor almacenado en la variable o escapándolo cuando crea la consulta.
Por qué ves «buen trabajo» sin ingresar datos …
Nunca te aseguras de que realmente haya es entrada. Su secuencia de comandos intentará interactuar con la base de datos incluso si el usuario aún no ha completado el formulario.
if(isset($\_POST["username"]) && isset($\_POST["password")) {
// put the rest of your script here
}
?>
Por qué no se están creando registros de base de datos.
Mmm… no estoy seguro. Especialmente porque dice que funcionó .
Intente hacer los cambios anteriores y luego publique un comentario sobre esta respuesta para informarme si hay un cambio y cuál es ese cambio y podemos continuar desde allí.
También revise los registros de su servidor para ver si hay algún error allí. Si no puede hacer eso o los errores están deshabilitados, puede intentar agregar esto en la parte superior de su secuencia de comandos:
ini\_set("error\_reporting", E\_ALL);
ini\_set("html\_errors", true);
ini\_set("display\_errors", "stdout");
Por cierto ...
Los atributos for
de sus etiquetas deben apuntar al ID de un elemento.
Tiene ...
Deberías tener…
Respuesta
php
$ host = "AAAAAA"; $ usuario = "AAAAA"; $ pase = "AAAAAA"; $ db = "AAAAA";
$ connect = mssql\_connect ($ host, $ user, $ pass) o morir ("No se puede conectar"); $ database = mssql\_select\_db ($ db, $ connect) or die ("No se puede conectar a la base de datos seleccionada");
if (isset ($ \_POST (["submit"]))) {$ email = S\_POST ["correo electrónico"]; $ nombre = S\_POST ["nombre"]; $ apellido = S\_POST ["apellido"]; $ pwd = S\_POST ["pwd"];
if trim($firstname) == "" || trim($lastname)=="" || trim($pwd)== ""
{
echo "You must enter both a firstname, lastname and password!!";
}
else
{
$sql = "INSERT INTO users ([email],[first\_name],[last\_name],[password])VALUES("$email","$firstname","$lastname","$pwd")";
$result = mssql\_query($sql);
if(!$result)
{
echo mssql\_error();
exit;
}
mssql\_free\_result($result);
mssql\_close();
echo "Data successfully inserted!!";
}
}
?>
para que php co Lo que le di originalmente fue solo un ejemplo, incluso un código de eco simple no funciona. Bueno, he estado escribiendo el código en notepad ++ y subiéndolo pegando el código en kompozer. mira, me dijeron que tiene que cargarse con la extensión .php en lugar de hmtl y esa es la razón por la que no funciona. pero lo encuentro confuso, entonces, ¿cómo lo adjunto a un determinado enlace en mi página de índice? Por favor, un consejo y déjame saber lo que piensas. lo aprecio