Foros del Web » Programando para Internet » PHP »

problema con metodo post y get en el mismo formulario

Estas en el tema de problema con metodo post y get en el mismo formulario en el foro de PHP en Foros del Web. Buenas a todos tengo la siguiente problematica estoy creando un sistema y estoy en la parte donde se va llenando un pedido de mercancia pero ...
  #1 (permalink)  
Antiguo 30/08/2011, 13:19
 
Fecha de Ingreso: agosto-2011
Mensajes: 3
Antigüedad: 12 años, 7 meses
Puntos: 0
problema con metodo post y get en el mismo formulario

Buenas a todos tengo la siguiente problematica estoy creando un sistema y estoy en la parte donde se va llenando un pedido de mercancia pero cuando le doy eliminar a un posible error en la mercancia ingresada no me llena de nuevo la identificacion del formulario.


Código PHP:
<?php 
    
require_once($_SERVER['DOCUMENT_ROOT'].'/include/conexion.php');
    require_once(
$_SERVER['DOCUMENT_ROOT'].'/include/sesion.class.php');
    require_once(
$_SERVER['DOCUMENT_ROOT'].'/include/configuracion.php');
    
    
$sesion = new sesion();
    
$usuario $sesion->get("usuario");

    if( 
$usuario == false ) {    
        
header("Location: /acceso.php");        
    } else  {
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Nuevo Pedido</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body id="modulo"><div id="normal"><br />

<div id="titulo">Nuevo Pedido</div>

<?php
conectar
();
//obtener la cantidad de facturas de entradas
$codigo $_POST["codigo"];
if (
$_GET["action"]=="") {
$meredc mysql_query("SELECT COUNT(DISTINCT pedidos) FROM pedidos") or die ("Error en consulta 1 <br>MySQL dice: ".mysql_error());
$codigo mysql_result($meredc,0)+1;
}
$entrada $codigo;
echo 
"asi me kedo codigo ".$codigo."y entrada ".$entrada;
//fin obtener cantidad de facturas de entradas
//obtiene los de proveedores
$proveedor mysql_query("SELECT * FROM personas WHERE ".$tipoped." ") or die ("Error en consulta 2 <br>MySQL dice: ".mysql_error());
//fin de obtencion de proveedores
//obtiene los depositos
$solicitante mysql_query("SELECT depositos.nombre,personas.tipo FROM depositos INNER JOIN personas ON depositos.responsable = personas.nombre WHERE personas.tipo = ".$tipopeds." and personas.pais = '".$paislogin."'  ") or die ("Error en consulta 3 <br>MySQL dice: ".mysql_error());
//fin obtencion de depositos
//obtener mercancias
$mercancia mysql_query("SELECT codigo,nombre FROM mercancias") or die ("Error en consulta 4 <br>MySQL dice: ".mysql_error());
//fin obtencion de mercancias
desconectar();
?>

  <form id="form1" name="form1" method="post" action="npedido.php?action=nuevo">
    <table width="822" border="0">
      <tr>
        <td width="275"><div align="left">Nro. Pedido: 
            <input name="codigo" type="text" id="codigo" value="<?php echo $codigo?>" size="5" readonly="readonly" />
        </div>
          <label for="pedidos"></label>
          <div align="left"></div></td>
        <td colspan="2">&nbsp;</td>
        <td width="258"><div align="right">Fecha de Pedido: 
          <label for="fechapedido"></label>
          <input name="fechapedido" type="text" id="fechapedido" value="<?php echo date("Y-m-d"); ?>" size="10" readonly="readonly" />
        </div></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan="2">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><div align="right">Proveedor:
          <select name="proveedor" id="proveedor">
          <?php while($proveedorrow mysql_fetch_array($proveedor)) { ?>
          <option value="<?php echo $proveedorrow['nombre']; ?>"><?php echo $proveedorrow['nombre']; ?></option>
          <?php ?>
          </select>
        </div>
          <label for="proveedor"></label>
          <div align="right"></div></td>
        <td colspan="2">&nbsp;</td>
        <td><div align="left">Solicitante: 
          <label for="solicitante"></label>
          <select name="solicitante" id="solicitante">
           <?php while($solicitanterow mysql_fetch_array($solicitante)) { ?>
          <option value="<?php echo $solicitanterow['nombre']; ?>"><?php echo $solicitanterow['nombre']; ?></option>
          <?php ?>
          </select>
        </div></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan="2">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td colspan="2"><div align="right">Mercancia: 
          <label for="mercancia"></label>
          <select name="mercancia" id="mercancia">
            <?php while($mercanciarow mysql_fetch_array($mercancia)) { ?>
            <option value="<?php echo $mercanciarow['codigo']; ?>"><?php echo $mercanciarow['codigo'].' - '.$mercanciarow['nombre']; ?></option>
            <?php ?>
            </select>
        </div></td>
        <td width="132"><div align="left">
          Cantidad: 
          
              <label for="cantidad"></label>
              <input name="cantidad" type="text" id="cantidad" size="4" maxlength="4" />
        </div>
        <label for="cantidad"></label></td>
        <td><div align="left">
          <input type="submit" name="procesar" id="procesar" value="Procesar" />
        </div></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td width="139">&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td colspan="4"><div align="center">
        <?php
        
if ($_GET["action"]=="nuevo") {
                
//ingresar informacion
                
$pedido $_POST["codigo"];
                
$proveedor $_POST["proveedor"];
                
$solicitante $_POST["solicitante"];
                
$mercancia $_POST["mercancia"];
                
$cantidad $_POST["cantidad"];
                
$fechapedido $_POST["fechapedido"];
                
conectar();
                
mysql_query("insert into pedidos (pedidos,proveedor,solicitante,mercancia,cantidad,fechapedido,pais,estado) values ('$pedido','$proveedor','$solicitante','$mercancia','$cantidad','$fechapedido','$paislogin','0')") or die ("Error en consulta 5 <br>MySQL dice: ".mysql_error());
                
desconectar();
        }
        
            if (
$_GET["action"]=="eliminar") {
            
            
$id=$_GET["id"];
            
$entrada=$_GET["pedidos"];
            
            
conectar();
            
mysql_query("DELETE FROM pedidos WHERE id='$id'") or die ("Error en consulta 6 <br>MySQL dice: ".mysql_error());
            
//echo 'elimino';
            
desconectar();
            }
                
//mostrar datos ingresados
                
conectar();
                
$mentrada=mysql_query("select * from pedidos where pedidos = ".$entrada) or die ("Error en consulta 7 <br>MySQL dice: ".mysql_error());
                
desconectar();
                if(
mysql_num_rows($mentrada)==0) die ("No hay Registros de Entrada");
                
                
//hacer tabla en php no se esto es copia xD
                
echo "<table width='100%' border=0 cellpadding=4 cellspacing=0 align='center'>";

                
/*Priemro los encabezados*/
                 
echo "<tr>
                     <th>Mercancia</th> <th>Cantidad</th>
                </tr>"
;
      
                
/*Y ahora todos los registros */
                
while($mentradarow=mysql_fetch_array($mentrada)) {
                    echo 
"<tr>
                         <td align='center'> $mentradarow[mercancia] </td>
                        <td align='center'>$mentradarow[cantidad]</td>
                         <td align='center'><div align='center'><a href='npedido.php?action=eliminar&id=$mentradarow[id]&pedidos=$mentradarow[pedidos]'>Eliminar</a></div></td>
                      </tr>"
;
                }
                echo 
"</table>";
        
                
?>
        
        </div></td>
      </tr>
    </table>
  </form>
</div></body>
</html>
<?php 
    
}    
?>
probe hasta decir ya cuando le doy procesar si me guarda la variable del formulario la cual es $codigo y todo bien puedo seguir agregando mercancia con ese codigo pero cuando le doy eliminar si se me borra la variable $codigo y no se como volverla a recuperar sin que me afecte nada
  #2 (permalink)  
Antiguo 30/08/2011, 13:33
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: problema con metodo post y get en el mismo formulario

podrias usar $_REQUEST['nombre'] que levanta tanto $_POST como $_GET
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 30/08/2011, 13:45
 
Fecha de Ingreso: agosto-2011
Mensajes: 3
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: problema con metodo post y get en el mismo formulario

Cita:
Iniciado por h2swider Ver Mensaje
podrias usar $_REQUEST['nombre'] que levanta tanto $_POST como $_GET
gracias por tu pronta respuesta pero no, me sigue dejando vacio la variable $codigo cuando le doy clic a eliminar lo raro es que en otro formulario no me lo deja vacio solo en este y practicamente es el mismo
  #4 (permalink)  
Antiguo 30/08/2011, 14:00
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: problema con metodo post y get en el mismo formulario

cambia esto
Código PHP:
$codigo $_POST["codigo"]; 
por esto
Código PHP:
$codigo $_REQUEST["codigo"]; 
Y también esto

Código PHP:
while($mentradarow=mysql_fetch_array($mentrada)) {
                    echo 
"<tr>
                         <td align='center'> $mentradarow[mercancia] </td>
                        <td align='center'>$mentradarow[cantidad]</td>
                         <td align='center'><div align='center'><a href='npedido.php?action=eliminar&id=$mentradarow[id]&pedidos=$mentradarow[pedidos]'>Eliminar</a></div></td>
                      </tr>"
;
                }
                echo 
"</table>";
        
                
?> 
Por esto otro

Código PHP:
<?php

while ($mentradarow mysql_fetch_array($mentrada)) {
    echo 
'<tr>
                         <td align="center">'
$mentradarow['mercancia'].' </td>
                        <td align="center">'
.$mentradarow['cantidad'].'</td>
                         <td align="center"><div align="center"><a href="npedido.php?action=eliminar&id='
.$mentradarow['id'].'&pedidos='.$mentradarow['pedidos'].'&codigo="'.$_REQUEST['codigo'].'">Eliminar</a></div></td>
                      </tr>'
;
}
?>
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #5 (permalink)  
Antiguo 30/08/2011, 14:18
 
Fecha de Ingreso: agosto-2011
Mensajes: 3
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: problema con metodo post y get en el mismo formulario

Mil gracias!!!!!! te mereces un A+

con lo que me pasaste no funcionaba pero en base a eso se me ocurrio volver a enviar codigo como tu lo hacias pero sin request sino como variable normal pero como arriba hicimos el request de cualkier tipo funciono perfecto quedo asi el codigo

Código PHP:
while ($mentradarow mysql_fetch_array($mentrada)) {
    echo 
'<tr>
                         <td align="center">'
$mentradarow['mercancia'].' </td>
                        <td align="center">'
.$mentradarow['cantidad'].'</td>
                         <td align="center"><div align="center"><a href="npedido.php?action=eliminar&id='
.$mentradarow['id'].'&pedidos='.$mentradarow['pedidos'].'&codigo='.$mentradarow['pedidos'].'">Eliminar</a></div></td>
                      </tr>'
;

un poquito raro porque se repite pedidos y codigo pero mientras funciona todo bien

Etiquetas: html, metodo, mysql, post, registro, sql, tabla, formulario, usuarios
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:32.