Foros del Web » Programando para Internet » PHP »

Insercion BD erronea :(

Estas en el tema de Insercion BD erronea :( en el foro de PHP en Foros del Web. Buenas hice asi el codigo de insercion en una BD pero no me inserta nada y no se xq la verdad :( Código: <html><head> <title>Insercion ...
  #1 (permalink)  
Antiguo 28/06/2006, 18:19
 
Fecha de Ingreso: marzo-2006
Mensajes: 210
Antigüedad: 11 años, 8 meses
Puntos: 0
Insercion BD erronea :(

Buenas hice asi el codigo de insercion en una BD pero no me inserta nada y no se xq la verdad :(
Código:
  <html><head>  <title>Insercion en la  BD.</title></head><body>
<form name="Dos" action="insertar.php" method="post">

         Titulo:<input name="nombre" type="text" value="">  <br>
         Genero:<input name="genero" type="text" value="">  <br>
         Reparto:<input name="reparto" type="text" value="">  <br>
         Sinopsis:<input name="sinopsis" type="text" value="">  <br>
         <a href="formulario.php">Ir a Inicio</a><br>
         <input type="submit" value="Insertar"><br>
         </form>
<?php
        include('conexionbd.php');

     $sql=$sql="INSERT INTO principal(genero, reparto, nombre, sinopsis) VALUES ('$genero','$reparto','$nombre','$sinopsis')";
?>

<h1><div align="center">Registro insertado</div></h1>
<div align="center"><a href="consultabd.php">Visualiza el Contenido de la BD</a></div>
</body>
</html>
ese es el codigo de insertar.php

¿Alguien sabe cual es el problema? Thanks
  #2 (permalink)  
Antiguo 28/06/2006, 18:31
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 12 años
Puntos: 281
tu proceso no es el correcto. tienes que enviar el formulario y despues hacer un isset para ver que haya enviado y luego hacer el insert.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #3 (permalink)  
Antiguo 28/06/2006, 18:39
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Hola Javier:

Pues lo que tu estas tratando de hacer tratar de almacenar la informacion del lado del cliente. Esto no es posible puesto que php es del lado del servidor, no del cliente. Lo que tendrias que hacer es recargar la pagina o bien enviar la informaciòn a otra pagina.

En cualquiera de los dos casos tienes que recibir los datos.
Código PHP:
<?php
$nombre $_POST
['nombre'];
$genero $_POST['genero'];

$query mysql_query("Insert into tabla(nombre,genero) values(".$nombre.",".$genero.")") or die (mysql_error());
?>
  #4 (permalink)  
Antiguo 28/06/2006, 18:44
 
Fecha de Ingreso: marzo-2006
Mensajes: 210
Antigüedad: 11 años, 8 meses
Puntos: 0
tego el codigo tal que asi y me peta =

:(


Código:
<html><head>  <title>Insercion en la  BD.</title></head><body>
<form name="Dos" action="insertar.php" method="post">

         Titulo:<input name="nombre" type="text" value="">  <br>
         Genero:<input name="genero" type="text" value="">  <br>
         Reparto:<input name="reparto" type="text" value="">  <br>
         Sinopsis:<input name="sinopsis" type="text" value="">  <br>
         <a href="formulario.php">Ir a Inicio</a><br>
         <input type="submit" value="Insertar"><br>
         </form>
<?php
include('conexionbd.php');
$nombre $_POST['nombre'];
$genero = $_POST['genero'];
$nombre $_POST['reparto'];
$genero = $_POST['sinopsis'];

     $query = mysql_query("Insert into pruebas(nombre,genero,reparto,sinopsis) values (".$nombre.",".$genero.",".$sinopsis.",".$reparto")") or die (mysql_error());

?>

<h1><div align="center">Registro insertado</div></h1>
<div align="center"><a href="consultabd.php">Visualiza el Contenido de la BD</a></div>
</body>
</html>
me da este error Parse error: syntax error, unexpected T_VARIABLE in c:\AppServ\www\pelis\insertar.php on line 13


es en la linea de $nombre $_POST['nombre'];
  #5 (permalink)  
Antiguo 28/06/2006, 18:49
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Te faltó el igual y comprobar que se haya enviado el form.
Código PHP:
<html><head>  <title>Insercion en la  BD.</title></head><body>
<form name="Dos" action="insertar.php" method="post">

         Titulo:<input name="nombre" type="text" value="">  <br>
         Genero:<input name="genero" type="text" value="">  <br>
         Reparto:<input name="reparto" type="text" value="">  <br>
         Sinopsis:<input name="sinopsis" type="text" value="">  <br>
         <a href="formulario.php">Ir a Inicio</a><br>
         <input type="submit" value="Insertar" name="insertar"><br>
         </form>
<?php

if(isset($_POST['insertar'])) {

     include(
'conexionbd.php');
     
$nombre $_POST['nombre'];
     
$genero $_POST['genero'];
     
$reparto $_POST['reparto'];
     
$sinopsis $_POST['sinopsis'];

     
$query mysql_query("Insert into pruebas(nombre,genero,reparto,sinopsis) values (".$nombre.",".$genero.",".$sinopsis.",".$reparto")") or die (mysql_error());
}
?>

<h1><div align="center">Registro insertado</div></h1>
<div align="center"><a href="consultabd.php">Visualiza el Contenido de la BD</a></div>
</body>
</html>
A modo de prueba (asumo que lo es por el nombre de la tabla y porque no tenés doctype ;)) está bien, pero para un caso real deberías validar el contenido de TODOS los datos que ingresas a la bd para prevenir sql injection. Deberías también verificar que se haya ejecutado el query con éxito antes de mostrar el mensaje 'Registro insertado'.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #6 (permalink)  
Antiguo 28/06/2006, 18:59
 
Fecha de Ingreso: marzo-2006
Mensajes: 210
Antigüedad: 11 años, 8 meses
Puntos: 0
Hice algunas cosas q me has dicho y me peta = :(

Código:
<html><head>  <title>Insercion en la  BD.</title></head><body>
<form name="Dos" action="insertar.php" method="post">

         Titulo:<input name="nombre" type="text" value="">  <br>
         Genero:<input name="genero" type="text" value="">  <br>
         Reparto:<input name="reparto" type="text" value="">  <br>
         Sinopsis:<input name="sinopsis" type="text" value="">  <br>
         <a href="formulario.php">Ir a Inicio</a><br>
         <input type="submit" value="Insertar"><br>
         </form>
<?php
include('conexionbd.php');
if(isset($_POST['insertar'])) {
$nombre = $_POST['nombre'];
$genero = $_POST['genero'];
$reparto =$_POST['reparto'];
$sinopsis = $_POST['sinopsis'];

      $query = mysql_query("Insert into pruebas(nombre,genero,reparto,sinopsis) values (".$nombre.",".$genero.",".$sinopsis.",".$reparto.")") or die (mysql_error());
    }
?>

<div align="center"><a href="consultabd.php">Visualiza el Contenido de la BD</a></div>
</body>
</html>
me da este error Parse error: syntax error, unexpected T_STRING in c:\AppServ\www\pelis\insertar.php on line 23
q es una linea fuera del codigo php :s
  #7 (permalink)  
Antiguo 28/06/2006, 19:07
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
1. Fijate que al botón de submit le puse nombre (insertar) para que puedas saber cuando se envia el form.

2. Llamá a un exorcista :P Hablando en serio, no entiendo porque no funciona. ¿Estás seguro que tu código es idéntico al que pegaste?

3. Fijate además, que no hace falta incluír 'conexiondb.php' a menos que envies el formulario, suponiendo claro que dicho archivo solo sirve para entablar la conexión con la db.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #8 (permalink)  
Antiguo 28/06/2006, 19:13
 
Fecha de Ingreso: marzo-2006
Mensajes: 210
Antigüedad: 11 años, 8 meses
Puntos: 0
1. Fijate que al botón de submit le puse nombre (insertar) para que puedas saber cuando se envia el form.


---lo tengo asi
<form name="Dos" action="insertar.php" method="post">

<input type="submit" value="Insertar"><br>
LLama a insertar.php q es este mismo script


2. Llamá a un exorcista :P Hablando en serio, no entiendo porque no funciona. ¿Estás seguro que tu código es idéntico al que pegaste?


el codigo q tengo es el q pegue .. abajo lo pego otra vez..


3. Fijate además, que no hace falta incluír 'conexiondb.php' a menos que envies el formulario, suponiendo claro que dicho archivo solo sirve para entablar la conexión con la db.

pongo conexiondb.php xq lo q tiene q hacer es mandar el resultado de la insercion a mi BD


Pego mi codigo actual


Código:
<html><head>  <title>Insercion en la  BD.</title></head><body>
<form name="Dos" action="insertar.php" method="post">

         Titulo:<input name="nombre" type="text" value="">  <br>
         Genero:<input name="genero" type="text" value="">  <br>
         Reparto:<input name="reparto" type="text" value="">  <br>
         Sinopsis:<input name="sinopsis" type="text" value="">  <br>
         <a href="formulario.php">Ir a Inicio</a><br>
         <input type="submit" value="Insertar"><br>
         </form>
<?php
include('conexionbd.php');
if(isset($_POST['insertar'])) {
$nombre = $_POST['nombre'];
$genero = $_POST['genero'];
$reparto =$_POST['reparto'];
$sinopsis = $_POST['sinopsis'];

      $query = mysql_query("Insert into pruebas(nombre,genero,reparto,sinopsis) values (".$nombre.",".$genero.",".$sinopsis.",".$reparto.")") or die (mysql_error());
    }
?>

<div align="center"><a href="consultabd.php">Visualiza el Contenido de la BD</a></div>
</body>
</html>
  #9 (permalink)  
Antiguo 28/06/2006, 19:41
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
1. <input type="submit" value="Insertar" name="insertar">
2. Estás seguro que estás ejecutando este script y no otro? si lo estás probando en un servidor externo, subiste la última versión?
3. Por eso, no hace falta que se conecte con la base de datos hasta que envies el formulario.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
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 00:27.