Foros del Web » Programando para Internet » PHP »

php_self

Estas en el tema de php_self en el foro de PHP en Foros del Web. hola... como puedo recuperar las variables depues de enviar un formulario con php_self ... he inetntado hasta con variables de sesion pero ni me funciona... ...
  #1 (permalink)  
Antiguo 30/04/2010, 08:33
 
Fecha de Ingreso: abril-2010
Mensajes: 56
Antigüedad: 14 años
Puntos: 0
php_self

hola...
como puedo recuperar las variables depues de enviar un formulario con php_self ... he inetntado hasta con variables de sesion pero ni me funciona... como peudo hacerlo?

igual intente como cuando uno envia a oro formulario y envia la variables "prueba.php?variable=$var..." pero ahi si que menos
yo crei q con las variables de seion funcionaria pero el problema es que como se pierde la variable..
hice algo como $_SESSION["var"] = $var;
pero ese $var es el que peirde el valor etonces me imagino al re cargar la pagina vuelve y hace $_SESSION["var"] = $var; con el nuevo valor de var que ya e svacio no se eso imagino

ojala puedan ayudarme

gracias

Última edición por chechi123; 30/04/2010 a las 08:45
  #2 (permalink)  
Antiguo 30/04/2010, 08:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: php_self

¿Qué es lo que haz tratado, puedes postear lo que haz hecho?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 30/04/2010, 08:47
Avatar de EUSKARA  
Fecha de Ingreso: marzo-2010
Mensajes: 76
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: php_self

Creo que yo ayer solucione eso mira:

antes de el codigo dode envias los datos osea :

Código PHP:
Ver original
  1. <?php
  2. // *** Validate request to login to this site.
  3. if (!isset($_SESSION)) {
  4. }
  5.  
  6. $loginFormAction = $_SERVER['PHP_SELF'];
  7. if (isset($_GET['accesscheck'])) {
  8.   $_SESSION['PrevUrl'] = $_GET['accesscheck'];
  9. }
  10.  
  11.  
  12.  y ....... bla bla bla
  13. ?>

que para mi caso fue un login. yo recate lo que estava en usuario para mostrarlo en otra pag.php entonses lo que hice fue esto:

Código PHP:
Ver original
  1. <?php  
  2. if (isset($_POST['Usuario'])) {
  3. $_SESSION['usu'] = $_POST['Usuario'];
  4. }
  5. ?>
  6. <?php
  7. // *** Validate request to login to this site.
  8. if (!isset($_SESSION)) {
  9. }
  10.  
  11. $loginFormAction = $_SERVER['PHP_SELF'];
  12. if (isset($_GET['accesscheck'])) {
  13.   $_SESSION['PrevUrl'] = $_GET['accesscheck'];
  14. }
  15.  
  16. y bla bla bla
  17. ?>

fijate que al principio puse :
Código PHP:
Ver original
  1. <?php  
  2. if (isset($_POST['Usuario'])) {
  3. $_SESSION['usu'] = $_POST['Usuario'];
  4. }
  5. ?>

donde guardo lo que mando en el $_POST['Usuario']; y me lo guarda en mi secion y en la otra web solo lo mando a iamar como:

Código PHP:
Ver original
  1. <?php echo $_SESSION['usu']; ?>

no se si te sirba de algo mi explicacion jajajaja :P
  #4 (permalink)  
Antiguo 30/04/2010, 09:41
 
Fecha de Ingreso: abril-2010
Mensajes: 56
Antigüedad: 14 años
Puntos: 0
Respuesta: php_self

hola abimaelrc .... lo que estoy haciendo es:
tengo 3 selects.. pero cada uno depende del anterior

en mi base de datos tengo tres tablas : PROCESOS, ACTIVIDADES Y TAREAS
enotnces un proceso tiene una o varias actividades.. y a la vez una actividad tiene una o varias tareas...

entocnes estoy haciendo una consultade las tareas que tengo para eso en el primer select selecciono mi proceso al seleccionar por ejemplo proceso 1 busco en la BD las actividades de este proceso y las carga en el select numero 2 ahora slecciono mi actividad corresponidnete y dependiendo de lo que selccione busca en la BD las tareas de la actividad que selecciono

a manera de ejemplo digamos:
tengo dos proceso :proceso 1 proceso 2
para proceso 1: -> tengo 3 actividades y cada actividad sus tareas
actividad1 -> tarea1
actividad2 -> tarea 1, tarea2
actividad3 -> tarea1

para proceso 2: -> tengo 2 actividades y cada actividad sus tareas
act1 -> ta1, ta2, ta3
act2 -> ta1, ta2

enotnces si en el primer select selecciono proceso2 en el segundo select las opciones seran act1 y act2 y denuevo si selecciono act1 en el 3 select se acrgaran las ocpiones ta1, ta2, ta3 y ahi dependiendo de lo que seleccione busca los datos como nombre responsable etc. etc.

con el codigo que tengo seleciono el proceso y me carga las actividades pero cuando selecciono la actividad se pierden el valor de mis variables "quedan vacias"... enotnces nunca me carga las tareas

