Foros del Web » Programando para Internet » PHP »

[AYUDA] Insertar datos en una base de datos via formulario!

Estas en el tema de [AYUDA] Insertar datos en una base de datos via formulario! en el foro de PHP en Foros del Web. Hola que tal, me surgió un problema grande que llevo varios días sin poder solucionar :s Mi intesión es poder insertar datos a una base ...
  #1 (permalink)  
Antiguo 21/12/2008, 19:01
Avatar de airos  
Fecha de Ingreso: mayo-2008
Mensajes: 68
Antigüedad: 15 años, 10 meses
Puntos: 3
Pregunta [AYUDA] Insertar datos en una base de datos via formulario!

Hola que tal, me surgió un problema grande que llevo varios días sin poder solucionar :s

Mi intesión es poder insertar datos a una base de datos!
Pero al enviar los datos por el formulario, no se carga la información en la base...

miren, la base de datos es la siguiente..

Código:
CREATE TABLE `noticias` (
  `idNoticias` int(11) NOT NULL auto_increment,
  `titulo` varchar(255) NOT NULL,
  `cuerpo` text NOT NULL,
  `estado` enum('publicado','borrador') NOT NULL,
  PRIMARY KEY  (`idNoticias`),
  FULLTEXT KEY `cuerpo` (`cuerpo`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

El código de php es el siguiente:

Código PHP:
<?
// datos de configuracion
$ip 'localhost';
$usuario 'usuario';
$password 'contraseña';
$db_name 'nombre de la db';
// conectamos con la db
$conn mysql_pconnect($ip,$usuario,$password) or die();
// seleccionamos la base de datos
$huboerror mysql_select_db($db_name,$conn) or die();
// si se envia el formulario
if ( !empty($_POST['submit']) ) {
$query "INSERT INTO 'noticias' (titulo,cuerpo,estado) values ('{$_POST['titulo']}','{$_POST['cuerpo']}','{$_POST['estado']}')";
$response mysql_query($query$conn);
}
?>

<html>
<head>
<title>Formulario de Notícias</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Agregar Nueva Noticia</h1>
<form action="subir-noticias.php" method="post">
<label for="titulo">Titulo</label><br />
<input id="titulo" type="text" name="titulo" value="" /><br /><br />
<label for="cuerpo">Cuerpo</label><br />
<textarea id="cuerpo" name="cuerpo" rows="5" cols="50"></textarea><br /><br />
<label for="estado">Estado</label><br />
<select id="estado" name="estado">
<option value="publicado">Publicado</option>
<option value="borrador">Borrador</option>
</select><br /><br />
<button type="submit" name="submit" value="1">Enviar Noticia</button>
</form>
</body>
</html>
Donde está el error?
Si alguien me puede dar una solución se lo agradecería!
  #2 (permalink)  
Antiguo 21/12/2008, 19:04
 
Fecha de Ingreso: febrero-2007
Mensajes: 43
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

no he revisado muxo el texto por q no entiendo muxo de base de datos en php ahora mismo pero no te falta poner bien la etiqueta al principio?

es <?php no <? xd sera por eso?
  #3 (permalink)  
Antiguo 21/12/2008, 19:06
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

Código PHP:
$response mysql_query($query$conn); 
Le asignas el mysql_query() a una variable, y no la llamas ni nada. Por eso no se inserta los datos.

Ponlo asi:

Código PHP:
mysql_query($query$conn); 
  #4 (permalink)  
Antiguo 21/12/2008, 19:14
Avatar de airos  
Fecha de Ingreso: mayo-2008
Mensajes: 68
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

Lo cambie, pero sigue sin funcionar, no me inserta los datos :s
  #5 (permalink)  
Antiguo 21/12/2008, 19:34
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

Haz lo mismo con:
Código PHP:
$huboerror mysql_select_db($db_name,$conn) or die(); 
Y remueve las comillas de el nombre de la tabla:
Código PHP:
$query "INSERT INTO 'noticias' (titulo,cuerpo,estado) values ('{$_POST['titulo']}','{$_POST['cuerpo']}','{$_POST['estado']}')"
  #6 (permalink)  
Antiguo 21/12/2008, 19:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

no se olviden de... or die(mysql_error())
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 22/12/2008, 08:44
Avatar de airos  
Fecha de Ingreso: mayo-2008
Mensajes: 68
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

gracias por las respuestas, pero no funciono :s


Perdon! no hice lo de las comillas, ya lo solucione quitandolas!

gracias!! =)
  #8 (permalink)  
Antiguo 22/12/2008, 08:48
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

Cita:
Iniciado por Ronruby Ver Mensaje
Código PHP:
$response mysql_query($query$conn); 
Le asignas el mysql_query() a una variable, y no la llamas ni nada. Por eso no se inserta los datos.
De hecho al hacerlo así la consulta sí se ejecuta, y adicionalmente creas un recurso, en este caso $response, el cuál puedes usar después para trabajar sobe la consulta. Es cierto que no tiene sentido crearlo si no se lo va a usar, pero eso no tiene que ver nada con la ejecución de la consulta.

Usando mysql_error() debemos ver el error.



EDITO:

Y si pones:

Código PHP:
$query "INSERT INTO noticias (titulo,cuerpo,estado) values ('$_POST[titulo]','$_POST[cuerpo]','$_POST[estado]')"
Lee http://www.forosdelweb.com/f18/como-...s-bien-588701/.

Y si funciona, entonces pasa a leer algo sobre el SQL Injection (Inyeccion SQL)

  #9 (permalink)  
Antiguo 22/12/2008, 08:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

y como tienes el script, ahora ???

del mismo modo, si tienes un ENUM .. debes especificar exactamente su valor en tu consulta.... en ese caso era mejor usar INT, etc, etc...


PDTA: no olvides... el or die(mysql_error())
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 22/12/2008, 08:49
Avatar de airos  
Fecha de Ingreso: mayo-2008
Mensajes: 68
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: [AYUDA] Insertar datos en una base de datos via formulario!

si, eran las comillas, muchas gracias!


me quedo asi:

Código PHP:
$query "INSERT INTO noticias (titulo,cuerpo,estado) values ('{$_POST['titulo']}','{$_POST['cuerpo']}','{$_POST['estado']}')"
Solucionado!
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




La zona horaria es GMT -6. Ahora son las 14:58.