Foros del Web » Programando para Internet » PHP »

variables pasadas de xml y $_POST

Estas en el tema de variables pasadas de xml y $_POST en el foro de PHP en Foros del Web. Buenas! Estoy organizando la información y campos en archivos XML... En este caso concreto hablo del apartado de contacto con su formulario. En el XML ...
  #1 (permalink)  
Antiguo 31/05/2010, 05:24
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 5 meses
Puntos: 11
variables pasadas de xml y $_POST

Buenas!

Estoy organizando la información y campos en archivos XML...
En este caso concreto hablo del apartado de contacto con su formulario.

En el XML esta es una parte:

Código HTML:
<wrapper>
	<contact published="yes">
             <form>
			<fields>
				<input type="text" size='35' class="inputbox"/>
				<data><![CDATA[ <p>Nombre*</p> ]]></data>
				<name required='yes'><![CDATA[name]]></name>
				<data><![CDATA[ <p>Apellidos</p> ]]></data>
				<name required='no'><![CDATA[ lastname ]]></name>
				<data><![CDATA[ <p>E-mail*</p> ]]></data>
				<name required='yes'><![CDATA[ email ]]></name>
				<data><![CDATA[ <p>Tel&eacute;fono</p> ]]></data>
				<name required='no'><![CDATA[ telephone ]]></name>
			</fields>
			<fields>
				<input type="text" cols='35' rows='6' class="textarea" />
				<data><![CDATA[ <p>Consulta</p> ]]></data>
				<name><![CDATA[ comment ]]></name>
			</fields>
                  </form>
            </contact>
</wrapper> 
Donde la etiqueta name , son los "name" de los campos del formulario.

Mediante un script PHP, querria hacer lo siguiente: (utilizo simpleXML)

Código PHP:
echo $_POST[$xml->contact->form->fields[0]->name[0]]; 
Que vendria a ser lo mismo o esa es la intencion que llevo de
Código PHP:
 $_POST['name'
Pero me salta el siguiente error:
Illegal offset type in G:\Trabajo\Web\www\pruebasxml\components\com_conta ct\templates\template_1\template.php on line 72

Hay alguna forma de poder hacer lo que quiero?

Muchas gracias por adelantado :)

Última edición por shilen79; 31/05/2010 a las 05:42
  #2 (permalink)  
Antiguo 31/05/2010, 05:40
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: variables pasadas de xml y $_POST

Hola
Bueno, y que recibes en $_POST ? el xml completo?
Yo acabe de hacer esta prueba, donde ojo.xml es copia del xml que publicaste cerrando el tag form como única modificación
Código PHP:
Ver original
  1. $xml = simplexml_load_file("ojo.xml");
  2. echo $xml->contact->form->fields[0]->name[0]; //muestra name

Espero te sirva o de alguna idea
saludos
  #3 (permalink)  
Antiguo 31/05/2010, 05:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: variables pasadas de xml y $_POST

Las llaves asociativas deben estar encerradas entre comillas. Algo así
Código PHP:
Ver original
  1. <?php
  2. $xml = '<wrapper>
  3.     <contact published="yes">
  4.             <form>
  5.                 <fields>
  6.                     <input type="text" size="35" class="inputbox" />
  7.                     <data><![CDATA[ <p>Nombre*</p> ]]></data>
  8.                     <name required="yes"><![CDATA[name]]></name>
  9.                     <data><![CDATA[ <p>Apellidos</p> ]]></data>
  10.                     <name required="no"><![CDATA[ lastname ]]></name>
  11.                     <data><![CDATA[ <p>E-mail*</p> ]]></data>
  12.                     <name required="yes"><![CDATA[ email ]]></name>
  13.                     <data><![CDATA[ <p>Tel&eacute;fono</p> ]]></data>
  14.                     <name required="no"><![CDATA[ telephone ]]></name>
  15.                 </fields>
  16.                 <fields>
  17.                     <input type="text" cols="35" rows="6" class="textarea" />
  18.                     <data><![CDATA[ <p>Consulta</p> ]]></data>
  19.                     <name><![CDATA[ comment ]]></name>
  20.                 </fields>
  21.             </form>
  22.     </contact>
  23. </wrapper>';
  24. $x = new SimpleXMLElement($xml);
  25. $var = $x->contact->form->fields[0]->name[0];
  26. echo $_POST["$var"];
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 31/05/2010, 05:49
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 5 meses
Puntos: 11
Respuesta: variables pasadas de xml y $_POST

Muchisimas gracias por las respuestas tan rápida y la solución que me aporta abimaelrc es la que necesitaba , muchas gracias .

Eso es lo que hice en un principio pero con :

Código PHP:
$_POST["$xml->contact->form->fields[0]->name[0]"
Pero me marcaba tambien un warning o un error o no me lo mostraba no recuerdo jeje, y ya mirando como pasar variables al $_POST leia que sin las comillas... y ya me quede encerrado jeje .

Muchisimas gracias :D

Etiquetas: post, variables, xml
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 00:53.