Insertar registro en bd mysql con php

  • Autor Autor Juan Luis
  • Fecha de inicio Fecha de inicio
J

Juan Luis

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas tardes, me presento en el Foro.

Me llamo Juan Luis.

Les rogaría me miraran mi código, porque no consigo introducir los datos en la bd.

Este es el código.

// En la Base de datos tengo los campos ID, nombre, email, fecha, comentario.

El campo fecha se mete automáticamente con la fecha actual al introducir los datos

// Este es el Formulario donde se recogen los datos y se envían //

<FORM name="Form1" id="Form1" method="post" action="plantillacomentarios.php"

on Submit="return Validar(this)">

<input name="Nombre" type="text" id="Nombre_u"

<input name="Email" type="text" id="Email_u

<textarea name="Comentario" id="Comentario_u"

<input type="Submit" '.' value="Enviar Datos

</FORM>
---------------------------------------------------------------------------------------------------------------------
<?php

$g_servidor ="11111111";

$g_db = "2222222222";

$g_usuario = "3333333333";

$g_clave = "44444444";

$tabla = "Comentarios";

$nombre = $_POST['Nombreu'];

$email = $_POST['Emailu'];

$comentario = $_POST['Comentariou'];

$link = mysql_connect("$g_servidor", "$g_usuario", "$g_clave", "$g_db");

mysql_select_db ($g_db, $link) OR die ('Imposible conectar con la base de datos');


// Check connection

if($link === false){

die("ERROR: Could not connect. " . mysql_connect_error());

}
// attempt insert query execution

$sql = "INSERT INTO Comentarios (nombre,email,comentario) VALUES('$nombre','$email','$comentario')";

mysql_query($link, $sql);

if(mysql_query($link)){

echo "Records added successfully";

} else{
echo "ERROR: Could not able to execute $sql " . mysql_error($link);

}

// close connection

mysql_close($link);

?>


Gracias y saludos.
 
¿Porque tienen los datos POST de entrada una 'u' al final?
$_POST['Nombreu'];
En el formulario no es así, date cuenta que el nombre del dato POST tiene que coincidir con el atributo name de los campos en el formulario.
 
Efectivamente el error está en el nombre de los campos. El atributo name del cuadro de texto se utiliza para recoger los datos con PHP con el método POST y el atributo id se usa en la programación de javascript por ejemplo. De cualquier manera ni en name ni en id se llama Nombreu
 
Insertar datos en bd con php y mysql

Efectivamente el error está en el nombre de los campos. El atributo name del cuadro de texto se utiliza para recoger los datos con PHP con el método POST y el atributo id se usa en la programación de javascript por ejemplo. De cualquier manera ni en name ni en id se llama Nombreu

Perdona el error al insertar el archivo.

Los campos que recojo en el form se llaman Nombreu, Emailu y Comentariou en vez de Nombre_u, Email_u y Comentario_u.

Gracias y saludos.
 
Perdona el error al insertar el archivo.

Los campos que recojo en el form se llaman Nombreu, Emailu y Comentariou en vez de Nombre_u, Email_u y Comentario_u.

Gracias y saludos.

Pero eso es en el ID, el name es otro y ese es el que se debe tomar en el $_POST

<input name="Nombre" type="text" id="Nombre_u"

<input name="Email" type="text" id="Email_u

<textarea name="Comentario" id="Comentario_u"
 
Como dicen los compañeros en el $_POST['Nombreu'] deberia ser $_POST['Nombre_U'] en este caso
 
Como dicen los compañeros en el $_POST['Nombreu'] deberia ser $_POST['Nombre_U'] en este caso

No, tiene que ser $_POST['Nombre'], porque es lo que hay en el atributo name del input.
 
Insertar registros en bd con php y mysql

No, tiene que ser $_POST['Nombre'], porque es lo que hay en el atributo name del input.

Buenos días, inserto de nuevo los datos, y despues de introducir los datos en el formulario me sale este error:

ERROR: Could not able to execute INSERT INTO Comentarios (nombre,email,comentario) VALUES('dada','dada@dada.com','dada')

Gracias y saludos.

- - - Actualizado - - -

Buenos días:

Comentarles que he estado rompiéndome la cabeza con el código, pero al final he logrado que funcione.

Lo cuelgo por si a alguien le puede ayudar.

Gracias a todos los que me han ayudado.

// En la Base de datos tengo los campos ID, nombre, email, fecha, comentario.

El campo fecha se mete automáticamente con la fecha actual al introducir los datos

// Este es el Formulario donde se recogen los datos y se envían //

<FORM name="Form1" id="Form1" method="post" action="plantillacomentarios.php"

on Submit="return Validar(this)">

<input name="Nombre" type="text" id="Nombre_u"

<input name="Email" type="text" id="Email_u

<textarea name="Comentario" id="Comentario_u"

<input type="Submit" '.' value="Enviar Datos

</FORM>
---------------------------------------------------------------------------------------------------------------------
<?php

$g_servidor ="11111111";

$g_db = "2222222222";

$g_usuario = "3333333333";

$g_clave = "44444444";

$tabla = "Comentarios";

$nombre = $_POST['Nombre'];

$email = $_POST['Email'];

$comentario = $_POST['Comentario'];

$my_db = mysql_connect("$g_servidor", "$g_usuario", "$g_clave", "$g_db") OR die ('Imposible conectar con el servidor');

mysql_select_db ($g_db) OR die ('Imposible conectar con la base de datos');


// attempt insert query execution

$sql = "INSERT INTO Comentarios (nombre,email,comentario) VALUES('$nombre','$email','$comentario')";

mysql_query($sql);

// close connection

mysql_close($my_db);

header("location:http://www.rescateascensores.es/correctocoment.html")

?>




MODIFICACIONES QUE HE HECHO:

En el Formulario añadí lo que está en rojo:

<input name="Nombre" type="text" id="Nombre_u" //No se ve el rojo pero es id//

<input name="Email" type="text" id="Email_u //No se ve el rojo pero es id//

<textarea name="Comentario" id="Comentario_u" //No se ve el rojo pero es id//


En el php modifiqué lo siguiente:

Quité los mensajes de error, y que si había alguno me salieran por OR die

$my_db = mysql_connect("$g_servidor", "$g_usuario", "$g_clave", "$g_db") OR die ('Imposible conectar con el servidor');

Lo mismo hice al conectar con la bd

mysql_select_db ($g_db) OR die ('Imposible conectar con la base de datos');

Después de cerrar la bd, redirijo al Usuario a una página, para informarle de que sus datos se han registrado de forma correcta

// close connection

mysql_close($my_db);

header("location:http://correctocoment.html")
?>
 
Atrás
Arriba