Foros del Web » Programando para Internet » PHP »

Envio de cadenas de un archivo a otro.

Estas en el tema de Envio de cadenas de un archivo a otro. en el foro de PHP en Foros del Web. Hola a todos, Mi problema es el php. Tengo dos ficheros. El fichero A consulta a un metodo java (PHP-JavaBridge) y obtiene una cadena. Esta ...
  #1 (permalink)  
Antiguo 23/09/2011, 09:24
 
Fecha de Ingreso: abril-2011
Mensajes: 23
Antigüedad: 13 años
Puntos: 0
Envio de cadenas de un archivo a otro.

Hola a todos,

Mi problema es el php.

Tengo dos ficheros. El fichero A consulta a un metodo java (PHP-JavaBridge) y obtiene una cadena. Esta cadena me es necesario mandarla a otro fichero .. B.


Pues bien. En Javascript hay un metodo... "location" ... y es lo que venia usando para mandar por el metodo GET cadenas de un archivo a otro.

Pero ahora mismo no consigo hacerlo con este problema...

Os adjunto el archivo A.

Código PHP:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
<script type="text/javascript">
  function load(valor) {  
      
alert(valor);
location.href="/home/~sebastian/public_html/web/puente.php?puenteaereo="+valor;
  
  }
    function probando(evt) 
    {

    
        document.filtro_busqueda.submit();
        return true;
    } 
</script>
    </head>
<body >
        <?php



function php2js ($var) {

    if (
is_array($var)) {
        
$res "[";
        
$array = array();
        foreach (
$var as $a_var) {
            
$array[] = php2js($a_var);
        }
        return 
"[" join(","$array) . "]";
    }
    elseif (
is_bool($var)) {
        return 
$var "true" "false";
    }
    elseif (
is_int($var) || is_integer($var) || is_double($var) || is_float($var)) {
        return 
$var;
    }
    elseif (
is_string($var)) {
        return 
"\"" addslashes(stripslashes($var)) . "\"";
    }

    return 
FALSE;
}


        
        require_once(
"java/Java.inc");  
        
// get instance of Java class java.lang.System in PHP
        
$system = new Java('java.lang.System');

        
// demonstrate property access
        
echo 'Java version=' $system->getProperty('java.version') . '<br/>';
        echo 
'Java vendor=' $system->getProperty('java.vendor') . '<br/>';
        echo 
'OS=' $system->getProperty('os.name') . ' ' .
                     
$system->getProperty('os.version') . ' on ' .
                     
$system->getProperty('os.arch') . ' <br/>';

        
// java.util.Date example
        
$formatter = new Java('java.text.SimpleDateFormat',
                             
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

        echo 
$formatter->format(new Java('java.util.Date'));
        
        echo 
"<br><b>##########################################################</b>";
      
$objeto = new Java("probando.LeerBD");
      
$objeto2 = new Java("grafo_nuevo.Holasebas");
        
         
//Mostrar un string... [uno, dos]
        
echo "<br>".$objeto->lectura();

        
//�ste metodo tir� de Base de datos... es la prueba de fuego.
        //Ha de devolver una cadena indicativa de ruta y dem�s.
//        echo "<br>".$objeto2->getSaludo();
         
$variable "".$objeto2->getSaludo();

$str = new Java("java.lang.String",$variable);

$nuevo $str->toString();
echo 
"".$nuevo;
$cadena strval($nuevo);

//echo $cadena;
         
?><script> alert("<?php echo "Saludo";?>");</script><?
var_dump
($str);
        
?><script> alert("<?php var_dump($cadena);?>");</script><?
        

        ?>




    </body>
</html>
Si os fijais.. es en la ultima línea donde quiero mandar el contenido de la cadena a traves del metodo creado en javascript. pero nada. no funciona.


Si os fijais, el ultimo "alert" no me aparece. no salta el popup ese. Es como si $cadena, no contuviese nada. Pero en cambio si le hago un echo... pues tiene texto.

Alguna solucion????
  #2 (permalink)  
Antiguo 23/09/2011, 09:41
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Envio de cadenas de un archivo a otro.

Buenas,

No se entiende muy bien, creo que tienes un pequeño lío con el PHP, te comento algunas cosas:
1) Lo primero de lo primero es cambiar los tags de apertura de código PHP, tienes <?, cámbialos todos por <?php, porque esto puede acarrearte problemas, los tags cortos no son compatibles con todos los servidores.
2) También tienes un método php2js, que no utilizas nunca. Supongo que este método es para darle formato de JS a las variables de PHP, pero no lo utilizas en el código PHP para nada.
3) Cuando dices que si le haces un echo a la cadena sí contiene texto, te refieres a esta línea?
Código PHP:
Ver original
  1. echo "".$nuevo;
Si te fijas, luego no es $nuevo lo que imprimes, sino $cadena:
Código PHP:
Ver original
  1. <script> alert("<?php var_dump($cadena);?>");</script>
Luego, no significa nada que el echo sí salga bien, cuando luego lo que imprimes es otra cosa.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 23/09/2011, 09:48
 
Fecha de Ingreso: abril-2011
Mensajes: 23
Antigüedad: 13 años
Puntos: 0
Respuesta: Envio de cadenas de un archivo a otro.

Cita:
Iniciado por vgonga1986 Ver Mensaje
Buenas,

