Foros del Web » Programando para Internet » PHP »

Formularios en PHP

Estas en el tema de Formularios en PHP en el foro de PHP en Foros del Web. Hola, cuento un poco para poneros en situación. Trabajo sobre WindowsXP, con Apache, MySQL, PHP4. He instalado un portal genérico, PostNuke, y más o menos ...

  #1 (permalink)  
Antiguo 09/03/2006, 06:57
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Pregunta Formularios en PHP

Hola,

cuento un poco para poneros en situación. Trabajo sobre WindowsXP, con Apache, MySQL, PHP4. He instalado un portal genérico, PostNuke, y más o menos lo tengo todo ya personalizado excepto una cosilla que aún no he sido capaz de resolver.

Quiero hacer un formulario en el que los usuarios introduzcan una serie de datos que yo pida(Nombre, Vinculación, Correo,...) y quiero que esos datos se almacenen en mi base de datos, de forma que pueda acceder a ellos y visualizarlos siempre que quiera.

He mirado varias opciones que me ofrece el portal que tengo instalado, pero ninguna me soluciona mi problema, por lo que he decidido programarlo por mi cuenta, pero, por más que busco no veo claro cómo hacerlo ni llego a conseguir lo que quiero.

Alguien puede aconsejarme? Decirme cómo hacerlo? Dónde buscar? Si es posible lo que quiero?

Qué desesperación!!!!!
  #2 (permalink)  
Antiguo 09/03/2006, 07:33
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Haces que el formulario tenga ésta acción

Código HTML:
<form action="insertar.php"> 
Y en insertar.php :

Código PHP:
<?
$_GET
['variable']; //Haces esto por cada variable del formulario.
$_GET['nombre']; //Por ejemplo

include ("conectar.php");
mysql_select_db("$dbname",$link);
$sql "INSERT into tabla (nombre, vinculacion, correo) values ('$nombre', '$vinculacion', '$correo')"  //Como en el ejemplo, pones todos los valores

if (mysql_query($sql$link)) { 
echo 
"Datos enviados correctamente"
}
else {
echo 
"Error al enviar los datos";
}
?>
Conectar.php

Código PHP:
<?
//Base de datos
$dbname"nombre"//Nombre base de datos
$dbuser "usuario"//Nombre de usuario
$dbpass "pass"//La contraseña de éste usuario
$dbhost "localhost"//Servidor. En el mayor de los casos, localhost.
//Conexión mysql
$link mysql_connect("$dbhost","$dbuser","$dbpass");

//Conexion Base de datos
mysql_select_db($dbname$link) or
die(
mysql_error());
?>
Seguro que he tenido algún error, lo acabo de escribir rápido.

Un saludo
  #3 (permalink)  
Antiguo 10/03/2006, 03:23
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Muchas gracias por contestarme tan pronto, por lo que veo puede ser de gran ayuda.
Quería preguntarte unas cosillas, porque no es que tenga mucha idea sobre esto y me gustaría poder tener todo lo más claro posible. Cómo hago para que el formulario tenga la opción de Insertar? Cada parte de código que me has puesto, son documentos que tengo que crear dentro del mismo directorio, como puede ser la carpeta de publicación?(Estoy trabajando en local)
Y por último, si puedes decirme cómo acceder a los datos(una vez guardados en la base de datos) para poderlos visualizar cuando quiera.

Gracias por todo.
  #4 (permalink)  
Antiguo 10/03/2006, 08:57
okram
Invitado
 
Mensajes: n/a
Puntos:
Hola

el formulario debe tener esta estructura:

Código PHP:
<?php
echo '<form name="nuevo" action="insertar.php" method="POST">
Nombre: <input type="text" name="nombre" size="30"><br />
Vinculacion: <input type="text" name="vinculacion" size="30"><br />
Email: <input type="text" name="email" size="30"><br />
Otra cosa: <input type="text" name="otro" size="30"><br /><br />'
;

// Esto es para mostrar un boton de envio

echo '<input type="submit" value="Enviar" name="Sbmt">
</form>'
;
?>
Luego en insertar.php


Código PHP:
<?

$nombre 
$_POST['nombre'];
$vinculacion $_POST['vinculacion'];
$email $_POST['email'];
$loquesea $_POST['otro'];

