Foros del Web » Programando para Internet » PHP »

$_SERVER['QUERY_STRING'] pero para el metodo post

Estas en el tema de $_SERVER['QUERY_STRING'] pero para el metodo post en el foro de PHP en Foros del Web. necesito captar toda una query pero por el metodo post me explico si tengo una consulta hecha por web por el metodo get se ve ...
  #1 (permalink)  
Antiguo 09/06/2005, 13:50
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
$_SERVER['QUERY_STRING'] pero para el metodo post

necesito captar toda una query pero por el metodo post

me explico
si tengo una consulta hecha por web por el metodo get
se ve asi:

Código:
ejemplo.php?txt23=3&txt4=4&accion=borrar
con $_SERVER['QUERY_STRING'] recibo esta info
Código:
?txt23=3&txt4=4&accion=borrar
necesito un comando que capte esto mismo pero por el metodo post
ya que no quiero pasar los datos por la web son de un form y
necesito la info del txt'23'='3' ya que el 23 es el identificador y el 3 la cantidad para ese producto (es un carrito de compra)



saludos
  #2 (permalink)  
Antiguo 09/06/2005, 13:58
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 8 meses
Puntos: 0
Precisamente el método post sirve para eso, para que no se puedan 'interceptar' las variables, la única solución es con $_POST

Si estoy equivocado corríjanme.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #3 (permalink)  
Antiguo 09/06/2005, 14:08
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
necesito captar la query completa

con post tendria que hacer algo asi
$var1=$_post['txt23'];
$var2=$_post['txt4'];
$var3=$_post['accion'];
y no me sirve ya que txtnn puede ser un numero del 1 al infinito y solo por Query_string puedo captar la consulta completa y sacar el valor que sige al txt y no lo puedo hacer de otra forma ya que esta dentro de un form y txtnn es el name de un input y el = es la cantidad (el value del input)

necesito todo en una variable como la que da $_SERVER['QUERY_STRING'] pero con method POST

Me entiendes o no?
  #4 (permalink)  
Antiguo 09/06/2005, 14:18
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 8 meses
Puntos: 0
Y porqué no pasas un array?

Salud.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #5 (permalink)  
Antiguo 09/06/2005, 14:27
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
Por que no se puede, estoi limitado por el form y sus input
  #6 (permalink)  
Antiguo 09/06/2005, 14:50
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
Información Prueba con esta función

Código PHP:
<?php
$variable 
POST_to_GET();
echo 
$variable;

function 
POST_to_GET(){
    foreach(
$_POST as $key=>$valor) {
        if(isset(
$temp)){
            
$temp $temp."&".$key."=".$valor;
        }
        else{
            
$temp "?".$key."=".$valor;    
        }
    }
    return 
$temp;
}
?>
  #7 (permalink)  
Antiguo 09/06/2005, 14:54
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 18 años, 10 meses
Puntos: 2
Cita:
Iniciado por Remsankar
Por que no se puede, estoi limitado por el form y sus input
Bueno mas bien estas limitado por la logica que se siguio en la creacion del carrito de las compras el form y el submit simplemente son un parametro mas dentro del problema. Lo que creo, es lo que ocurre siempre, que no hay tiempo para hacer un refactorizacion de nuestro codigo por que son cambios que se requieren para muy corto plazo, asi que en base a lo que comentas en tus mensajes anteriores y la necesidad de no hacer muchos cambios de programacion agrego una idea que te puede servir por lo menos de base para recuperar lo que necesitas de los valores que envias por POST. Aqui te dejo el ejemplo..
Código PHP:
switch($_SERVER['REQUEST_METHOD']){
      case 
'POST':
                    
$request = &$_POST;
                    break;
      case 
'GET':
                    
$request = &$_GET;
                    break;
      default:
                
$request = &$_POST;
    }

    foreach(
$request as $k => $v){
      if(
preg_match('/txt(\d+)$/',$k,$id)){
        
$productos[]= array('id'=>$id[1],'cant'=>$v);
      }
    }
    
print_r($productos); 
El condigo anterior te devuelve un arreglo de la siguiente forma:
Código PHP:
Array ( [0] => Array ( [id] => 2355 [cant] => ) [1] => Array ( [id] => [cant] => ) ) 
Saludos..!
  #8 (permalink)  
Antiguo 09/06/2005, 15:14
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
muchas gracias a ambos justamente estaba pensando en reescribir parte del codigo del carrito, probare sus codigos y les cuento ;)

Saludos
  #9 (permalink)  
Antiguo 13/06/2005, 15:30
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 5 meses
Puntos: 4
ya esta me atrase en responder pero mi codigo quedo asi



Código PHP:
<?php
$variable 
POST_to_GET();
echo 
$variable;

function 
POST_to_GET(){
    foreach(
$_POST as $key=>$valor) {
        if(isset(
$temp)){
            
$temp $temp."&".$key."=".$valor;
        }
        else{
            
$temp "?".$key."=".$valor;    
        }
    }
    return 
$temp;
}
?>



Código PHP:
if ($recalc==$lang['recalcularb']) {
$variable POST_to_GET(); //llamado a variable para convertir post en query get
$variable=str_replace ("text"""$variable); 
$variable=str_replace ("?"""$variable);
$trozos split ('[?=&]'$variable);
$r count($trozos);
$i=0;
$sql="select * from carrocompras where cookie='$idreg' ";
$result=mysql_query($sql,$link);
while(
$row mysql_fetch_array($result)) { 
$sql2 "UPDATE carrocompras SET cantidad = '".$trozos[$i+1]."' WHERE id = '".$trozos[$i]."' and cookie='$idreg' "
$i=$i+2;
mysql_query($sql2);} 
se supone que el form tiene por name=text$idcarro
donde $idcarro es cada uno de los items que agrega
el value=$cant es la cantidad de esos items

Gracias a todos por su ayuda, funciona perfect! ;)
  #10 (permalink)  
Antiguo 20/01/2010, 06:45
 
Fecha de Ingreso: enero-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: $_SERVER['QUERY_STRING'] pero para el metodo post

Buenos días

La consulta que voy a realizar no estoy seguro si tiene algo que ver con el tema del foro pero si me pueden ayudar, les estaré muy agradecido.

¿Como se puede pasar parámetros de query en la URL de una Web aspx por el método post?

Intentaré explicarme, yo quiero agregar a la url:
"http://evtde.argonautanet.com/Varios/ComprobacionTelefono.aspx" algún parámetro que automáticamente agregue el dato que solicita el formulario en el textbox y que el botón Aceptar se active.

Es decir, no quiero tener que ingresar el dato que solicita la página y hacer click en el botón Aceptar.

Al hacer click en dicho botón, la página no se redirecciona a ninguna otra página por lo que no puedo invocar otro link para realizar el query en cuestión.

Con la respuesta que ustedes me den pienso capturar el contenido de los query con Excel (algo que si se hacer).

Aunque si con Excel se pudiera realizar un query de un valor específico (o personalizado) y que el botón aceptar se haga click solo, también me interesa, así como cualquier otra solución alternativa (como un script).

Estos son los principales parámetros del código aspx:

TAB T=1
URL GOTO=http://evtde.argonautanet.com/Varios/ComprobacionTelefono.aspx
FRAME F=0
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:aspnetForm ATTR=ID:ctl00_Main_txtTelefono CONTENT=12344556
ONDIALOG POS=1 BUTTON=OK CONTENT=
TAG POS=1 TYPE=INPUT:IMAGE FORM=ID:aspnetForm ATTR=ID:ctl00_Main_BtnComprobar

Saludos y gracias
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 23:14.