Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

PHP Scripts Procesador de Formularios

Estas en el tema de PHP Scripts Procesador de Formularios en el foro de Sistemas de gestión de contenidos en Foros del Web. Buenas tardes: Necesito poner en una web un formulario o casilla para que quien quiera inscribirse a la web para recibir información, deje sólo su ...
  #1 (permalink)  
Antiguo 05/08/2010, 14:45
Avatar de MontseDG  
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 10 meses
Puntos: 0
PHP Scripts Procesador de Formularios

Buenas tardes:

Necesito poner en una web un formulario o casilla para que quien quiera inscribirse a la web para recibir información, deje sólo su correo electrónico y que éste se guarde automáticamente en una base de datos excel. Como no sé hacer bases de datos he encontrado un archivo php que cumple con los requisitos que necesito, pero no sé cómo adaptarlo a la web. He encontrado este archivo:

Cita:
<?php
/*
apgForm 1.7
By: Alvaro Prieto (apg88)
E-Mail: [email protected]
Web site: http://www.apg88.com/index.php?page=apgForm


Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/legalcode
http://creativecommons.org/licenses/by/2.5/ (Summary)
You can modify the code all you want, make money with it, release newer versions, etc... just leave my name, email, and web site URL on the it.

*/

// Change this to the page you want the user to be redirected to after form is submitted (i.e. success.html and error.html)
$success = "";
$error = "";

// Change this to the character(s) you want to be placed instead of line breaks(new line, enter, etc)
$lbChar = " "; // default is a space, you may change it to whatever you want

// Don't change anything below this line

// Determine if the form was sent through the GET methog or the POST method.
if($_POST){
$array = $_POST;
} else if($_GET){
$array = $_GET;
} else {
die("You must Access this file through a form."); // If someone accesses the file directly, it wont work :)
}

//Check if the filename was sent through the form or not
if(!$array['filename']){
// if the filename wasnt sent through the form, it will become form.xls, you can change the default if you want.
$array['filename'] = "form.xls"; //Set the file to save the information in

} else {
if(!(stristr($array['filename'],".xls"))){
$array['filename'] = $array['filename'] . ".xls";
}
}

// Define the tab and carriage return characters:
$tab = "\t"; //chr(9);
$cr = "\n"; //chr(13);

if($array){
// Make The Top row for the excel file and store it in the $header variable
$keys = array_keys($array);
foreach($keys as $key){
if(strtolower($key) != 'filename' && strtolower($key) != 'title'){
$header .= $key . $tab;
}
}
$header .= $cr;

//Make the line with the contents to write to the excel file.
foreach($keys as $key){
if(strtolower($key) != 'filename' && strtolower($key) != 'title'){

$array[$key] = str_replace("\n",$lbChar,$array[$key]);
$array[$key] = preg_replace('/([\r\n])/e',"ord('$1')==10?'':''",$array[$key]);
$array[$key] = str_replace("\\","",$array[$key]);
$array[$key] = str_replace($tab, " ", $array[$key]);
$data .= $array[$key] . $tab ;
}
}
$data .= $cr;

if (file_exists($array['filename'])) {
$final_data = $data; // If the file does exist, then only write the information the user sent
} else {
$final_data = $header . $data; // If file does not exist, write the header(first line in excel with titles) to the file
}
// open the file and write to it

$fp = fopen($array['filename'],"a"); // $fp is now the file pointer to file $array['filename']

if($fp){

fwrite($fp,$final_data); //Write information to the file
fclose($fp); // Close the file
// Success
header("Location: $success");
} else {
// Error
header("Location: $error");
}
}

?>

La explicación que acompaña este archivo dice lo siguiente:

You will need:
1. A PHP enabled host
2. A folder in your server with read/write permissions to work. (CHMOD 777)
3. Microsoft Excel, OpenOffice, or a similar program that can open xls files.

Installation:
1. Make any changes you need to apgform.php
2. Upload it to your server and CHMOD the folder it's in to 777
3. That's it!

apgForm es un archivo PHP capaz de formularios web de transformación y guardarlos directamente en un archivo de Excel.
apgForm recibe ningún tipo con cualquier número de cuadros de texto, botones de radio, menús desplegables, campos ocultos, y las cajas de la contraseña y los guarda en un archivo de Excel.
Puede recibir el formulario, independientemente de la forma en que se envió (POST o GET).
apgForm requiere PHP y una carpeta con permisos de lectura / escritura permisos para trabajar. (CHMOD 777)