// Aqui realizas la conexion con la BD
include ("conectar.php");
mysql_select_db("$dbname",$link);

// Esta es la consulta que usas para añadir los datos a la BD
$sql "INSERT INTO tabla (nombre, vinculacion, email, otro) values ('$nombre', '$vinculacion', '$email', '$loquesea')";  //Como en el ejemplo, pones todos los valores

if (mysql_query($sql$link)) { 
echo 
"Datos enviados correctamente"
}
else {
echo 
"Error al enviar los datos";
}
?>
y luego conectar.php

el mismo que te puso david_M_G:

Código PHP:
<?
//Base de datos
$dbname"nombre"//Nombre base de datos
$dbuser "usuario"//Nombre de usuario
$dbpass "pass"//La contraseña de éste usuario
$dbhost "localhost"//Servidor. En el mayor de los casos, localhost.
//Conexión mysql
$link mysql_connect("$dbhost","$dbuser","$dbpass");

//Conexion Base de datos
mysql_select_db($dbname$link) or die(mysql_error());
?>
Para visualizar los datos puedes usar el phpMyAdmin, o en su defecto crea una pagina con cualquier nombre y con este codigo:

ver.php

Código PHP:
<?
// Aqui realizas la conexion con la BD
include ("conectar.php");
mysql_select_db("$dbname",$link);

// Esta es la consulta que usas para pedir los datos a la BD
$sql "SELECT * FROM tabla ORDER BY 'id' DESC";  
$query mysql_query($sql);

// Ahora guardas los datos en una array:
echo '<table width=600>';
<
tr>
<
td>
<
h5>DATOS</h5>
</
td>
</
tr>
while (
$datos mysql_fetch_array($query)) {
?>
<tr>
<td>
ID: <?=$datos['id'];?><br /><br />
Nombre: <?=$datos['nombre'];?><br />
Vinculacion: <?=$datos['vinculacion'];?><br />
Email: <?=$datos['email'];?><br />
Lo que sea: <?=$datos['otro'];?><br />
<br />&nbsp;
</td>
</tr>
<?php
}
echo 
'</table>';
?>
Para esto debes tener una tabla llamada tabla con las sigueinetes columnas:

ID (Que tendra el atributo auto_increment)
NOMBRE
VINCULACION
EMAIL
OTRO

Código PHP:
//<?
$sql
='CREATE TABLE archivos ( 
id bigint(7) NOT NULL auto_increment, 
nombre char(50) NOT NULL,
vinculacion longtext NOT NULL,
email char(50) NOT NULL,
otro longtext NOT NULL, 
KEY id (id))'
;
Espero esto te sea util...

david_M_G:

Tiene algun efecto colocar:

Código PHP:
//<?
$_GET
['variable']; //Haces esto por cada variable del formulario.
$_GET['nombre']; //Por ejemplo
????????
  #5 (permalink)  
Antiguo 13/03/2006, 06:49
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Muchas gracias por la ayuda y perdona, pero soy muy nueva y por simple que sea me cuesta un pelín hasta que doy con ello.
He creado la tabla en PHPMyAdmin, pero al enviar los datos del formulario me dice que ha habido un error. Puede que sea porque desde algún sitio tengo que especificar la ruta de acceso hasta PHPMyAdmin?
  #6 (permalink)  
Antiguo 13/03/2006, 06:54
 
Fecha de Ingreso: marzo-2006
Mensajes: 7
Antigüedad: 18 años, 1 mes
Puntos: 0
Saludos equipo!!

Soy nuevo en el Diseño y programacion de paginas Web, y necesito saber como puedo cinstruir una web,- por ejemplo: tienda virtual- que el cliente pueda modificar sus fotografias y datos personalizados (precios y otras informaciones) sin la necesidad de que tenga que recurrir al WebMaster que le diseño su Site.

Gracias de antemano por su gran ayuda.
  #7 (permalink)  
Antiguo 13/03/2006, 10:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por veahdark
Saludos equipo!!

Soy nuevo en el Diseño y programacion de paginas Web, y necesito saber como puedo cinstruir una web,- por ejemplo: tienda virtual- que el cliente pueda modificar sus fotografias y datos personalizados (precios y otras informaciones) sin la necesidad de que tenga que recurrir al WebMaster que le diseño su Site.

Gracias de antemano por su gran ayuda.
Haz tus preguntas en temas nuevos ..

