Foros del Web » Programando para Internet » PHP »

Crear archivo xml a partir de un formulario

Estas en el tema de Crear archivo xml a partir de un formulario en el foro de PHP en Foros del Web. HOLA! alguien sabe de un tutorial de como crear un achivo .xml a partir de un formulario ? o ustedes saben como? o algun codigo ...
  #1 (permalink)  
Antiguo 15/12/2008, 14:20
Avatar de franblack  
Fecha de Ingreso: noviembre-2008
Ubicación: Caracas
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Crear archivo xml a partir de un formulario

HOLA!

alguien sabe de un tutorial de como crear un achivo .xml a partir de un formulario ? o ustedes saben como? o algun codigo que pueda estudiar? la verdad no se casi nada de XML.

Gracias,
  #2 (permalink)  
Antiguo 15/12/2008, 15:21
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Crear archivo xml a partir de un formulario

XML no es tu problema, es solo un lenguaje de etiquetado, similar a HTML, no más que texto plano. Tu "problema" está en el lenguaje con el que recibirás y procesarás la información de tu formulario y en cómo organizarás dicha información. Si el esquema es simple, podrías tratar tu XML como una simple cadena de texto y crear el archivo sin complicaciones; cómo hacer todo eso, depende del lenguaje que vayas a utilizar, igual dicho lenguaje podría tener extensiones / librerías para trabajar con XML.

Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 15/12/2008, 15:33
Avatar de franblack  
Fecha de Ingreso: noviembre-2008
Ubicación: Caracas
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Crear archivo xml a partir de un formulario

Hola Jam1138

Gracias por responder, stoy trabajando con PHP, ya que soy nuevo en esto, se como guardar los datos en una base de datos MYSQL, pero basicamente lo que busco es como crear un archivo que almacene toda la información de los formularios, estuve leyendo en foros y en mas sitios y se que con xml los puedo "ordenar" mejor.

Y basicamente lo que quisiera es ordenar los datos para poder luego imprimirlos en pdf con la libreria fpdf, pero eso ya es otro tema. O con, el editor de texto "Latex" la verdad no se si sea lenguaje de programación o editor de texto. disculpen todos por no entender muy bien lo de LateX.

Basicamente lo que busco es crear un archivo de texto con la información obtenido de varios formularios para luego imprimirlos via PHP con PDF.

Que me recomendarias para poder realizar el proyecto ? Gracias!!!
  #4 (permalink)  
Antiguo 15/12/2008, 16:27
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Crear archivo xml a partir de un formulario

Cita:
Iniciado por franblack Ver Mensaje
[...] O con, el editor de texto "Latex" la verdad no se si sea lenguaje de programación o editor de texto. disculpen todos por no entender muy bien lo de LateX.
LaTeX es igual un lenguaje de etiquetado pero muy diferente a lo que es XML. Sé es utilizado en textos científicos y es muy potente, pero personalmente no he tenido necesidad de trabajar con él.
Nada mejor que la Wikipedia para despejar dudas: LaTeX

Cita:
Iniciado por franblack Ver Mensaje
Basicamente lo que busco es crear un archivo de texto con la información obtenido de varios formularios para luego imprimirlos via PHP con PDF.
Como dije, XML es texto plano y puedes tratarlo como una simple cadena de texto. El como crear un archivo .xml está en cómo trabajar con texto en PHP y sus funciones para la creación de archivos.

Un ejemplo muy básico (y bastante malo ) podría ser:
Código php:
Ver original
  1. <?php
  2. // Una vil variable de texto
  3. $xml = '<?xml version="1.0" encoding="ISO-8859-1" ?>'
  4.            . '<informacion>';
  5.  
  6. // Creando un nodo con un dato proveniente de un formulario
  7. $xml .= "\t<dato>\n";
  8. $xml .= "\t\t".$_POST['componente']."\n";
  9. $xml .= "\t</dato>\n";
  10.  
  11. // Cerrando el XML
  12. $xml .= '</informacion>';
  13.  
  14. // Escribiendo el archivo.
  15. file_put_contents('archivo.xml', $xml);
  16. // O hacer uso de fopen(), fwrite() y fclose()

con algo así, deberías obtener un 'archivo.xml' con el siguiente contenido:
Código xml:
Ver original
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <informacion>
  3.     <dato>
  4.         Información proveniente de un formulario
  5.     </dato>
  6. </informacion>

lo cual es un XML válido...