¿Cómo se configura esto para la web donde debo insertarlo? y ¿Qué es o qué significa (CHMOD 777)?
  #2 (permalink)  
Antiguo 05/08/2010, 16:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 34
Antigüedad: 16 años
Puntos: 0
Respuesta: PHP Scripts Procesador de Formularios

Hola MontseDG,

Las instrucciones dicen que solo debes modificar el formulario para que tenga los campos que quieres que tenga y las paginas donde quieres que se redireccione etc, si encuentras que esta bien como esta solo creas una carpeta (normalmente en www o en Public_html en los servidores de pago) en tu servidor con el nombre que quieras (esto lo puedes hacer de un gestor FTP como filezilla por ejemplo) y suber el script dentro de la carpeta.
Desde ahi mismo a la carpeta que creaste le das click derecho pinchas en la opcion "permisos de archivo" y ahi donde dice valor numerico escribes 777 y aceptar. y listo eso es hacer CHMOD 777 a la carpeta para que esta pueda ser escrita y modificable automaticamente por scripts.

saludos
  #3 (permalink)  
Antiguo 06/08/2010, 12:44
Avatar de MontseDG  
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: PHP Scripts Procesador de Formularios

Cita:
Iniciado por framos41 Ver Mensaje
Hola MontseDG,

Las instrucciones dicen que solo debes modificar el formulario para que tenga los campos que quieres que tenga y las paginas donde quieres que se redireccione etc, si encuentras que esta bien como esta solo creas una carpeta (normalmente en www o en Public_html en los servidores de pago) en tu servidor con el nombre que quieras (esto lo puedes hacer de un gestor FTP como filezilla por ejemplo) y suber el script dentro de la carpeta.
Desde ahi mismo a la carpeta que creaste le das click derecho pinchas en la opcion "permisos de archivo" y ahi donde dice valor numerico escribes 777 y aceptar. y listo eso es hacer CHMOD 777 a la carpeta para que esta pueda ser escrita y modificable automaticamente por scripts.

saludos
Muchísimas gracias Framos41, ahora mismo lo pruebo y te cuento cómo me va. Mil gracias.
  #4 (permalink)  
Antiguo 06/08/2010, 13:04
Avatar de MontseDG  
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: PHP Scripts Procesador de Formularios

Hola framos 41, te cuento.

He creado una carpeta con el nombre inscribirse y dentro he puesto este archivo apgform1.7, he subido esta carpeta inscribirse con el archivo dentro por FTP con el Filezilla y he hecho lo del botón derecho y 777. Ahora desde el navegador entro a http://www.eldominio.com/inscribirse/apg1.7.php y se me abre una ventana con el siguiente mensaje:

You must Access this file through a form.

¿Qué hago mal?

¿Se supone que al entrar allí ya aparece el formulario?

Muchas gracias desde ya
  #5 (permalink)  
Antiguo 06/08/2010, 15:29
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 7 meses
Puntos: 656
Respuesta: PHP Scripts Procesador de Formularios

El archivo es para procesar formularios, no coloca un formulario propiamente dicho.
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #6 (permalink)  
Antiguo 06/08/2010, 16:52
Avatar de MontseDG  
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: PHP Scripts Procesador de Formularios

Cita:
Iniciado por Nekko Ver Mensaje
El archivo es para procesar formularios, no coloca un formulario propiamente dicho.
¿Qué debo hacer entonces?

¿Crear un formulario y ponerlo en la kisma carpeta que este archivo? Si es así ¿Qué o cómo los vinculo el formulario y esta achivo?
  #7 (permalink)  
Antiguo 10/08/2010, 17:25
Avatar de MontseDG  
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: PHP Scripts Procesador de Formularios

He añadido un formulario en la carpeta desde FTP, ¿ahora cómo hago para descargarme los archivos en formato excel?
  #8 (permalink)  
Antiguo 10/08/2010, 18:48
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 7 meses
Puntos: 656
Respuesta: PHP Scripts Procesador de Formularios

Antes que nada tu formulario debe enviar la información al archivo en cuestion:

<form action="apgform1.7.php" method="post" id="blabla">

En tu archivo apgform1.7.php vas a ver una sección en donde te solicita le indiques a donde debe dirigir al usuario en caso de error o de éxito:

Código:
	// Change this to the page you want the user to be redirected to after form is submitted (i.e. success.html and error.html)
	$success = "";
	$error = "";
Luego, debes subir tu formulario y tu archivo a un directorio con chmod 777, ya que el script necesita poder escribir ahi.

El formulario cargará la información en un archivo llamado form.xls, dentro del directorio del formulario y del script, que podrás descargar vía FTP.

Eso es todo!

Suerte
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #9 (permalink)  
Antiguo 12/08/2010, 01:38
Avatar de MontseDG  
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: PHP Scripts Procesador de Formularios

Cita:
Iniciado por Nekko Ver Mensaje
Antes que nada tu formulario debe enviar la información al archivo en cuestion:

<form action="apgform1.7.php" method="post" id="blabla">

En tu archivo apgform1.7.php vas a ver una sección en donde te solicita le indiques a donde debe dirigir al usuario en caso de error o de éxito:

Código:
	// Change this to the page you want the user to be redirected to after form is submitted (i.e. success.html and error.html)
	$success = "";
	$error = "";
Luego, debes subir tu formulario y tu archivo a un directorio con chmod 777, ya que el script necesita poder escribir ahi.

El formulario cargará la información en un archivo llamado form.xls, dentro del directorio del formulario y del script, que podrás descargar vía FTP.

Eso es todo!

Suerte
Muchas gracias Nekko, lo explicas de una forma que parece sencillo, se nota que entiendes mucho del tema.

Entonces, dentro de mi archivo formulario.asp que es donde está el formulario debo añadir allí :
<form action="apgform1.7.php" method="post" id="blabla">

¿Qué valor debo poner donde dice "blabla"?

¿Qué tipo de archivo debo de hacer para que reciba el aviso de error y de éxito? ¿y estos archivos los debo poner todos dentro de la misma carpeta con el formulario y el apgform1.7.php?

Muchísimas gracias por tu ayuda, eres muy buena persona.
  #10 (permalink)  
Antiguo 12/08/2010, 07:47
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 7 meses
Puntos: 656
Respuesta: PHP Scripts Procesador de Formularios

El campo id="blabla" es optativo en realidad. Es un identificador para que luego apliques estilo a tu formulario. Podés no ponerlo en tu formulario.

Para los archivos de aviso de error y éxito podés usar lo que quieras y también colocarlos en donde quieras. Lo importante es que si los colocás fuera de la carpeta en donde está el archivo apgform indiques la ruta cuando llenes los campos en el script.

Exitos!
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #11 (permalink)  
Antiguo 13/08/2010, 19:25
Avatar de MontseDG  
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: PHP Scripts Procesador de Formularios

Cita:
Iniciado por Nekko Ver Mensaje
El campo id="blabla" es optativo en realidad. Es un identificador para que luego apliques estilo a tu formulario. Podés no ponerlo en tu formulario.

Para los archivos de aviso de error y éxito podés usar lo que quieras y también colocarlos en donde quieras. Lo importante es que si los colocás fuera de la carpeta en donde está el archivo apgform indiques la ruta cuando llenes los campos en el script.

Exitos!
Muchas gracias Nekko, ahora lo probaré :)
  #12 (permalink)  
Antiguo 13/08/2010, 22:33
 
Fecha de Ingreso: octubre-2008
Mensajes: 165
Antigüedad: 16 años
Puntos: 12
Respuesta: PHP Scripts Procesador de Formularios

En efecto, lo que te indica Nekko es que en el formulario que hagas en el action debes incluir el archivo apgform1.7.php como procesador del formulario.
Cada vez que alguien envíe el formulario este script abrirá el archivo form.xml que el mismo script creó y actualizará la información una abajo de la otra.
  #13 (permalink)  
Antiguo 23/04/2011, 10:45
Avatar de MontseDG  
Fecha de Ingreso: enero-2010
Mensajes: 26
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: PHP Scripts Procesador de Formularios

¡Muchas Gracias!

Etiquetas: php, procesador, scripts, formulario
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:13.