También te recomiendo hacer preguntas concretas:
1) Quieres un sistema ya hecho? (para que consultes en el foro de "Aplicaciones pre-fabricadas".
2) Quieres hacerlo tu desde cero? .. si es así antes de ir al "grano" tendrías que aprender algo de base de todo este entorno de desarrollo: PHP .. manejo de BBDD diseño de estas .. etc.

Un saludo,
  #8 (permalink)  
Antiguo 13/03/2006, 17:03
okram
Invitado
 
Mensajes: n/a
Puntos:
Cita:
Iniciado por belbel
Muchas gracias por la ayuda y perdona, pero soy muy nueva y por simple que sea me cuesta un pelín hasta que doy con ello.
He creado la tabla en PHPMyAdmin, pero al enviar los datos del formulario me dice que ha habido un error. Puede que sea porque desde algún sitio tengo que especificar la ruta de acceso hasta PHPMyAdmin?
podrias postear el codigo que usas?? o en todo caso que error te manda??
  #9 (permalink)  
Antiguo 14/03/2006, 03:42
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
El código que he utilizado es el que me has dado tú, okram. Y el error que me aarece al dar al botón Enviar, dice: Error al enviar los datos.

Las únicas variaciones sobre el código que me has dado son que en el formulario.php pido más datos de los que tú me diste como ejemplo (creando para cada uno de ellos su correspondiente variable de la misma manera que se crean en los demás), y que he introducido el nombre de la base de datos además del nombre de usuario y contraseña en conectar.php (en el lugar donde tú mismo me aclarabas que había que hacerlo). El nombre de la base de datos, admás de ponerlo en conectar.php también lo he puesto en insertar.php.
  #10 (permalink)  
Antiguo 14/03/2006, 18:25
okram
Invitado
 
Mensajes: n/a
Puntos:
bueno belbel, tomé como base el codigo posteado por david_M_G, sobretodo el que se encarga de conectar a la base de datos...

Aqui te posteo un nuevo codigo, similar al que yo uso:

formulario.html
Código HTML:
<form name="nuevo" action="insertar.php" method="POST">
Nombre: <input type="text" name="nombre" size="30"><br />
Vinculacion: <input type="text" name="vinculacion" size="30"><br />
Email: <input type="text" name="email" size="30"><br />
Otra cosa: <input type="text" name="otro" size="30"><br /><br />
<input type="submit" value="Enviar" name="Sbmt">
</form> 
insertar.php
Código PHP:
<?php

$nombre 
$_POST['nombre'];
$vinculacion $_POST['vinculacion'];
$email $_POST['email'];
$loquesea $_POST['otro'];

// Aqui realizas la conexion con la BD
include ("conectar.php");
$link conectar();

// Esta es la consulta que usas para añadir los datos a la BD
$sql "INSERT INTO tabla (nombre, vinculacion, email, otro) VALUES ('".$nombre."', '".$vinculacion."', '".$email."', '".$loquesea."')";  //Como en el ejemplo, pones todos los valores, siguiendo la misma estructura