La situación se podría complicar de acuerdo al esquema del XML que quieras crear; atributos, secciones CDATA, uso de caracteres especiales, edición "al vuelo" de la información creando nodos, modificándolos o agregándolos, etc, etc, etc. Es entonces que quizá querrás usar alguna de las extensiones de PHP para el tratamiento de XML (al menos sí querrás usar SimpleXML para su lectura).

Como dije, tu "problema" es más con el lenguaje que vayas a utilizar (PHP, en tu caso) y el cómo vayas a manejar esa información. XML es simple y más para lo que lo quieres: un uso particular tuyo.

Espero haberme explicado. Un saludo
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 15/12/2008, 17:45
Avatar de franblack  
Fecha de Ingreso: noviembre-2008
Ubicación: Caracas
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Crear archivo xml a partir de un formulario

Agradecido nuevamente con tu respuesta Jam1138

Gracias por el ejemplo, me referiria a el como "basico" y no como lo has etiquetado, pues para mi es bastante bueno, y tomando tu ejemplo como referencia desde alli buscaria mucha mas informacion.

Aunque me he caido a golpes con php y mysql a nivel basico, pienso que ya puedo hacer bastante con lo poco que se.

Ok!,

Para que quizas me puedas ayudar, si esta en tus posibilidades, te cuento de que se trata el proyecto en el que ando.

A traves de un formulario o de varios formularios html, crear un archivo PDF.

la informacion de los formularios iria desde:

1ero. nombre de la compañia, direccion, codigo interno, telefono, fax ( etc )

2do. producto, direccion de despacho, telefono, nombre de persona de contacto.


Digamos que en el caso del 1er formulario, toda la informacion es mostrada o anexada al archivo TXT o XML que voy creando desde la base de datos.

Mi problema o estoy en 2 cosas:

1) En el caso de mi 2do formulario, cuando son varios productos y son varias las direcciones de despacho de un mismo cliente, necesitaria crear un array para almacenarlas luego en el archivo de texto.

2) Quisiera mostrar en un campo de texto que sera anexado al final del formulario los array que voy obteniendo y que esos mismo "array" yo los pueda recuperar e insertarlos en el formulario para poder editarlos nuevamente.

Es decir si el cliente, quiere modificar el destino o la direccion de entrega de un equipo tenga la opcion de que al hacer "click" sobre el "array" le vuelva a cargar la informacion en el formulario y la pueda editar.

Por alli lei que con PHP y XML era mucho mas facil realizar este tipo de procedimientos. (procesar formularios online ) y he estado buscando informacion sobre esto, para saber si se me hace mas facil terminar mi proyecto

ejem:

Form de direccion/despacho
---------------
Producto 1:
Producto 2:
Producto 3:
Producto 4:
Producto 5:
Direccion de despacho:
Persona que recibe:
Telefono:
-----------------
(AGREGAR) (CREAR FORMULARIO)
----------------
1era direccion ( Creado cuando da click en agregar ) ( boton de Editar ) ( Borrar )
-----------------
2da direcccion ( Creado cuando da click en agregar ) ( boton de Editar ) ( Borrar )
------------------
3era direccion ( Creado cuando da click en agregar )( boton de Editar ) ( Borrar )
-----------------

Cada vez que doy click en agregar crear un campo con el array del formulario que puede ser accesado y cargado en el formulario haciendo click sobre el link que en este caso seria ( 1era direc ) ( 2da direc ) ( 3era direc ).

Al momento de ( crear formulario ) toda la info obtenida pasarla a la libreria fpdf para crear archivo PDF.

Agradezco enorme tu aporte y tu tiempo en responderme mis dudas, gracias de verdad.

Agradeceria tambien en lo posible pudieras agregar alguna otra idea de como hacer posible la opcion de guardar array y devolverlo. en fin como realizar ese proceso.

Pense en XML por una funcion onload que vi por alli. pero si sabes como podria lograrlo agradeceria nuevamente tu aporte.

Gracias,
  #6 (permalink)  
Antiguo 16/12/2008, 11:36
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: Crear archivo xml a partir de un formulario

Primero, muevo tu mensaje al foro de PHP; poco o nada tuvo que ver con XML y expandiste tu tema ("cambiaste de problema") en donde XML no es el tema.

Cita:
Iniciado por franblack Ver Mensaje
Pense en XML por una funcion onload que vi por alli. pero si sabes como podria lograrlo agradeceria nuevamente tu aporte.
¡Error!. O no haz entendido lo que es/hace XML o tu fuente de información no es de confianza.
XML, como tal, no tiene "funciones". Te estarás refiriendo al atributo "onload" de la etiqueta HTML "<body>"... nada que ver con XML.

