Enviar datos a una base de datos

Tengo una duda en como hacer para mandar datos de un usuario desde una página web a una base de datos, yo he estado utilizando este código
http://blog.ivetres.com.ar/index.php/287/curso-de-php-y-mysql-insertar-registros-en-la-base-de-datos-clase-14/
Y tengo mi clase o archivo .php llamado "insert.php" y tengo este código dentro de el
<?php
//1. Crear conexión a la Base de Datos
$conexion = mysql_connect("localhost","root","prueba");
if (!$conexion) {
die("Fallo la conexión a la Base de Datos: " . Mysql_error());
}
//2. Seleccionar la Base de Datos a utilizar
$seleccionar_bd = mysql_select_db("base", $conexion);
if (!$seleccionar_bd) {
die("Fallo la selección de la Base de Datos: " . Mysql_error());
}
//3. Tomar los campos provenientes del Formulario
$nombre = $_POST['nombre_form'];
$apellido = $_POST['apellido_form'];
//4. Insertar campos en la Base de Datos (No inserto el id_empleado ya que se genera automáticamente)
$insertar = mysql_query("INSERT INTO scores (nick, verficador) VALUES ('{$nombre}', '{$apellido}')", $conexion);
if (!$insertar) {
die("Fallo en la insercion de registro en la Base de Datos: " . Mysql_error());
}
//4. Cerrar conexión a la Base de Datos
mysql_close($conexion);
?>
Y también tengo la clase o archivo .html, llamado probando.html y tengo este código dentro de el
<html>
<head>
<title>Formulario HTML</title>
</head>
<body>
<form action="insert.php" method="post">
<label>Nombre:</label>
<input type="text" name="nombre_form">
<label>Apellido: </label>
<input type="text" name="apellido_form">
<input type="submit"><input type="reset">
</form>
</body>
</html>
Pero el problema es que cuando lo ejecuto y pongo los datos en los textfield, y le doy submit no me manda los datos a la base de datos, no se si es porque no se conecta o no se realmente que esta pasando, pero cada vez que lo intento y reviso la base de datos para ver si están los datos no me aparece nada
como ves tengo una base de datos llamada base, y dentro de ella cree un tabla llamado "scores" con 2 campos, uno llamado "nick" y el otro llamado "verficador"
También he intentado con el código de esta página
http://www.elwebmaster.com/editorial/taller-de-php-insertar-datos-en-la-base-de-datos
Pero tampoco logro meter los datos en la base de datos
si tienes alguna solución te lo agradecería muchísimo
Respuesta
1
Estas metiendo el nombre en nick y en verificador el apellido, ¿nick y verificador que datos soportan?
Unas recomendaciones:
Cuando vas a insertar los datos en la sentencia quítales las llaves ya que siobran dejalos con las comillas solamente
$insertar = mysql_query("INSERT INTO scores (nick, verficador) VALUES ('$nombre', 'apellido')", $conexion);
Para probar si esta llegando la información al insert pedes:
Comentar tu insert y pegar tu sentencia en un echo para que imprima la sentencia ahí te das cuenta si llegan los valores
ejemplo:
/*$insertar = mysql_query("INSERT INTO scores (nick, verficador) VALUES ('$nombre', 'apellido')", $conexion);*/
echo "INSERT INTO scores (nick, verficador) VALUES ('$nombre', 'apellido')";
Ahí te pinta la sentencia y te das cuenta si los valores llegan
Lo otro es colócale un or die para ver si tu sentencia al momento de insertar falla ejemplo:
$insertar = mysql_query("INSERT INTO scores (nick, verficador) VALUES ('$nombre', 'apellido')", $conexion)or die("se revento en el Script de insercion");
Lo otro que puedes hacer es probar directo el archivo php quemando los datos en el insert a ver si te daja grabar ejemplo:
$insertar = mysql_query("INSERT INTO scores (nick, verficador) VALUES ('jose', 'alguno')", $conexion)or die("se revento en el Script de insercion");
Por ultimo cuando preguntes da los datos que más puedas ejemplo los campos de tu tabla de que tipo son
realiza las pruebas y me comentas...
Creo que es en la parte de la conexión, creo que no logra conectarse con la base de datos, pero no estoy seguro porque no me manda los mensaje de error, se me queda la pantalla en blanco cuando le doy submit a lo datos
yo modifique un poco el código y lo termine dejando así
<?php
//1. Crear conexión a la Base de Datos
$conexion = mysql_connect("localhost","root","prueba") or die("Fallo la conexión a la Base de Datos: " . mysql_error());
//2. Seleccionar la Base de Datos a utilizar
mysql_select_db("base");
//3. Tomar los campos provenientes del Formulario
$nombre = 'probando';
$apellido = 'insertar';
//4. Insertar campos en la Base de Datos (No inserto el id_empleado ya que se genera automáticamente)
 mysql_query("INSERT INTO scores (nick, verficador) VALUES ('$nombre', '$apellido')");