if (mysql_query($sql) { 
die(
"Datos enviados correctamente"); 
}
else {
die(
"Error al enviar los datos<br />MySQL ha dicho: ".mysql_error()."<br />&nbsp;");
}
?>
conectar.php
Código PHP:
<?php

function conectar()

{

$db_hostnp    'SERVIDOR'
$db_nombrenp    'NOMBRE DE LA BASE DE DATOS'
$db_usernp    'NOMBRE DE USUARIO DE LA BD'
$db_passnp    'PASSWORD'

$link=mysql_connect($db_hostnp$db_usernp$db_passnp) or die('No se pudo conectar al servidor MySql. <br />MySql ha dicho: '.mysql_error()."<br />&nbsp;";

mysql_select_db($db_nombrenp ,$doconnect) or die('No se pudo seleccionar la BD. <br />MySql ha dicho: '.mysql_error()."<br />&nbsp;";

return 
$link;

}

?>
Y para ver los registros:

ver.php
Código PHP:
<?
// Aqui realizas la conexion con la BD
include ("conectar.php");
$link conectar();

// Esta es la consulta que usas para pedir los datos a la BD
$sql "SELECT * FROM tabla ORDER BY id DESC";  
$query mysql_query($sql) OR die('Error en la consulta. <br />MySql ha dicho: '.mysql_error()."<br />&nbsp;");
echo 
'<table width=600>
<tr>
<td>
<h2>DATOS</h2>
</td>
</tr>'
;

// Ahora guardas los datos en una array:
while ($datos mysql_fetch_array($query)) {
?>
<tr>
<td>
ID: <?=$datos['id'];?><br /><br />
Nombre: <?=$datos['nombre'];?><br />
Vinculacion: <?=$datos['vinculacion'];?><br />
Email: <?=$datos['email'];?><br />
Lo que sea: <?=$datos['otro'];?><br />
<br />&nbsp;
</td>
</tr>
<?php
}
echo 
'</table>';
?>
Postea de nuevo si tienes algun problema
  #11 (permalink)  
Antiguo 22/03/2006, 03:40
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Verás, copio todos los archivos que me mandas en la carpeta de publicación(ya que estoy en modo local) y creo que cambio todo lo que tengo que cambiar(poner el nombre de la base de datos, crear la tabla 'tabla' en ella,...).El caso es que formulario me pide todos los datos que quiero que me pida y tal, pero una vez relleno cada campo y doy a enviar, me aparece una pantalla en blanco, así sin más, me imagino que porque no conecta bien con insertar, no?

Ya que estoy me gustaría hacerte una consulta por si acaso pudieras resolvérmela. Verás, este formulario lo quiero para poder introducirlo en un portal que estoy creando a raiz de post-nuke(no sé si lo conocerás). El caso es que no tengo todas conmigo de cómo debo hacerlo, quizá hay una manera más fácil, rápida o simplemente mejor que la que estoy buscando. Si pudieras orientarme al respecto, lo agradecería, ya que busco información por todas partes y llevo mucho tiempo con ello sin poder solucionarlo.
  #12 (permalink)  
Antiguo 22/03/2006, 17:36
okram
Invitado
 
Mensajes: n/a
Puntos:
hola

busca esta linea en el archivo insertar.php<b>
Código PHP:
//<?
if (mysql_query($sql) {
y cambiala por esta:<b>
Código PHP:
//<?
if (mysql_query($sql)) {
respecto a lo de integrarla a postnuke, dado que es puro codigo html el formulario, lo que puedes hacer es buscar los templates del portal y modificar la plantilla de la pagina a la q quieres agregar el archivo, agregando ahi el codigo del formulario... no he usado el postnuke, pero imagino tiene su sistema de templates

tratare de revisar el postnuke por si no logras integrarlo
  #13 (permalink)  
Antiguo 23/03/2006, 05:41
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Hola, antes que nada quería agradecerte toda la ayuda que me estás dando y por otro lado que necesito tanto. Gracias!!!

He cambiado la línea que me has dicho, y sigue igual, al introducir los datos y dar al botón enviar, va hacia insertar.php pero aparece una página en blanco, ni idea de a qué se debe.

Lo de los templates del portal,ejem,espero que una vez que pueda solucionar el problema de insertar y tal, pueda informarme sobre ello y sí se pueda hacer,no?

Gracias de nuevo por todo.
  #14 (permalink)  
Antiguo 23/03/2006, 17:05
okram
Invitado
 
Mensajes: n/a
Puntos:
ejecuta el archivo ver.php...

se añadieron los datos a la BD??

revisa tu base de datos con phpMyAdmin y verifica si existe algun registro en la tabla tabla, si no hay nada inserta uno mediante phpMyAdmin y ejecuta el archivo ver.php... avisa q aparece (o si no aparece nada )
  #15 (permalink)  
Antiguo 24/03/2006, 06:10
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Al ejecutar ver.php desde el directorio de publicación, me pasa lo mismo que con insertar, aparece un pantalla en blanco, sin más.

En phpMyAdmi, yo creé la tabla 'tabla' y también creé los campos que quería que tuviera y que se corresponden con las variables de datos que pido al usuario. No debería haber creado los campo?

He accedido a la tabla pero no veo que tenga ningún dato almacenado, no sé si quizá porque no he sabido visualizarlo desde phpMyAdmin.
  #16 (permalink)  
Antiguo 24/03/2006, 06:53
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 18 años, 9 meses
Puntos: 0
Hola.....

Por alguna razon ( ya que no consegui el motivo real), hace dias atras en IE me pasaba lo mismo, tuve que configurar un DIV y pasarle los parametros a traves de la CSS.
__________________
Saludos. Frank :arriba:

Mi Blog http://fjgmblog.blogspot.com
  #17 (permalink)  
Antiguo 24/03/2006, 14:55
okram
Invitado
 
Mensajes: n/a
Puntos:
Algunas correcciones al script... lo probe localmente y ahora si funciona:

conectar.php
Código PHP:
<?php

function conectar()

{

$db_hostnp    'SERVIDOR'
$db_nombrenp    'BASE_DE_DATOS'
$db_usernp    'USUARIO'
$db_passnp    'PASSWORD'

$link=mysql_connect($db_hostnp$db_usernp$db_passnp) or die('No se pudo conectar 

al servidor MySql. <br />MySql ha dicho: '
.mysql_error());

mysql_select_db($db_nombrenp ,$link) or die('No se pudo seleccionar la BD. <br 

/>MySql ha dicho: '
.mysql_error());

return 
$link;

}

?>

formulario.html

Código HTML:
<form name="nuevo" action="insertar.php" method="POST">
Nombre: <input type="text" name="nombre" size="30"><br />
Vinculacion: <input type="text" name="vinculacion" size="30"><br /> 
Email: <input type="text" name="email" size="30"><br /> 
Otra cosa: <input type="text" name="otro" size="30"><br /><br /> 
<input type="submit" value="Enviar" name="Sbmt"> </form> 

insertar.php

Código PHP:
<?php

$nombre 
$_POST['nombre'];
$vinculacion $_POST['vinculacion'];
$email $_POST['email'];
$loquesea $_POST['otro'];

// Aqui realizas la conexion con la BD
include ("conectar.php");
$link conectar();

// Esta es la consulta que usas para añadir los datos a la BD
$sql "INSERT INTO tabla (nombre, vinculacion, email, otros) VALUES ('".$nombre."', 

'"
.$vinculacion."', '".$email."', '".$loquesea."')";  //Como en el ejemplo, pones 

todos los valoressiguiendo la misma estructura

if (mysql_query($sql)) { 
die(
"Datos enviados correctamente"); 
}
else {
die(
"Error al enviar los datos<br />MySQL ha dicho: ".mysql_error()."<br />&nbsp;");
}
?>

ver.php

Código PHP:
<?
// Aqui realizas la conexion con la BD
include ("conectar.php");
$link conectar();

// Esta es la consulta que usas para pedir los datos a la BD
$sql "SELECT * FROM tabla ORDER BY nombre DESC";  
$query mysql_query($sql) OR die('Error en la consulta. <br />MySql ha dicho: 

'
.mysql_error()."<br />&nbsp;");
echo 
'<table width=600>
<tr>
<td>
<h2>DATOS</h2>
</td>
</tr>'
;

// Ahora guardas los datos en una array:
while ($datos mysql_fetch_array($query)) {
?>
<tr>
<td>
Nombre: <?=$datos['nombre'];?><br />
Vinculacion: <?=$datos['vinculacion'];?><br />
Email: <?=$datos['email'];?><br />
Lo que sea: <?=$datos['otros'];?><br />
<br />&nbsp;
</td>
</tr>
<?php
}
echo 
'</table>';
?>
Ahora si te debe funcionar, el error estaba en la conexion a la BD...

Ademas te dejo la consulta para crear la tabla de la base de datos
Código:
CREATE TABLE `tabla` (
  `nombre` CHAR(60) NOT NULL, 
  `vinculacion` CHAR(60) NOT NULL, 
  `email` CHAR(60) NOT NULL, 
  `otros` CHAR(255) NOT NULL
)
TYPE = myisam;
Postea si tienes mas problemas
  #18 (permalink)  
Antiguo 27/03/2006, 04:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Soy muy torpe!!!!

He puesto el código nuevo y sigue pasándome lo mismo, pero he descubierto una cosa que me hace muy chunga.
Al meterme en el portal genérico que tengo instalado(Post-Nuke) como Administrador, una de las opciones de administración que hay es la de crear nuevos bloques en el portal, bien, pues al seleccionar la opción de crear nuevo bloque, me aparece una pantalla donde poneError al enviar los datos ; que supongo que es el mensaje que aparece por el archivo insertar.php. Es decir, que en la carpeta de publicación, que es donde tengo instalados todos lo asrchivos que me has pasado, al pulsar en Enviar(del archivo Formulario) aparece una página en blanco sin decirme nada(que se supone que es la página a la que enlaza, es decir, Insertar) pero luego desde dentro del portal, al ir a crear un nuevo bloque es cuando parece que enlaza realmente con Insertar.
Quién me iba a decir que esto costaba tanto!!!!!!
  #19 (permalink)  
Antiguo 27/03/2006, 04:48
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
El caso es que he eliminado los archivos del directorio de publicación para evitar que me aparezca ese mensaje al ir a crear un nuevo bloque, y así poder seguir utilizando el portal normalmente, pero aún no exisitiendo esos archivos en el ordenador, cada vez que intento crear un bloque nuevo me sigue apareciendo ese mensaje, por qué????
Cada vez que intento avanzar en algo lo único que consigo es retroceder!!!!
  #20 (permalink)  
Antiguo 27/03/2006, 18:52
okram
Invitado
 
Mensajes: n/a
Puntos:
bueno no c q pueda estar pasando.... cambia de nombre al archivo insertar.php que te puse aqui, y redirige el formulario hacia ese nuevo nombre... luego, con respecto a lo de la creacion de bloques nuevos, ¿Ya estaba asi antes de copiar el script q te pase?... como te mencione en el ultimo post, yo lo probe y si funcionaba a la perfeccion, por lo que lo mas probable es que haya un conflicto entre archivos

t sugeriria reinstalar tu aplicacion, y si el error persiste acudir a los foros de Post-Nuke: http://forums.postnuke.com/index.php...viewforum&f=11
aunque esta en ingles...
  #21 (permalink)  
Antiguo 28/03/2006, 04:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
El problema que tenía al crear un bloque nuevo ya lo he solucionado. Me pasaba porque el archivo conectar se había incluido en el directorio de bloques, y se ve que era con él con el que enganchaba al dar a nuevo.
Voy a volver a probarlos todos otra vez en la carpeta de publicación, porque si a ti te funcionan tienen que estar bien,así que...a ver qué pasa.
  #22 (permalink)  
Antiguo 28/03/2006, 05:19
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Sigue pasándome lo mismo. Cuando pulso a Enviar en formulario, sí que va a insertar, porque en la línea de direcciones me aparece localhost/insertar.php, pero sigue siendo una página en blanco.
Puede que sea porque introduzco algún dato mal?
En conectar qué hay que poner exactamente?:
$db_hostnp = 'localhost';
$db_nombrenp = 'nombre de la base de datos';
$db_usernp = 'usuario con acceso a la base de datos';
$db_passnp = 'contraseña para acceder';
Hay que introducir los datos que sean entre las comillas simples?En host hay que poner localhost o la dirección exacta? De todas formas he probado de varias maneras y sigue ocurriendo lo mismo.
En insertar.php para acceder a la base de datos no hay que seleccionar la base de datos que sea antes de referirse a la tabla en cuestión? Es que tengo varias bases de datos creadas y a lo mejor el problema está en qué no sabe en cuál introducir los datos. Igual que en ver.php, no habría que seleccionar la base de datos antes de extraerlos? Aunque me imagino que esto ya se le dice a engancharlos con conectar,no?
  #23 (permalink)  
Antiguo 28/03/2006, 05:27
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
SI!!!!!! He seguido probando y por fin sale!!! Registra bien todos los datos y luego puedo verlos correctamente!!!! Muchísimas gracias por ayudarme!!!!! No me creo que por fin haya funcionado!!!

Una preguntita, para borrar los registros que quisiera borrar y tal, cómo podría hacerlo? Y, no sabrás si hay posibilidad de tener todo esto para hacerlo desde la propia página en vez de en la carpeta de publicación,no?

Muchas, muchas gracias!!!!
  #24 (permalink)  
Antiguo 28/03/2006, 07:40
 
Fecha de Ingreso: febrero-2005
Mensajes: 97
Antigüedad: 19 años, 2 meses
Puntos: 0
Formulario con Imagenes :-p

Hey!

Lei lo que llevaban aqui y pense en añdirle al mismo tema de discusion mi duda sobre como montar imagenes a traves de un formulario + base de datos. En el siguiente post coloco como trate de hacerlo
__________________

www.bre4k.com
motion graphics

  #25 (permalink)  
Antiguo 28/03/2006, 07:58
 
Fecha de Ingreso: febrero-2005
Mensajes: 97
Antigüedad: 19 años, 2 meses
Puntos: 0
Formulario con Imagenes:-p

Suponiendo que en mi base de datos la tabla Noticias dispone de los siguientes campos:
Titulo
Texto
Pic1

Bueno, primero voy con el php

Código PHP:

$varPic1 
htmlspecialchars($varPic1);
$varText nl2br($varText);
$varPic1 $varPic1.".jpg";
//preparo el nombre para ser guardado en
//la base de datos como imagen.jpg y no solo imagen


$sec=Noticias;//por ejemplo

$varPic1 htmlspecialchars($varPic1);
$varPic2 htmlspecialchars($varPic2);
$varText nl2br($varText);    

    if(
$image_file1){
    
    if (
is_uploaded_file($image_file1)) {
    
        
//if (!(is_dir($DOCUMENT_ROOT . "/img/$sec/" . $id))) {
        //    mkdir ($DOCUMENT_ROOT . "/img/$sec/" . $id, 0777);
        //}    

        
move_uploaded_file($image_file1$DOCUMENT_ROOT "/a/img/$sec/" $varPic1 ".jpg"); 
        
$varPic1 $varPic1 ".jpg";
        }
        } 
Html

Código HTML:
<form action="actualizar.php?sec=<? echo $sec; ?>" method="post" name="form2" class="style1" enctype="multipart/form-data">

<input name="varTitulo" type="text" size="50" maxlength="50">

<input name="varPic1" type="hidden" id="varPic1" value="<?php echo $image_file1; ?>">
<input type="file"*name="image_file1" id="image_file1">

<textarea name="varText" cols="50" wrap="PHYSICAL"></textarea>

<input type="submit" name="Submit" value="Submit"> 
Notese que coloque un campo invisible llamado varPic1 que supuestamente debe tomar el nombre del archivo que se esta subiendo.
Luego en el archivo actualizar.php tengo:

Código PHP:

        mysql_query
("INSERT into $sec () VALUES
        ('$varTitulo', '$varTexto', '$varPic1')"
,
        
$db);
           
//partiendo que en la tabla el orden de los campos son Titulo, Texto y Pic1 

Bueno ahi esta la idea de como quise hacerlo y no pude , si pueden echarme un mano venga.

Gracias:-p
__________________

www.bre4k.com
motion graphics

  #26 (permalink)  
Antiguo 19/04/2006, 06:09
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Formularios en PHP

Hola Okram,

la página que creé gracias a tí que mostraba las personas que había registrado y tal, conseguí incluirla en mi página creando un bloque desde el que hay un enlace que permite mostrarla.

Me gustaría saber cómo puedo hacer para poder eliminar ciertos registros siempre que quiera, es decir, con los módulos que creé(los que me fuiste diciendo) puedo registrar a personas, pero es posible que llegue un momento en el que una de esas personas registradas ya no quiera que esté ahí o quiera modificar alguno de sus datos, para hacer esto debo hacerlo accediendo a la base de datos o hay alguna forma más directa de poder solucionarlo?

Gracias de nuevo por todo.

Un saludo
  #27 (permalink)  
Antiguo 20/04/2006, 22:15
okram
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo

hola belbel

por estos dias estoy un poco ajustado con el tiempo, la universidad me consume bastante espacio y poco puedo hacer en estos foros... te sugiero revises estas paginas para referencias sobre el uso de las sentencias UPDATE (para modificar) y DELETE (para borrar) en consultas mysql, del mismo modo que el SELECT:

http://bulma.net/body.phtml?nIdNoticia=673 (todos)
http://www.conclase.net/c/mysql/index.php?sen=UPDATE
http://www.conclase.net/c/mysql/index.php?sen=DELETE
http://www.conclase.net/c/mysql/index.php?sen=SELECT

Intenta armar el codigo que necesitas, ahora no tengo mucho tiempo, ya mas luego t paso un codigo que puedas usar si es q no has logrado hacerlo...

Suerte
  #28 (permalink)  
Antiguo 21/04/2006, 14:08
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Aunque lleve mucho tiempo ya éste 'post', me apetece contestar esto que acabo de ver

Cita:
Iniciado por okram
david_M_G:

Tiene algun efecto colocar:

Código PHP:
//<?
$_GET
['variable']; //Haces esto por cada variable del formulario.
$_GET['nombre']; //Por ejemplo
????????

Efectivamente fue uno de mis errores al escribir rápido, como advertí en el mismo mensaje... Supongo que estaría pensando en que al ser un nuevo documento (insertar.php) tendría que recoger datos. Una tontería, vamos :P. Por supuesto el comando correspondiente es $_POST.

Por lo demás, veo que me he dejado muchísimos detalles y las instrucciones básicas. Aunque entre todos se han conseguido buenos resultados. Gracias
  #29 (permalink)  
Antiguo 09/05/2006, 04:54
 
Fecha de Ingreso: noviembre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Hola okram, aquí te mando los documentos que he hecho y que no me funcionan, por si pudieras echarles un vistacillo a ver qué te parecen.

cambiar.phtml
Cita:
<form name="nuevo" action="modificar.php" method="POST">
Nombre_Antiguo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ; <input type="text" name="nombre" size="30"><br />
Nombre_Nuevo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="nombre_nuev" size="30"><br />
Vinculación_Antigua:&nbsp; <input type="text" name="vinculacion" size="30"><br />
Vinculación_Nueva:&nbsp; <input type="text" name="vinculacion_nuev" size="30"><br />
Dirección_Antigua:&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="direccion" size="30"><br />
Dirección_Nueva:&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="direccion_nuev" size="30"><br />
Teléfono_Antiguo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="telefono" size="30"><br />
Teléfono_Nuevo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="telefono_nuev" size="30"><br />
Email_Antiguo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="email" size="30"><br /><br />
Email_Nuevo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp; <input type="text" name="email_nuev" size="30"><br /><br />
<input type="submit" value="Enviar" name="Sbmt"> </form>
modificar.php
Cita:
<?php

$nombre = $_POST['nombre'];
$vinculacion = $_POST['vinculacion'];
$direccion = $_POST['direccion'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];

$nombre_nuev = $_POST['nombre_nuev'];
$vinculacion_nuev = $_POST['vinculacion_nuev'];
$direccion_nuev = $_POST['direccion_nuev'];
$telefono_nuev = $_POST['telefono_nuev'];
$email_nuev = $_POST['email_nuev'];

// Aqui realizas la conexion con la BD
include ("conectar.php");
$link = conectar();

// Esta es la consulta que usas para cambiar los datos en la BD

$sql = "UPDATE tabla SET (nombre='".$nombre_nuev."',vinculacion='".$vincula cion_nuev."', direccion='".$direccion_nuev."', telefono='".$telefono_nuev."', email='".$email_nuev."')";

if (mysql_query($sql)) {
die("Datos enviados correctamente");
}
else {
die("Error al enviar los datos<br />MySQL ha dicho: ".mysql_error()."<br />&nbsp;");
}
?>
Como ves me he basado en los documentos formulario.phtml e insertar.php y a partir de ellos he intentado crear los necesarios para poder hacer las modificaciones. Está mal hecha la sentencia UPDATE, ya que al ejecutarlo me dice que hay un error de sintaxin y tal. Seguiré buscando a ver si puedo dar con algo.

Gracias.
  #30 (permalink)  
Antiguo 09/05/2006, 06:34
Avatar de felixpv  
Fecha de Ingreso: julio-2002
Mensajes: 312
Antigüedad: 21 años, 9 meses
Puntos: 0
Un consejo general (no lo tomen a mal).
hay cientos de paginas, si buscan en google, con los procedimientos para insertar, modificar,eliminar registros de una BD.
Antes de comenzar a programar y o modificar una aplicación por lo menos lean los manuales de php y el de mysql. Las guias paso a paso sirven para ver que hace algo pero si no leen los manuales no sabran como hacerlo y como funciona.
Aunque sea fácil instalar un portal como el php nuke (u otros), no es trivial la modificación de su codigo.


Saludos
__________________
usuario linux #274354
de una lista: "A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales."
otro: "Maestro, maestro…, por que un Pinguino?
… Porque lo que no vuela...!!! No se cae !!!."
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 17:55.