Foros del Web » Programando para Internet » PHP »

Recibir datos de un Formulario de forma diferente que el e-mail

Estas en el tema de Recibir datos de un Formulario de forma diferente que el e-mail en el foro de PHP en Foros del Web. Hola... Estoy haciendo un formulario en el cual los visitantes podrán llenar una solicitud de empleo (FORM METHOD="POST"), los datos se descargan en mi correo ...
  #1 (permalink)  
Antiguo 02/09/2004, 19:59
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 19 años, 7 meses
Puntos: 1
Recibir datos de un Formulario de forma diferente que el e-mail

Hola...
Estoy haciendo un formulario en el cual los visitantes podrán llenar una solicitud de empleo (FORM METHOD="POST"), los datos se descargan en mi correo electrónico pero como es bastante información, se hace muy molesto leerla.

Que puedo hacer?
Que escritura debo usar para que cada formulario llenado lo pueda descargar en una base de datos [tengo en mi control panel MySQL (con PHPMyAdmin)] o bien en otra página web a la que el usuario no tenga acceso o a un archivo aparte que facilite su lectura e impresión...?

Gracias por la paciencia.

Martin
  #2 (permalink)  
Antiguo 03/09/2004, 05:10
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
Simplemente tendrías que crear una tabla con los campos del formulario. Cuando recojas los datos del formulario tan sólo tienes que conectarte a la base de datos y hacer un "insert" para introducir los datos en la tabla.

Aquí tienes un ejemplo que te puede servir de ayuda:

http://www.programacion.net/tutorial/php/7/
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 03/09/2004, 17:15
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 19 años, 7 meses
Puntos: 1
Gracias

Gracias... seguiré este ejemplo (después del huracán... estoy en Miami) y ya te contaré como me fue.

Martin
  #4 (permalink)  
Antiguo 07/09/2004, 10:01
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 19 años, 7 meses
Puntos: 1
Me sale un error...

Hola de nuevo...
seguí el ejemplo que me enviaste pero haciendo las pruebas... al llenar el formulario me sale lo siguiente:

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/goodsi60/public_html/add_reg.php3 on line 8
¡Gracias! Hemos recibido sus datos.

Me imagino que el error es porque en el archivo "add_reg.php3" yo dejé esta parte sin cambiar: mysql_select_db("mydb", $db); ... pero no se realmente que debo escribir pues en ningún lado veo la ruta que deberán llevar los datos para identificar mi base de datos.

Gracias de nuevo por la paciencia.
Martin


Cita:
Iniciado por living
Simplemente tendrías que crear una tabla con los campos del formulario. Cuando recojas los datos del formulario tan sólo tienes que conectarte a la base de datos y hacer un "insert" para introducir los datos en la tabla.

Aquí tienes un ejemplo que te puede servir de ayuda:

http://www.programacion.net/tutorial/php/7/
  #5 (permalink)  
Antiguo 07/09/2004, 10:18
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
En ese ejemplo hay una cosa que está mal ahora que lo veo. Deberías poner esto:

$link= mysql_connect($host, $user,$password);
mysql_select_db($bbdd, $link);

en vez de esto:

$link = mysql_connect("localhost", "root");
mysql_select_db("mydb",$db);//donde pone $db debería poner $link


Donde $host es la dirección de tu base de datos, normalmente será "localhost". $user es el usuario de esa base de datos y $password es la contraseña de ese usuario.
$bbdd es la base de datos donde vas a guardar tus datos, la tendrás que crear si no lo ha hecho ya tu proveedor de hosting. Y el usuario y password también te lo tiene que dar tu proveedor. Lo más seguro es que tu solamente tengas que crear las tablas (con phpmyadmin es muy sencillo).
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #6 (permalink)  
Antiguo 07/09/2004, 22:38
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 19 años, 7 meses
Puntos: 1
Ya casi...

De antemano, gracias por tu colaboración.

Si por algún motivo no me puedes dedicar mas tiempo yo lo comprenderé.

Ya hice una prueba enviando el formulario y me sale el mensaje de confirmación "Gracias! hemos recibido sus datos"

En el archivo add_reg.php3 utilice la información que me enviaste así:

<?PHP // process form
$link = mysql_connect("localhost", "goodsi60_nano","<Aqui puse el Passw>");
mysql_select_db("goodsi60_agenda",$link);
$sql = "INSERT INTO agenda (nombre, direccion, telefono, email) ".
"VALUES ('$nombre', '$direccion', '$telefono', '$email')";
$result = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.\n";


Ahora no se a donde fue a dar la información del formulario ni como bajarla a la tabla correspondiente... ingresé a phpMyAdmin y veo que hay una opción "Insert" pero es para insertar filas...

Gracias de nuevo, valoro tu tiempo. Yo estoy en Miami, si puedo hacer algo por ti, cuenta con eso.

Martin
  #7 (permalink)  
Antiguo 07/09/2004, 23:10
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Como tienes el phpMyAdmin, puedes ver en la tabla "agenda" y haces clic en la opción "examinar"... ahí podrás ver los registros que has insertado.

Saludos
  #8 (permalink)  
Antiguo 07/09/2004, 23:31
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 19 años, 7 meses
Puntos: 1
Pregunta

jpinedo, gracias por participar.

Hay mucha parte de la terminología que tal vez no comprendo. Cuando dices "ahí podrás ver los registros que has insertado" es porque al llenar el formulario y darlo de alta los registros se insertan automáticamente...? o hay que hacer otro proceso...? (si es así dime por favor donde documentarme o que debo hacer...) pues ya consulté la opción "Examinar" y la tabla aparece con los títulos en sus respectivas columnas pero no hay datos.

