Foros del Web » Programando para Internet » PHP »

No puedo activar formulario en web

Estas en el tema de No puedo activar formulario en web en el foro de PHP en Foros del Web. Hola a todos compañeros; Como muchas personas soy nuevo en lo que se basa ne php y mysql. Normalmente he logrado funcionar una consulta de ...
  #1 (permalink)  
Antiguo 10/02/2009, 11:20
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
No puedo activar formulario en web

Hola a todos compañeros;

Como muchas personas soy nuevo en lo que se basa ne php y mysql. Normalmente he logrado funcionar una consulta de una base de datos creado pero cuanod deseo realizar un insert para carga nuevo registro pareciera que lo tomara peor no muestra un ingreso nuevo en la base de datos que realize para consultar.

Estoy siguiendo los pasos de un libro en el cual acota que en el mismo php hago el formulario y dentor de ella ya esta el codigo para ingresar.

Cabe acotar que esto se esta haciendo prueba directo a un servidor web que contrate asi que hago las pruebas directo en servidor en ves de configurarlo localmente.

El codigo que he realizado es el siguiente.

<html>
<head>
<title>Nuevo Genero</title>
<?php $pParams = FALSE; if (count($_GET) !=0){ $pParams = $_GET; }elseif(count($_POST) !=0){ $pParams = $_POST; } if ($pParams != FALSE){ $sNombre = $pParams['nombre']; $sDescripcion = $pParams['descripcion']; if( ($sNombre == '') or ($sDescripcion == '') ){ $sMensaje = 'El nombre y la Descripcion'. 'del nuevo género no pueden'. 'ser cadenas vacías.';
echo ($sMensaje); }else{
$sConsulta = <<<CONSULTA INSERT INTO genero(nombre,descripcion )VALUES('$sNombre','$sDescripcion'); $sConsulta;
$videoteca = mysql_connect("localhost","usuario","clave","BD");
if ($videoteca != FALSE){ echo ('Error en la conexion.');
exit();
} $resultado = $videoteca->query($sConsulta);
if ($resultado != FALSE){ echo ('Error en la consulta.');
echo ($videoteca->error); } echo ('Nuevo genero añadido.');
$videoteca->close(); } } ?>
</head>
<body>
<form name="FRM_GENERO" method="get" action="">
<strong> Nombre:</strong><br>
<input name="nombre" type="text"> <br>
<strong> Descripcion: </strong><br>
<input name="descripcion" type="text"> <br>
<input value="Guardar" type="submit"></form>
</body>
</html>


Ahora no se que le toque que cuando intento realizar de nuevo una prueba dei nsert me indica Parse error: syntax error, unexpected T_SL in /home/censatel/public_html/inserta.php on line 9


Si pudiera ayudarme serai buenisimo, he leido varios forosy dicen que coloquen ciertas cosas pero se les agrega y mas bien me empeoran el programa :). O tambien es valido si tienen otro codigo fuente basico como el que estoy haciendo para hacer insert pero que ya alla sido probado. Como uno dice una cosa es la teoria y otro la practica.
  #2 (permalink)  
Antiguo 10/02/2009, 12:00
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No puedo activar formulario en web

Qué tratas de hacer aquí?

Código php:
Ver original
  1. $sConsulta = <<<CONSULTA INSERT INTO genero(nombre,descripcion )VALUES('$sNombre','$sDescripcion');
  2. $sConsulta;
Al parecer quieres usar HEREDOC, pero empleas una sintaxis totalmente incorrecta. No lo compliques y simplemente encierra la consulta en comillas (dobles, para que las variables sean respetadas).

Ahora, te sugiero leer este manual: http://framework.zend.com/manual/en/...-standard.html

  #3 (permalink)  
Antiguo 13/02/2009, 07:43
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No puedo activar formulario en web

Hola amigo , Ya estaba leyendo el manual (version ingles) pero eso de la consulta lo puedo obviar lo que desearia es como hacer que ingresen los datos a mi base de datos por que de ninguna manera lo quiere hacer. Hace como si lo hubiera hecho pero al consultar en la base de datos no aparece esa linea extra . Y en la guia no me indica como conectarme a la base de datos y como insertarlo.
  #4 (permalink)  
Antiguo 13/02/2009, 10:19
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 11
Respuesta: No puedo activar formulario en web

ALGO COMO ÉSTO TE PODRÍA FUNCIONAR:

<?php
//PRIMERO nos conectamos a la base de datos
$bd_host = "aquíelhost";
$bd_usuario = "miusuario";
$bd_password = "elpassword";
$bd_base = "mibasedatos";
$conexion = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $conexion);