No se entiende muy bien, creo que tienes un pequeño lío con el PHP, te comento algunas cosas:
1) Lo primero de lo primero es cambiar los tags de apertura de código PHP, tienes <?, cámbialos todos por <?php, porque esto puede acarrearte problemas, los tags cortos no son compatibles con todos los servidores.
2) También tienes un método php2js, que no utilizas nunca. Supongo que este método es para darle formato de JS a las variables de PHP, pero no lo utilizas en el código PHP para nada.
3) Cuando dices que si le haces un echo a la cadena sí contiene texto, te refieres a esta línea?
Código PHP:
Ver original
  1. echo "".$nuevo;
Si te fijas, luego no es $nuevo lo que imprimes, sino $cadena:
Código PHP:
Ver original
  1. <script> alert("<?php var_dump($cadena);?>");</script>
Luego, no significa nada que el echo sí salga bien, cuando luego lo que imprimes es otra cosa.

Un saludo.
Hola y gracias por responder.

A ver. Unicamente me gustaria mandar haciendo uso del "load"...

Código PHP:
$variable "".$objeto2->getSaludo(); 

Esa variable he de pasarla al load y de ahi pues que la redirija donde quiera...
olvida el resto, ya que es un fichero de pruebas.

Es decir... si yo hago esto.

Cita:
?><script> load("<?php echo "Hola";?>");</script><?
Le estare mandando la cadena hola al metodo javascript "load" y este pues lo redirigira y punto.

pero lo que me interesa es mandar el contenido de $variable. Pero no parece hacer nada cuando lo meto ahi

Cita:
?><script> load("<?php echo " ".$variable;?>");</script><?
he probado de todo ya.

no se si lo ves.
  #4 (permalink)  
Antiguo 23/09/2011, 10:04
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Envio de cadenas de un archivo a otro.

Bueno, creo que estás intentando rizar el rizo.

Está bien que hagas cosas conjuntas con PHP y con JS, pero creo que para lo que quieres hacer no necesitas JS para nada. Si lo que quieres es hacer una redirección, tienes métodos de PHP para hacerla:
Código PHP:
Ver original
  1. header('location: pagina_destino.php');

Y si quieres hacer esto pasando una cadena en un parámetro, también tienes formas, puedes pasarlo por $_GET o por $_SESSION.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 23/09/2011, 10:14
 
Fecha de Ingreso: abril-2011
Mensajes: 23
Antigüedad: 13 años
Puntos: 0
Respuesta: Envio de cadenas de un archivo a otro.

Cierto!, es justo lo que necesito

Pero claro... para mandar cualquier variable... ha de ser por GET.

concatenando con ? ..etc.

Pero, sabrias como hacerlo por POST???????

por $session?????????????????????????????????????????? ????????


Un saludo y gracias por las respuestas!!!
  #6 (permalink)  
Antiguo 23/09/2011, 10:25
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: Envio de cadenas de un archivo a otro.

Bueno por SESSION es facil, al principio de tu archivo debes colocar

Código:
<?php session_start(); ?>
y luego capturas lo que quieras dentro de una variable SESSION asi:

Código:
$_SESSION["Rut"] = $_POST["turut"];
$_SESSION["Nombrex"] = $variable;
luego siempre que quieras recurrir a tus variables de SESSION en algun archivo siempre debes colocar al principio de tu pagina

Código:
<?php session_start(); ?>
y llamarlo como lo habias identificado en un principio, por ejemplo imprimirlo

Código:
echo $_SESSION["Rut"];
Saludos y suerte!!!
  #7 (permalink)  
Antiguo 23/09/2011, 10:32
 
Fecha de Ingreso: abril-2011
Mensajes: 23
Antigüedad: 13 años
Puntos: 0
Respuesta: Envio de cadenas de un archivo a otro.

Ok, si si.

Por session lo hago, pero misteriorisamente solo se "transporta" solo detecta el GET.


Código PHP:
<?php

session_start
();


$valor"";
if(
$_SERVER['REQUEST_METHOD']=='POST')
{
    if(isset(
$_POST['puente_aereo']))
    {
        
$valor $_POST['puente_aereo'];
        
        
        echo 
"<br>El valor capturado por el puente aereo es: ".$valor;
        
    }
}
else if(
$_SERVER['REQUEST_METHOD']=='GET')
{
    echo 
"Es un GET: ";

        if(isset(
$_SESSION["empaquetado"]))
        {
            echo 
"He aqui el valor buscado: ".$_SESSION["empaquetado"];
        }
else
{
   echo 
"El valor get es: ".$_GET["puenteaereo"];
}
}
else
{
    echo 
"<br>No se ha mandado nada por el puente aereo!!";
}





?>



Entonces... nicamente me muestra la variable puente aereo... pero yo quiero que me muestre el valor de session, ya que con el get pierde caracteres por el camino o que se yo.
  #8 (permalink)  
Antiguo 23/09/2011, 11:48
Avatar de lalooo  
Fecha de Ingreso: agosto-2011
Mensajes: 12
Antigüedad: 12 años, 8 meses
Puntos: 4
Respuesta: Envio de cadenas de un archivo a otro.

Como es que estas iniciando tus variables de sesión??

Etiquetas: cadenas, variables
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 12:42.