Foros del Web » Programando para Internet » Javascript »

No reconoce valor de "confirm" en PHP

Estas en el tema de No reconoce valor de "confirm" en PHP en el foro de Javascript en Foros del Web. Hola a todos, Estoy intentando aprender un poquito de javascript. Para empezar me pongo el siguiente ejemplo: Código PHP:   <?php $variable_php = "Mi Mensaje" ; ?> ...
  #1 (permalink)  
Antiguo 01/04/2012, 05:47
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
No reconoce valor de "confirm" en PHP

Hola a todos,

Estoy intentando aprender un poquito de javascript. Para empezar me pongo el siguiente ejemplo:

Código PHP:

 <?php $variable_php="Mi Mensaje";?>
   <script  language=Javascript>
        
          var var_js =confirm('<?php echo $variable_php ?>' );
    
    </script>
                    
    <?php
                
    $var1
="<script language=Javascript> document.write(var_js)</script>";
                
    
//Se recurpera correctamente el valor del "confirm" (true o false)
                
echo $var1;
                
       
               
//sin embargo, parece que este if no reconoce el valor "true" del confirm.
               
if ($var1=='true') {
            echo 
"ACEPTAR";
            }else {
            echo 
"CANCELAR";
            }
     
?>
Resulta que, aparentemente, se recupera el valor del "confirm" dentro de la variable $var1, sin embargo, dentro del IF de PHP el valor del "confirm" no se detecta. Parece como si, a pesar de haber recogido el valor, "internamete", $var1 tenga un valor distinto.

LLevo 5 horas...y nada?

Alguien sabe que pude ser?

Gracias a todos!
  #2 (permalink)  
Antiguo 01/04/2012, 07:24
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: No reconoce valor de "confirm" en PHP

¡buenas!
¡estás bien desorientado! primero se ejecuta php porque este es de lado servidor. el servidor no entiende nada de javascript, por tanto no lo procesa o más bien lo ve como un texto normal. luego que todo el código php se interpreta, se le devuelve el documento al navegador. si el navegador tiene el interprete javascript y está activo, entonces se interpreta el código javascript en el lado cliente. no hay forma directa de que puedas conectar ambos lenguajes para que se entiendan entre si. me refiero, que el uno reconozca el proceso del otro.

$var1 no contiene el boolean de la respuesta del confirm. $var1 lo que contiene es el string del código html. la condición siempre va ser falso porque el string nunca será igual al string "true".
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 01/04/2012, 10:13
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: No reconoce valor de "confirm" en PHP

Muchas gracias por tu respuesta zarokilled!!

Pero lo que no entiendo, es que cuando imprimo por pantalla $var1 (linea "echo $var1") estando en PHP, según haya contestado yo al confirm "aceptar" o "cancelar", efectivamente imprime "true" o "false"...o sea, que de alguna forma, el string que contenido en $var1 es diferentre, por qué no puedo detectar esa difrerencia con el IF?
  #4 (permalink)  
Antiguo 01/04/2012, 10:58
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: No reconoce valor de "confirm" en PHP

¡no no! no es ni true ni false. si fuera true o false, entonces en el código fuente que recibe el navegador deberías ver algo como lo siguiente.

Código:
   <script  language=Javascript> 
         
          var var_js =confirm('Mi Mensaje' ); 
     
    </script> 
                     
true o false Aceptar o Cancelar 
actualmente lo que estas viendo en el código fuente del navegador es esto.
Código:
   <script  language=Javascript> 
         
          var var_js =confirm('Mi Mensaje' );
     
    </script> 
                     
<script language=Javascript> document.write(var_js)</script> 
y como ves, cuando respondes al confirm (aceptar o cancelar), luego javascript escribe el resultado de la variable en pantalla. o sea, no es php quien esta escribiendo el resultado en pantalla. ¡coteja el código html que recibe el navegador! y para hacerlo más fácil, al final de tu script php, imprime la variable $var1 pasandola por la función htmlentities y vas a ver que en lugar de imprimir true o false, imprime el codigo html.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 01/04/2012 a las 11:51
  #5 (permalink)  
Antiguo 03/04/2012, 01:04
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: No reconoce valor de "confirm" en PHP

Muchas gracias por tu ayuda otra vez.

Sigo sin ver una cosa...

pero la linea "echo $var1" y la variable "$var1" es de PHP, no? Cuando hago el "echo" de PHP se muestran true o false, según haya yo contestado ACEPTAR o CANCELAR..

Gracias!
  #6 (permalink)  
Antiguo 03/04/2012, 06:17
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: No reconoce valor de "confirm" en PHP

¿ya vistes el código fuente desde el navegador tal como te indiqué? botón derecho del ratón, opción ver código fuente. ¿qué ves? ¿pasastes la variable $var1 por la función htmlentities antes de imprimir en pantalla? ¿qué muestra el navegador?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 04/04/2012, 02:45
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: No reconoce valor de "confirm" en PHP

Muchisimas gracias ...al hacer las pruebas que comentas..entiendo lo que me dices.

Al pulsar en "Aceptar", por pantalla veo: "true CANCELAR", sin embargo si hago botón derecho->ver codigo, veo:


Código PHP:
<body>
  
  <
script  language=Javascript>
        
    var 
var_js =confirm('Mi Mensaje' );
                    
    
</script>
                    
    <script language=Javascript> document.write(var_js)</script> CANCELAR  
    
</body> 
...y si en lugar de "echo $var1", hago "echo htmlentities($var1)", por pantalla veo:

Código PHP:
<script language=Javascriptdocument.write(var_js)</script> CANCELAR 
es decir, ni rastro del "true"....entonces... como puedo capturar la respuesta del "Confirm".?
  #8 (permalink)  
Antiguo 04/04/2012, 06:41
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: No reconoce valor de "confirm" en PHP

tienes que enviarle la respuesta al servidor. puede ser direccionando a una url o con ajax, pero en ambos casos enviando un parámetro por url. se me ocurre que también se puede hacer con cookies pero creo que sería más complejo. en todo caso, de alguna forma tienes que enviarselo al servidor.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 04/04/2012, 13:21
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: No reconoce valor de "confirm" en PHP

Entendido, me pongo a ello.

Muchas gracias otra vez por tu ayuda.

Etiquetas: confirm, js, php, reconoce
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 13:17.