voy a mirar bn el codigo de EUSKARA haber si me sale...

mi codigo es:

Código PHP:
//PRIMER SELECT
echo "<form action=\"$PHP_SELF\" method=\"POST\" name=\"form1\"><input type=\"hidden\" name=\"a\" value=\"1\">
 <table width=\"300\"  border=\"7\"  cellpadding=\"6\" align=\"center\" cellpadding=\"0\" class=\"windowbg2\">
     <tr>
     <th width=\"100%\" colspan=\"6\"  bgcolor=\"#5C743D\" scope=\"row\"> <div align=\"center\" class=\"Estilo1 Estilo1\"> <font color=\"white\">SELECCIONE EL PROCESO</font></th>
     </tr> " 
;
     echo 
"<th width=\"64%\" bgcolor=\"#99CC66\" class=\"bginput\"> <select name=\"proceso\" class=\"bginput2\" onChange=\"javascript:Hace();\" >
<option value=$idp>$pn</option>

"
; while($row mysql_fetch_array($result)){

            echo 
" <option value=\" " .$row['idProceso'].  "\">" .$row['nombre']. "</option>";  }
     echo 
"</select></td></th>";
     echo 
"<tr>";
  echo 
"  
</table></form>"
;

  
//sentencia para buscar actividades del proceso seleccionado 
  
$result2 =  mysql_query("SELECT * FROM Actividad where Proceso_idProceso = '$proceso'"$link);

//SEGUNDO SELECT
  
echo "<form action=\"$PHP_SELF\" method=\"POST\" name=\"form2\"><input type=\"hidden\" name=\"a\" value=\"2\">
 <table width=\"300\"  border=\"7\"  cellpadding=\"6\" align=\"center\" cellpadding=\"0\" class=\"windowbg2\">
     <tr>
     <th width=\"100%\" colspan=\"6\"  bgcolor=\"#5C743D\" scope=\"row\"> <div align=\"center\" class=\"Estilo1 Estilo1\"> <font color=\"white\">SELECCIONE ACTIVIDAD</font></th>
     </tr> " 
;
     echo 
"<th width=\"64%\" bgcolor=\"#99CC66\" class=\"bginput\"> <select name=\"actividad\" class=\"bginput2\" onChange=\"javascript:Hace2();\" >
<option value=$idpd>$pdn</option>

"
; while($row mysql_fetch_array($result2)){

            echo 
" <option value=\" " .$row['idActividad'].  "\">" .$row['nombre']. "</option>";  }
     echo 
"</select></td></th>";
     echo 
"<tr>";
  echo 
"  
</table></form>"
;


 
//sentencia para buscar itareas de la actividad seleccionado
  
$result3 =  mysql_query("SELECT * FROM Tareas where actividad= '$proced'"$link);

//TERCER SELECT
  
echo "<form  action=\"$PHP_SELF\" method=\"POST\" name=\"form3\"><input type=\"hidden\" name=\"b\" value=\"1\">";    
     echo 
"<input type=\"hidden\" name=\"a\" value=\"1\">
 <table width=\"300\"  border=\"7\"  cellpadding=\"6\" align=\"center\" cellpadding=\"0\" class=\"windowbg2\">
     <tr>
     <tr>
     <th width=\"100%\" colspan=\"6\"  bgcolor=\"#5C743D\" scope=\"row\"> <div align=\"center\" class=\"Estilo1 Estilo1\"> <font color=\"white\">SELECCIONE TAREA</font></th>
     </tr> " 
;
     echo 
"<th width=\"64%\" bgcolor=\"#99CC66\" class=\"bginput\"> <select name=\"tarea\" class=\"bginput2\" >";
          while(
$row2 mysql_fetch_array($result3)){

            echo 
" <option value=\" " .$row2['idTarea'].  "\">" .$row2['nombre']. "</option>";  }
     echo 
"</select></td></th>";
     echo 
"<tr>";
  echo 
"  <td height=\"20\" colspan=\"1\"><div align=\"center\">
                <input name=\"submit\" type=\"submit\"  value=\"Consultar Tarea\"  class=\"button\"/> 
                </div></td>

</form>"

al dar clic en el bton csnultar es donde mando para que busque la tarea selecionada y me traiga de la BD el nombre el responsable la fecha de ejecucion en fin...

eso es lo que tengo

bueno para recuperar mis variables tengo esto:
Cita:
$proceso = htmlspecialchars ($_POST['proceso']);
$proced = htmlspecialchars ($_POST['actividad']);
$tarea = htmlspecialchars ($_POST['tarea']);
y bueno en el codigo de los selects uso el Onchange.. que ejecuta una funcion javscript que es:
Cita:
function Hace(){
document.form1.submit() ;

}
el rpoblema es que al enviar el formulario dos... es decir el del select 2 de las actividades mis variables quedan vacias.. entocnes al bsucar las tareas $proces es vacia.. entonces la consulta es vacia.. ese es mi problema y ya levo dias tratando de solucionarlo

cualquier cosa alguna idea o algo me ayudaria mucho gracias

Última edición por chechi123; 30/04/2010 a las 09:49

Etiquetas: Ninguno
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:49.