Cita:
Iniciado por franblack Ver Mensaje
A traves de un formulario o de varios formularios html, crear un archivo PDF.
[...]
Digamos que en el caso del 1er formulario, toda la informacion es mostrada o anexada al archivo TXT o XML que voy creando desde la base de datos.
Mencionas recibes un formulario, pero creas un archivo desde una base de datos ... estarás errado en los conceptos. Por lo poco que ten entendí, mucho de eso es innecesario ... pero la lógica de tu aplicación es tu asunto.

Cita:
Iniciado por franblack Ver Mensaje
1) En el caso de mi 2do formulario, cuando son varios productos y son varias las direcciones de despacho de un mismo cliente, necesitaria crear un array para almacenarlas luego en el archivo de texto.
Y aquí la pregunta, ¿crear el archivo para qué?

Cita:
Iniciado por franblack Ver Mensaje
Es decir si el cliente, quiere modificar el destino o la direccion de entrega de un equipo tenga la opcion de que al hacer "click" sobre el "array" le vuelva a cargar la informacion en el formulario y la pueda editar.
¿"click sobre el array"? ... si separas las cosas se entendería mejor, si en verdad quisiste decir eso, aclara los conceptos primero. Si tienes problemas con código, muéstralo (que sea claro).

Nuevamente, por lo poco que alcanzo a entender, ¿qué no te sirven las sesiones para eso?.
Manejando sesiones podrás conservar de manera temporal información asociada a un cliente (cliente dentro de la relación "cliente <-> servidor"), en tu caso, conservar de manera temporal la información de los formularios, recuperarla cuando sea necesario, cambiar sus valores y, al final, crear con ella el archivo PDF a ser impreso, o guardar la información en una base de datos o lo que necesites. Mas o menos el comportamiento de un carrito de compra.

Cita:
Iniciado por franblack Ver Mensaje
Por alli lei que con PHP y XML era mucho mas facil realizar este tipo de procedimientos. (procesar formularios online ) y he estado buscando informacion sobre esto, para saber si se me hace mas facil terminar mi proyecto
Definitivamente tu fuente de información no es nada confiable. XML no procesa formularios, eso se hace en el servidor, con un lenguaje de programación como PHP.
Quizá de lo que leíste fue acerca de XForms, que es una manera de describir formularios mediante XML, pero esto no te debe de ocuparte si ni siquiera tienes los conceptos claros. Lo que dije inicialmente, tu problema no es XML, es el lenguaje de programación que recibirá y procesará los formularios (PHP).

Un saludo.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 16/12/2008, 17:38
Avatar de franblack  
Fecha de Ingreso: noviembre-2008
Ubicación: Caracas
Mensajes: 25
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Crear archivo xml a partir de un formulario

gracias Jam1138!

me has aclarado muchas cosas, por ejemplo, lo de sesiones, para empezar.

y si, creo que no me supe explicar bien, por ejemplo, en la parte de "click sobre arrays". quizas yo solo me entendi. pero te aseguro que se de que estoy hablando

voy a indagar sobre sesiones.

y Jamm1138, se que con php y mysql se pueden trabajar bien con base de datos.

Y no me hice entender .

Voy al grano, basicamente lo que quisiera es desarrollar y adaptar la aplicacion que posee la union europea para la elaboración del curriculum europeo "cv europass" para que en mi aplicacion de igual manera que la del europass la información recibida de los formularios pueda ser presentada o sea impresa en un archivo pdf. ( pero se que ese tema de impresion es otro tema. )

Basicamente pienso desarrollar y "mejorar" con PHP y MYSQL. es decir , mostrar la información de ciertos campos del formulario tomando la data desde la base de datos. Y si creo q a la final me entendistes, una aplicacion estilo carrito de compra .

Lo de XML es porque la misma aplicacion del cv europass pues te permite salvar el cv en formato XML + PDF y "crei-pense" que de alguna manera que ese anexo de XML tiene que ver con los <tag> que "contiene" el archivo final. y que a momento de subirlo para re-editarlo utiliza esos mismos <tag> para cargar la informacion en los campos correspondientes.

Jam1138, Agradezco enorme tu ayuda, tus comentarios y aclaraciones. espero yo durante la elaboracion del proyecto poder aportar a traves del foro en el esclarecimiento de dudas y colaborar con otras personas que puedan tener las mismas dudas. Y una vez culminado, poder tener un espacio para publicarlo.

Ahora si espero haberme explicado, aunque aun sin codigo, de lo que procuro realizar.

Si tienes algun comentario, idea, sugerencia de lo comentado arriba, de antemano muchas gracias.

MIL GRACIAS!
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:11.