Foros del Web » Programando para Internet » PHP »

¿Hago bien el POST?

Estas en el tema de ¿Hago bien el POST? en el foro de PHP en Foros del Web. Hola, tengo problemas con los espacios en blanco, y no se cual puede ser el motivo, yo creo que es a consecuencia del POST... Os ...
  #1 (permalink)  
Antiguo 27/03/2007, 02:32
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
¿Hago bien el POST?

Hola, tengo problemas con los espacios en blanco, y no se cual puede ser el motivo, yo creo que es a consecuencia del POST... Os dejo el ejemplo de como lo tengo hecho:

Código PHP:
function crearCategoria($categoria){
$bd = mysql_connect('localhost', 'root', '');
if (!$bd)  {
  echo "Error, no puede encontrarse a la base de datos";
  exit;
}

mysql_select_db('soft');
$con="Select codigo from categoria where nombre='".$categoria."'";
$res1=mysql_query($con);
$cat=mysql_fetch_assoc($res1);
$id_cat=$cat["codigo"];

$query="SELECT codigo,nombre,precio FROM producto where codigo_categoria= '".$id_cat."' ";
$res= mysql_query($query);
$num_filas = mysql_num_rows($res);
?>
    <tr>
        <td><? echo $categoria;?></td>
        <td><select name="<? echo $categoria  ?>" >
        <option value="0">-</option>
        <?
            
while($datos=mysql_fetch_assoc($res)){        
                            
                 
$producto=$datos["nombre"]."  -  ".$datos["precio"];            
                    
              
?>
                 <option value="<? echo $datos["codigo"?>"> <? echo $producto ?> </option>
            <?
             
}
         echo(
"</select> </td> </tr>");
}
Y aqui es donde hago el POST:

Código PHP:
mysql_select_db('soft');
$query "SELECT nombre FROM categoria";
$resultado mysql_query($query);
$num_filas mysql_num_rows($resultado);

$i=0;
$precio_tot=0;
$cabecera=array('Categoria','Producto','Precio');

while(
$categoria=mysql_fetch_assoc($resultado)){
    
$id_producto[$i]=$_POST[$categoria["nombre"]];
    
$query1 "SELECT nombre,precio FROM producto where codigo='".$id_producto[$i]."'";
    
$res mysql_query($query1);
    
$datos_producto=mysql_fetch_assoc($res);
    if(
$id_producto[$i]!=0){
    
//for($j=0;$j<count($cabecera);$j++){
        
$matriz[$i][0]=$categoria["nombre"];        
        
$matriz[$i][1]=$datos_producto["nombre"];
        
$matriz[$i][2]=$datos_producto["precio"];
//    }//
    
$precio_tot+=$matriz[$i][2];
    }
    
$i++;
    

Muchas gracias, a ver si se puede solucionar.
  #2 (permalink)  
Antiguo 27/03/2007, 07:22
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: ¿Hago bien el POST?

Hola,

No comprendo bien lo que intentas hacer $_POST[$categoria["nombre"]]

Intenta de esta forma: $_POST["categoria"] o $_POST["nombre"]

Saludos.
  #3 (permalink)  
Antiguo 27/03/2007, 07:34
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: ¿Hago bien el POST?

El POST consiste en un array de datos, de esa manera que me indicas no me saca ni los que no tienen espacios en blanco...
  #4 (permalink)  
Antiguo 27/03/2007, 08:02
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: ¿Hago bien el POST?

El POST se usa para recibir variablñes por medio de la URL, pero en tu Script, veo qu lo estás usando como un array que contiene otra array dentro de el...

NO me he puesto a seguir en detalles tu codigo, pero si el resto esta bien, tu Script deberia de funcionar realizando estos cambios:

$id_producto[$i]=$_POST["'.$categoria["nombre"].'"];

Espero que te sirva.
  #5 (permalink)  
Antiguo 27/03/2007, 08:12
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: ¿Hago bien el POST?

Te indico que funcionar funciona, excepto si hay un espacio en blanco...
Si hago eso ($id_producto[$i]=$_POST["'.$categoria["nombre"].'"];), me sale este error:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\servidor\web\soft\socio\generar.php on line 116

La linea corresponde a lo que me has indicado que hiciera...

Última edición por Capi666; 27/03/2007 a las 08:25
  #6 (permalink)  
Antiguo 27/03/2007, 08:28
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: ¿Hago bien el POST?

Mira, estuve realizando estas pruebas para simular lo que tienes...

Código PHP:
<?

$categoria
["nombre"]="a";

$id_producto[1]=$_GET[$categoria['nombre']];

echo 
$id_producto[1];

?>
La linea de la que hablamos estaba funcionando bien, tendrias que volver a dejarla como estaba: $id_producto[$i]=$_POST[$categoria["nombre"]];

El problema debe de estar en otra parte, al menos la estructura del POST estaba bien como estaba.

Revisare y si encuentro donde esta la falla volvere a responder...

Saludos.
  #7 (permalink)  
Antiguo 27/03/2007, 08:32
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: ¿Hago bien el POST?

Ok, vale, muchas gracias por tu tiempo, esperare ansioso tu respuesta, recordarte que funciona, excepto cuando hay algun espacio en blanco en la variable $categoria correspondiente a: <select name="<? echo $categoria ?>" >

Un saludo y muchas 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 10:46.