//Recibimos los datos del formulario y los convertimos a cadenas
$sNombre = $_POST["nombre"];
$sDescripcion = $_POST["descripcion"];

//Condicionamos el ingreso de datos del formulario

//Le decimos que si vehiculo está vacío no grabe el registro
if (!empty($sNombre) or !empty($sDescripcion))
{ echo "'El nombre y la Descripcion del nuevo género no pueden ser cadenas vacías."; }

else {

//Insertamos la fila
$sConsulta=mysql_query("INSERT INTO genero SET nombre='$sNombre',descripcion='$sDescripcion'", $conexion);

}

//Cerramos la conexión con MySQL
mysql_close($conexion);

} } ?>

<html>
<head>
<title>Nuevo Genero</title>
</head>
<body>

<form name="FRM_GENERO" method="post" action="ejemplo.php">

<strong> Nombre:</strong><br>

<input name="nombre" type="text"> <br>

<strong> Descripcion: </strong><br>

<input name="descripcion" type="text"> <br>
<input value="Guardar" type="submit">

</form>

</body>
</html>

Última edición por jenusys; 13/02/2009 a las 14:58
  #5 (permalink)  
Antiguo 13/02/2009, 12:53
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: No puedo activar formulario en web

mysql_connect() sirve sólo para abrir la conexión al servidor mysql. Para seleccionar una base de datos debes usar mysql_select_db(). La siguiente línea es incorrecta:

Código php:
Ver original
  1. $videoteca = mysql_connect("localhost","usuario","clave","BD");

Además, me parece que la condición aquí está mal
Código php:
Ver original
  1. if ($videoteca != FALSE){ echo ('Error en la conexion.');
Se supone que el mensaje de error debe ser mostrado si $videoteca == false.

  #6 (permalink)  
Antiguo 13/02/2009, 15:36
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No puedo activar formulario en web

buen dia,

siguiendo los consejos de jenusys Me daban dos errores peor se determino que habian los dos ultimos corchetes estaban de mas. El problema ahora sucede que al colocar un valos en nombre y descripcion le doy a guardar y me arroja el error de validacion de que "El nombre y la Descripcion del nuevo género no pueden ser cadenas vacías." en la base de datos esta declarado que nombre tenga 8 caracteres y descripcion 32 y solo coloco dos palabras "prueba" y Probando" y nada que queire guardar en la base de datos.

Lo que si Agradezco a jenusys por acercarme a la meta. Aunque aun no inserta.
  #7 (permalink)  
Antiguo 13/02/2009, 19:20
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 11
Respuesta: No puedo activar formulario en web

Perdón por lo de los corchetes... por hacer las cosas de afán. Todo sea por el servicio.

Entonces lo que creo es que directamente en la base de datos debes cambiar los tipos de campos y su valor. Saldría mejor si le pones un VARCHAR (50) a cada uno de los campos.

Mis deseos son que te funcione por fin.
  #8 (permalink)  
Antiguo 13/02/2009, 20:04
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No puedo activar formulario en web

Hola Gracias por la meta de hacer que el programa funcione. Pues estan colocados por varchar (30) y aun asi se queda en al validacion de que los campos no deben estar vacios y eso que se les colcoa letras. Osea que la falla esta al colocar la informacion en als variables. Algo no esta reconociendo el ingreso de datos. Esta muy interesante saber estas cosas. Para ser nuevo en esto cada ves aprendo oros detalles.
  #9 (permalink)  
Antiguo 14/02/2009, 08:48
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 11
Respuesta: No puedo activar formulario en web

Déjale solo una condición en el IF de validación, solo para probar si está funcionando mal:

//Le decimos que si vehiculo está vacío no grabe el registro
if (!empty($sNombre))
{ echo "'El nombre y la Descripcion del nuevo género no pueden ser cadenas vacías."; }
  #10 (permalink)  
Antiguo 14/02/2009, 09:24
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: No puedo activar formulario en web

Hola Jenusys,

Quiero decirle que le problema es solo la validacion de si esta vacio o no, ya uqehice la prueba sin las validacion y agrega perfectamente!. Uno de los problemas estaba tambien en que hicimos el query del insert en una variable($_sConsulta) que nunca se ejecutaba y eso hacia que no insertara. Al quitarl odirectamente agrego en la base de datos.!! Se podria decir que con esto Agradezco a Jenusys por apoyarme. Es mas si posee email para agregarte para futuras ocaciones conversar sobre estos temas. Si deseas ayudarme a realizar la validacion seria bien. He leido algo del isset asi que seguire profundisando.
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 20:12.