Foros del Web » Programando para Internet » PHP »

problema al insertar datos con un formulario a mysql, me da error

Estas en el tema de problema al insertar datos con un formulario a mysql, me da error en el foro de PHP en Foros del Web. hola, tengo un formulario para insertar noticias en una base de datos con los siguientes campos: FORMULARIO: TÍTULO FECHA DE PUBLICACIÓN TEXTO BASE DE DATOS ...
  #1 (permalink)  
Antiguo 05/11/2011, 05:08
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
problema al insertar datos con un formulario a mysql, me da error

hola, tengo un formulario para insertar noticias en una base de datos con los siguientes campos:

FORMULARIO:
TÍTULO
FECHA DE PUBLICACIÓN
TEXTO

BASE DE DATOS
ID (autoincrement)
TÍTULO
FECHA DE PUBLICACIÓN
IMAGEN
TEXTO

el problema que tengo es que al introducir los datos y enviar, me da "error, no ha introducido todos los datos". Me gustaría saber porqué. os dejo los códigos:

Formulario

Código HTML:
<body>
<form name="webtaller" action="insertar_datos.php" method="post">
Título: <input name="TÍTULO" type="text" maxlength="100" width="400"><br /><br />
Fecha de Publicación: <input type="text" name="FECHA DE PUBLICACIÓN"><br /><br />
Contenido: <textarea name="TEXTO"  rows="10" cols="100"></textarea><br />
<input name="Enviar" type="submit" value="enviar" />
</form>



</body> 

insertar_datos.php, aquí es donde está el código que se supone que me inserta la noticia en la base de datos:

Código PHP:
<?php

require_once('conexion.php');

// Primero comprobamos que ningún campo esté vacío (!empty) y que todos los campos existan (isset).
if(isset($_POST['TÍTULO']) && !empty($_POST['TÍTULO']) &&
isset(
$_POST['FECHA DE PUBLICACIÓN']) && !empty($_POST['FECHA DE PUBLICACIÓN']) &&
isset(
$_POST['TEXTO']) && !empty($_POST['TEXTO'])) {

// Si entramos es que todo se ha realizado correctamente - conexion a la base de datos
mysql_select_db($database_conexion$conexion);

// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO FME (TÍTULO,FECHA DE PUBLICACIÓN, TEXTO)
VALUES ('{$_POST['TÍTULO']}','{$_POST['FECHA DE PUBLICACIÓN']}','{$_POST['TEXTO']}')"
,$conexion);

// Ahora comprobaremos que todo ha ido correctamente
$my_error mysql_error($conexion);

if(!empty(
$my_error)) {
echo 
"Ha habido un error al insertar los valores. $my_error";
} else {

echo 
"Los datos han sido introducidos satisfactoriamente";

}

} else {

echo 
"Error, no ha introducido todos los datos";

}

?>
gracias a todos
  #2 (permalink)  
Antiguo 05/11/2011, 05:23
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: problema al insertar datos con un formulario a mysql, me da error

hola


lo hay necesidad de usar isset, pues es lo que necesitas validar es que no hayan campos vacios:

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once('conexion.php');
  4.  
  5. // Primero comprobamos que ningún campo esté vacío (!empty) y que todos los campos existan (isset).
  6. if(!empty($_POST['TÍTULO'])  &&  !empty($_POST['FECHA DE PUBLICACIÓN']) && !empty($_POST['TEXTO'])) {
  7.  
  8. // Si entramos es que todo se ha realizado correctamente - conexion a la base de datos
  9. mysql_select_db($database_conexion, $conexion);
  10.  
  11. // Con esta sentencia SQL insertaremos los datos en la base de datos
  12. mysql_query("INSERT INTO FME (TÍTULO,FECHA DE PUBLICACIÓN, TEXTO)
  13. VALUES ('{$_POST['TÍTULO']}','{$_POST['FECHA DE PUBLICACIÓN']}','{$_POST['TEXTO']}')",$conexion);
  14.  
  15. // Ahora comprobaremos que todo ha ido correctamente
  16. $my_error = mysql_error($conexion);
  17.  
  18. if(!empty($my_error)) {
  19. echo "Ha habido un error al insertar los valores. $my_error";
  20. } else {
  21.  
  22. echo "Los datos han sido introducidos satisfactoriamente";
  23.  
  24. }
  25.  
  26. } else {
  27.  
  28. echo "Error, no ha introducido todos los datos";
  29.  
  30. }


pruebalo asi....


aunque te aconsejaria validar los datos con javascript , porque lo que necesitas es del lado de cliente y no del servidor..
  #3 (permalink)  
Antiguo 05/11/2011, 09:05
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
Respuesta: problema al insertar datos con un formulario a mysql, me da error

En realidad es un amigo el que inserta los datos siempre, es una interfaz que va a usar sólo él, sólo lo estoy haciendo para que pudiera actualizar la base de datos de una manera sencilla, similar al phpMyadmin.

Si el isset no funcionaba aquí, para que sirve en realidad el isset($_POST['TEXTO'])
porque lo busqué en php.net el manual, pero no me quedó totalmente claro
  #4 (permalink)  
Antiguo 05/11/2011, 12:06
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: problema al insertar datos con un formulario a mysql, me da error

Con isset se checa que la variable exista puede ser un string vacio, 0 , false cualquiera cosa pero que no este Nulo, mientras que empty si la variable es un string vacio, 0 , False o nula este regresara true

Ejemplo

Código PHP:
Ver original
  1. <?php
  2.     $lmao = 0;
  3.    
  4.     if(isset($lmao)) // Checa que la variable sea un valor cualquiera desde "", 0, False u otro que no sea NULL
  5.     {
  6.         echo "La variable existe con un valor 0");
  7.     }
  8.  
  9.     if(empty($lmao)) // Checa que la variable sea "", 0 , False o NULL
  10.     {
  11.         echo 'La variable esta "vacia" porque 0 para esta funcion es vacio';
  12.     }
  13.  
  14. ?>

Etiquetas: formulario, mysql, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:20.