Ver Mensaje Individual
  #19 (permalink)  
Antiguo 31/03/2011, 04:00
nmontiu
 
Fecha de Ingreso: marzo-2011
Mensajes: 20
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Como obtener una variable en PHP

Algo se me escapa.

He hecho estas dos pruebas...
Posteo el codigo y asi nos entenderemos mejor.

Fichero muestraEntreno.php
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Mis entrenamientos</title>
</head>


<link rel="stylesheet" type="text/css" href="http://www.miWeb.com/test/login/members/css/entrenamiento.css" />
<script type="text/javascript" src="../prototype/prototype.js"></script>
<script type="text/javascript" src="../garmin/device/GarminDeviceDisplay.js"></script>
<script type="text/javascript">
      function newAjax()
      {
          var xmlhttp=false;
          try
          {
              // Creación del objeto AJAX para navegadores no IE
              xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch(e)
          {
              try
              {
                  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
              catch(E) { xmlhttp=false; }
          }
          if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
          return xmlhttp;
      }

</script>

<script type="text/javascript">	
	
	function nombreFuncion(valor1){
          var ajaxData=newAjax();
          ajaxData.open("POST", 'creaXML.php', true);
          ajaxData.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          ajaxData.send("atributo1="+valor1);
       
          ajaxData.onreadystatechange=function()
          {
              if (ajaxData.readyState==4)
              {
			  	alert("que bonito si funcionara....");
                alert(ajaxData.responseText);
              }
          }
     }
	  
	function load() {
	    var display = new Garmin.DeviceDisplay("garminDisplay", 
		{ 
			 pathKeyPairsArray: ["http://www.miWeb.com","c8a0e6942253c7f0222bdcaa24ef0409"],
			showReadDataElement: true,
			showProgressBar: false,
			showFindDevicesElement: true,
			showFindDevicesButton: false,
			showDeviceButtonsOnLoad: false,
			showDeviceButtonsOnFound: false,
			autoFindDevices: true,
			showDeviceSelectOnLoad: true,
			autoHideUnusedElements: true,
			showReadDataTypesSelect: false,
			readDataType: Garmin.DeviceControl.FILE_TYPES.tcxDir,
			deviceSelectLabel: "Selecciona dispositivo <br/>",
			readDataButtonText:			"Listado de entrenamientos",
			showCancelReadDataButton:		false,
			lookingForDevices: 'Buscando el dispositivo ... <br/><br/> <img src="../garmin/device/style/ajax-loader.gif"/>',
			uploadsFinished: "Transferencia Completada",
			uploadSelectedActivities: true,
			uploadCompressedData: false,    // Turn on data compression by setting to true.
			uploadMaximum: 5, 
			dataFound: "#{tracks} activities found on device",
			showReadDataElementOnDeviceFound: true,
			
			postActivityHandler: function(activityXml, display) 
			{
				$('activity').innerHTML += activityXml.escapeHTML();
				alert($('activity').innerHTML);
				nombreFuncion($('activity').innerHTML);
			}
		}
		);
		
	}
	
</script>



<body onload="load()">
	<table border="0" cellpadding="4" cellspacing="0" width="100%">
		<tr>
			<td>
				<div id="garminDisplay"></div>
			</td>
		</tr>
		<tr>
			<td>
				 
				 <div id="activity"></div>
				 
			</td>
		</tr>
	</table>
</body>
</html> 
y fichero creaXML.php
Código PHP:
<?php
$text 
$_POST['atributo1'];
echo 
'test';


$file fopen("GPS/entrenamiento.xml""w+");
fwrite($file$text);
fclose($file);

?>

Al ejecutar, he podido ver:
se ha ejecutado esta parte de codigo primero...

Código HTML:
postActivityHandler: function(activityXml, display) 
			{
				$('activity').innerHTML += activityXml.escapeHTML();
				alert($('activity').innerHTML);
				nombreFuncion($('activity').innerHTML);
			}
el alert de aqui muestra el XML
posteriormente accedo a nombreFuncion(....)

en
Código HTML:
function nombreFuncion(valor1){
          var ajaxData=newAjax();
          ajaxData.open("POST", 'creaXML.php', true);
          ajaxData.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          ajaxData.send("atributo1="+valor1);
       
          ajaxData.onreadystatechange=function()
          {
              if (ajaxData.readyState==4)
              {
			  	alert("que bonito si funcionara....");
                alert(ajaxData.responseText);
              }
          }
     }
en esta parte se ha mostrado el que bonito si funcionara..
y el siguiente alert ha mostrado el 'test', osease que la peticion al php llega, pero sin los datos que necesito.

No se cual es la explicacion.