?>
Todo lo estoy haciendo localhost, trabajo con DreamWeaver para poder crear la página y la base de datos es un MySQL, y utilizo Xampp para poder crear las tablas, y ese código para poder acceder a el
noc si tienes alguna manera de solucionar la conexión o tienes algún código que funcione y
lo puedas comparar con el que te di, porque por más veces que intento no logro hacer que se conecte
intente lo que me dijiste pero no logro hacer que me imprima los mensajes de error, en cuanto a los tipos de variables, el campo que les coloque en la base de datos es VarChar (1000)
Gracias de antemano
El código que tienes lo probé y esta bien, raro que no te bote errores, ¿los archivos los colocaste en la carpeta htdocs de XAMPP? Sube los archivos en mediafire para descargarlos y probarlos
no el codigo esta bien ,despues de tanto probar me di cuenta q al parecer debe ser una mala configuracion del xampp, para q acepte a PHP
yo probe montando este mismo codigo, pero en vez de hacerlo con el localhost, lo puse en un servidor web y al final si me termino funcionando y me almacena los datos, claro en el servidor web
ahora se me surgio otra duda mientras utilizaba PHP, sabes q por medio del URL tu puedes mandar informacion y con PHP agarrarlas y utilizarlas para lo q quieras, pero como haces para borrar este URL en el q estas pasando los parametros, o como haces para borrarle los parametros q le estas pasando a la pagina, para q salga
http://holamundo.php
en vez de
http://holamundo.php/?id=1&contrase%C3%B1a=123456
ya q si el usuario se mete en el historial del navegador facilmente puede modificar estos datos y hacer q la pagina funcion de una manera distinta a la q uno quiere...entonces como haces para borrar un URL con PHP o como por lo menos quitar estos paramentros, para q no se vena en la URL???
Gracias de antemano
Cuando son datos de login lo mejor es enviarlos encriptados y pasarlos por POST, ahora si los pasas por url (GET) siempre muestra la información en la url, lo que podrías hacer es encriptarla para eso hay funciones en php como base64_encode() cuando envías y base64_decode() cuando las recibes del otro lado.
visita este link http://www.forosdelweb.com/f91/ocultar-parametros-enviados-por-url-metodo-get-645942/
Hay unos ejemplos y explicaciones...

2 respuestas más de otros expertos

Respuesta
1
Pero te da algún mensaje de error, ¿algo?
Creo que es en la parte de la conexión, creo que no logra conectarse con la base de datos, pero no estoy seguro porque no me manda los mensaje de error, se me queda la pantalla en blanco cuando le doy submit a lo datos
yo modifique un poco el código y lo termine dejando así
<?php
//1. Crear conexión a la Base de Datos
$conexion = mysql_connect("localhost","root","prueba") or die("Fallo la conexión a la Base de Datos: " . mysql_error());
//2. Seleccionar la Base de Datos a utilizar
mysql_select_db("base");
//3. Tomar los campos provenientes del Formulario
$nombre = 'probando';
$apellido = 'insertar';
//4. Insertar campos en la Base de Datos (No inserto el id_empleado ya que se genera automáticamente)
 mysql_query("INSERT INTO scores (nick, verficador) VALUES ('$nombre', '$apellido')");
?>
Todo lo estoy haciendo localhost, trabajo con DreamWeaver para poder crear la página y la base de datos es un MySQL, y utilizo Xampp para poder crear las tablas, y ese código para poder acceder a el
noc si tienes alguna manera de solucionar la conexión o tienes algún código que funcione y lo puedas comparar con el que te di, porque por más veces que intento no logro hacer que se conecte
gracias de antemano
Prueba este ejemplo:
http://www.webtaller.com/construccion/lenguajes/php/lessons/phpiss/insertar-contenido-formulario-base-datos-mysql-php.php
Gracias por la ayuda pero creo que el problema es más de configuración que de código, porque lo intente con un servidor web y el código funcionaba perfectamente
ahora se me surgio otra duda, como haces para borrar una URL o por lo menos los parametros q le mandas a una URL
sabes q haces un
http://index.php/?id=204994&nombre=pedro
como puedes hacer para borrar este URL del historial o por lo menos los parametros q se la pasan a el, por si el usuario llega a ver el historial del navegador solo vea el
http://index.php y mas nada, claro q lo ideal seria borrar el URL
gracias de antemano
Para evitar ver los parámetros en la URL utiliza POST en vez de GET
Respuesta
1
Lo q podriamos hcer es q me agregues al msn asi lo hablamos mas rapido.. y una vez q encontremos la solucion la publicamo aqui para poder ayudar al resto...
En mi caso yo uso una clase para el menjo con base de datos,,,,, donde tengo ahí todas las funciones... pero bueno, lo hablamos en el msn...
También podes probar en el punto 4 cuando haces:
$insertar = mysql_query("INSERT INTO scores (nick, verficador) VALUES ('{$nombre}', '{$apellido}')", $conexion);
proba con ponerle un @ adelante de mysql_query ....cosa que quede
$insertar = @mysql_query("INSERT INTO scores (nick, verficador) VALUES ('{$nombre}', '{$apellido}')", $conexion);
Mi mail es [email protected] ...
Y estoy conect de lunes a viernes de 19 hs a 23 hs hora de e españa...
Te espero al msn...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas