Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Cambiar valor de variable php

Estas en el tema de Cambiar valor de variable php en el foro de Frameworks JS en Foros del Web. Hola a todos y todas: Todo el mundo me dice que este es un caso típico de AJAX (Hasta ayer no sabía de su existencia) ...
  #1 (permalink)  
Antiguo 27/04/2011, 08:06
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 14 años, 2 meses
Puntos: 4
Cambiar valor de variable php

Hola a todos y todas:

Todo el mundo me dice que este es un caso típico de AJAX (Hasta ayer no sabía de su existencia).
Lo que deseo es cambiar el valor de una variable ($boton) en función del enlace que se pinche con el ratón.
Llevo dándole un monton de vueltas al tema pero no he sido capaz de encontrar la solución. Por si alguno/a puede hecharme una mano con el asunto aquí el código origen de mis desgracias...

Código PHP:
<td ><div id="Menu_derecha"><a href="#" onclick="$boton='boton1';">BOTON1</a></div></td> 
                        <td ><div id="Menu_derecha"><a href="#" onclick="$boton='boton2';">BOTON2</a></div></td> 
                        <td ><div id="Menu_derecha"><a href="#" onclick="$boton='boton3';">BOTON3</a></div></td> 
                 
                <?php 
                    $boton
='$boton';         
                    echo 
"boton = $boton";
Si alguien puede darme la solución completa mejor (en estos instantes mis conocimientosde AJAX son todavía menores que los de PHP)

Muchas gracias por adelantado,
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #2 (permalink)  
Antiguo 27/04/2011, 08:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Cambiar valor de variable php

ajax es mas sencillo de lo que crees, en menos de media hora aprendes el concepto: http://librosweb.es/ajax/index.html (capítulo 7)
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 27/04/2011, 08:54
 
Fecha de Ingreso: julio-2009
Ubicación: Tuxtla Gtz
Mensajes: 3
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Cambiar valor de variable php

a caray, no le entendí mucho, pero me parece que te estas equivocando en los conceptos.

El javascript (tu onclick) se ejecuta en el navegador cliente, y tu codigo php en el servidor, nunca vas a poder hacer lo que estas tratando de hacer, que al click cambie una variable de php, lo que debes hacer es totalmente diferente, te recomiendo primero entiendas bien como puedes comunicarte desde el html o javascript a tus script de php.

Espero no ofender, pero esa es mi recomendación.

Saludos
  #4 (permalink)  
Antiguo 27/04/2011, 10:20
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 14 años, 2 meses
Puntos: 4
Respuesta: Cambiar valor de variable php

Hola Ramonlab:

No te preocupes. No ofendes. Varios compañeros del foro me han dicho cosas parecidas (incluido lo de Javascript/cliente PHP/servidor y su falta de comunicación).
Sin embargo, nadie me dice como solucionarlo. Todo el mundo me habla de AJAX como la solución, pero nadie me dice la solución.
Obviamente, deberé aprender AJAX (Además de HTML, CSS, Jvascript, SQL y PHP) pero mnientras esto sucede (...que sucederá) necesito que un alma caritativa se ponga en mi lugar y me indique el código de AJAX que resuelve el problema.

Muchas gracias por el diagnóstico
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #5 (permalink)  
Antiguo 27/04/2011, 20:22
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: Cambiar valor de variable php

Exactamente que quieres hacer con el tema de los botones?
Aca te dejo un ejemplo: http://cesarv.com/ajax/ pues si te sirve.


Los cosigo:

index.html
Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplo</title>
  3.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  4.         <script>
  5.         $(function(){
  6.             $(".button").click(function(){
  7.                 $('#resultado').html("Cargando...");
  8.                 var valor=$(this).attr("rel");
  9.                 $.ajax({
  10.                   url: 'ajax.php',
  11.                   data: 'boton='+valor,
  12.                   type: 'POST',
  13.                   success: function(data){
  14.                     $('#resultado').html(data);
  15.                   }
  16.                 });
  17.             });
  18.         });
  19.     </script>
  20. </head>
  21.  <a href="#" rel="1" class="button">BOTON 1</a><br />
  22.  <a href="#" rel="2" class="button">BOTON 2</a><br />
  23.  <a href="#" rel="3" class="button">BOTON 3</a><br />
  24.  
  25.  <div id="resultado">ACA IMPRIMO</div>
  26.  
  27. </body>
  28. </html>


ajax.php
Código PHP:
Ver original
  1. <?
  2.      $boton=$_POST["boton"];          
  3.      echo "boton = $boton";
  4. ?>
  #6 (permalink)  
Antiguo 27/04/2011, 22:52
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 14 años, 2 meses
Puntos: 4
Respuesta: Cambiar valor de variable php

Hola Chicohot:

Muchas gracias por el código creo que es lo que necesito.
Una pregunta más ¿Es posible con AJAX hacer referencia al código que tienes en "ajax.php" dentro de la misma página "index.html"? ¿Pueden estar los dos códigos en la misma página?
Lo que quiero hacer con el botón es operar sobre un Switch de manera que al cambiar el valor de la variable ejecute sentencias diferentes.
Cuando lo tenga resuelto postearé el código completo por si le sirve a alguien.

Muchas gracias de nuevo
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #7 (permalink)  
Antiguo 29/04/2011, 02:29
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 14 años, 2 meses
Puntos: 4
Respuesta: Cambiar valor de variable php

Hola:

Lo prometido es deuda. El código de Chicohot es completamente funcional. Yo personalmente lo he utilizado para un menu de botones que actualiza el contenido de un DIV.
He dividido el código en tres partes.
La primera parte contiene la función AJAX y la he puesto mediante un include en el head de la Página Inicial como indica.
Aquí el código:
Código:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
   <script>
	   $(function(){
		   $(".button").click(function(){
			   $('#resultado').html("Cargando...");
			   var valor=$(this).attr("rel");
			   $.ajax({
			   url: 'botones.php',
			   data: 'boton='+valor,
			   type: 'POST',
			   success: function(data){
				   $('#contenido').html(data);
				   }
			   });
		   });
	   });
   </script>
Esta función contiene una ¿variable? llamada Data que es actualizada por la segunda parte del código:

Código HTML:
<ul>
	<li><a href="#" rel="1" class="button">Boton1</a><br /></li> 
	<li><a href="#" rel="2" class="button">Boton2</a><br /></li> 
	<li><a href="#" rel="3" class="button">Boton3</a><br /></li>  
</ul> 
Todo ello cambia el valor de una variable llamada Boton del fichero "Botones.php" cuyo código es:

Código PHP:
<?php session_start ();
    
$boton=$_POST['boton'];               
    
//echo "boton = $boton"; 
    
    //Cambio el contenido del DIV con los botones del menu
                                                 
                            
switch ($boton){ 
                                case 
"1":
                                    include (
"contenido1.php"); 
                                break;
                                case 
"2":
                                    include (
"copntenido2.php"); 
                                break; 
                                case 
"3":
                                    include (
"contenido3.php"); 
                                break; 
                                default:
                                    include (
"contenido1.php"); 
                            }
                     
    
?>
Y que contiene un Switch que cambia en la Página Inicial el contenido del DIV "Contenido" que se indica en la función en la línea "success: function(data){ $('#contenido').html(data); }" y que contiene un include por defecto para presentar inicialmente un contenido de base:

Código PHP:
<div id="contenido"> 
                        <!--Contenido del PERFIL--> 
                                
                    <?php
                                            
                        
include ("contenido1.php"); 
                        
                             
?> 
                                                
                    </div>
Espero que le sea útil a alguien. Un saludo y gracias por la ayuda recibida.
Doy el post por cerrado
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)

Etiquetas: ajax, php, 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 15:31.