Gracias !
Martin
  #9 (permalink)  
Antiguo 07/09/2004, 23:49
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola Martine, cuando un usuario llena el formulario con los datos que tu pides se ejecutará el script o código que haz escrito en "add_reg.php3", que hace el script en cuestión que creo que por ahi tienes dudas, la cadena de texto que tienes en la variable $sql que es
Código PHP:
$sql "INSERT INTO agenda (nombre, direccion, telefono, email) VALUES ('$nombre', '$direccion', '$telefono', '$email')"
es una instrucción que se le está dando a motor de la base de datos para que tome los valores del formulario y los inserte en la tabla que tu haz decidido para tal efecto que en tu caso sería "agenda".

en PHPMyAdmin podrás examinar las tablas que haz constriuido las cuales tendrán datos siempre y cuando hayas escrito correctamente las sentencias SQL. Además del proceso de escribir la sentencia y ejecutarla con la instrucción
Código PHP:
$result mysql_query($sql); 
por detrás del código fuente que hay escrito ovbiamente hay otros procesos que son los que gestionan la información para agregarla a tu tabla. Si todo ha ido bien no nos debe dar ningún error, pero este error se puede forzar a mostrar si lo queremos así
Código PHP:
$result mysql_query$sql ) or die( mysql_error() ); 
esto forzará a PHP a mostrar cual fue el error que no permitio el ingreso de los datos de tu formulario a la tabla...
en muchas ocasiones cuando no se manejan primeramente los datos que queremos ingresar a la BD pueden generar errores...uno de los más típicos es intentar insertar datos de un formulario que tengan una comilla simple o doble ( ' o " )...pq sucede? porque como estamos trabajando con cadenas de texto plano estás se unen y podrían cortar una instrucción antes de su término, o bien que hayas escrito mal el nombre de la tabla o que se yo cuantos errores mas podrñian ocurrir, solo te menciono estos dos a modo de ejemplo.

este es el mismo script tuyo con algunas correcciones para que lo pruebes, si tienes más dudas acerca de esto no dudes en preguntar, salu2 desde Chile.

Código PHP:
<?PHP // process form
       
$link mysql_connect("localhost""goodsi60_nano","<Aqui puse el Passw>");
       
mysql_select_db("goodsi60_agenda",$link);
       
$sql "INSERT INTO agenda (nombre, direccion, telefono, email) VALUES ('" $nombre "', '" $direccion "', '" $telefono "', '" $email "')";
       
mysql_query$sql ) or die( mysql_error() );
       echo 
"¡Gracias! Hemos recibido sus datos.\n";
?>

Última edición por HiTek; 07/09/2004 a las 23:51
  #10 (permalink)  
Antiguo 07/09/2004, 23:50
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
Puede ser que no se esté haciendo bien la inserción del registro. Debajo de $result = mysql_query($sql); (por cierto, no hace falta que pongas $result=) por esta línea:

echo mysql_error();

Cuando ejecutes de nuevo el formulario debería salirte un error. Escribelo en este post a ver si podemos ayudarte
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #11 (permalink)  
Antiguo 09/09/2004, 18:49
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 19 años, 7 meses
Puntos: 1
Hola de Nuevo...

Bien, ya me funcionó con un formulario pequeño y pude "Examinar" la tabla desde phpMyAdmin...

Pero ahora me ocurre algo extraño. Voy a proceder a probar con una base de datos de 40 campos. Creé la base de datos, el usuario y el Passw en MySQL, luego desde phpMyAdmin creé la tabla y me la aceptó pero la opción "Examinar" está deshabilitada... ya intenté de nuevo con una tabla pequeña y desde otra base de datos... pero en todas me aparece deshabilitada esta opción que es la clave para probar si los datos pasan o no... será problema con mi proveedor de Hosting (tengo derecho a 3 DB y solo tengo creada una) o empecé a hacer algo mal y no me doy cuenta...?

Gracias de Nuevo !!

Martin
  #12 (permalink)  
Antiguo 09/09/2004, 19:21
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Normalmente "examinar" no está habilitado para una tabla vacía. Es así porque en realidad aún no hay datos que examinar.

Saludos
  #13 (permalink)  
Antiguo 09/09/2004, 21:57
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 19 años, 7 meses
Puntos: 1
si... como no tenía datos no se podía examinar.

Bien... creo que ya estoy llegando y me comprometo a recopilar toda esta información y ponerla en un tema nuevo para que otros la puedan usar. La verdad es que con phpMyAdmin se ve bastante sencillo (al menos lo que yo estoy haciendo es sencillo).

Ok; sin embargo tengo tres dudas:

1. Cuando estaba llenando la información en "add_reg.php3" (en mi programa para elaborar páginas "HotMetal") me salió este mensaje "Error... maximo de caracteres a procesar es 640" (Mi tabla tiene muchos caracteres...son 40 filas); pero aún así lo salvé y está funcionando... me preocupa es que luego salga alguna falla...

2. Como puedo hacer para que los campos "requeridos" u "Obligatorios" efectivamente se elaboren y si alguien se los salta le aparezca un mensaje de rechazo para que intente de nuevo...?

3. Se puede hacer que los datos de varios CheckBox lleguen a un mismo campo? por ejemplo:

Sabe Usted: *Pintar - *Decorar - *instalar Pisos... si la persona selecciona los tres CheckBox quisiera que en mi Tabla me apareciera: Pintar Decorar Instalar pisos.

De Nuevo Gracias... la ayuda de ustedes ha sido muy importante !

Martin
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 15:27.