Foros del Web » Programando para Internet » PHP »

Problema con envio de variable

Estas en el tema de Problema con envio de variable en el foro de PHP en Foros del Web. vamos a ver, tengo una pagina en la que envio una variable, y a la vez la recojo para hacer una busqueda en la BBDD, ...
  #1 (permalink)  
Antiguo 30/10/2005, 05:02
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Problema con envio de variable

vamos a ver, tengo una pagina en la que envio una variable, y a la vez la recojo para hacer una busqueda en la BBDD, el codigo es el siguiente:
Código PHP:
<form name="buscar" method="POST" enctype="text/plain" action="<? echo $_SERVER['PHP_SELF'];?>">
            <table width="100%" border="1" cellspacing="0" cellpadding="0"> 
                <tr bgcolor="324F6E"> 
                    <td colspan="4"><span class="enlace"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><strong><em><a href="nuevo_documento.php" class="enlace3">NUEVO DOCUMENTO</a></em></strong></font></span><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><strong><em> >></em></strong></font></td>
                  </tr>
                <tr> 
                    <td width="29%"><font color="#999999" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>CLIENTE</strong></font></td>
                    <td width="41%"><font color="#999999" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>NOMBRE</strong></font></td>
                    <td width="14%"><font color="#999999" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>TAMA&Ntilde;O</strong></font></td>
                    <td width="16%"><font color="#999999" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>FECHA</strong></font></td>
                  </tr>
                <?
                    
//Sentencia SQL
                        
$ssql "SELECT * FROM documentos order Where Referencia=$Ref ";
                        
//Ejecuto la sentencia
                        
$result mysql_query($ssql,$conn);
                    
                    
//Mostramos los registros
                        
while ($row=mysql_fetch_array($result))
                        {
                          if (
$row!=0){
                
?>
                   <tr> 
                     <td><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong><? echo $row['Cliente'];?> </strong></font></td>
                    <td><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong><a href="../docs/<? echo $row['Documento'];?>" target="_blank"><? echo $row['Documento'];?></a></strong></font></td>
                    <td><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong><? echo $row['Tamano'];?> KB </strong></font></td>
                    <td><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong><? echo $row['Fecha'];?></strong></font></td>
                   </tr>
                <?         
                            
};
                          };
                
?>
                   <tr> 
                       <td colspan="2"><div align="right"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>BUSCADOR 
                         DE CLIENTES PARA ENVIO DE ARCHIVO. REF.>></strong></font></div></td>                
                       <td bgcolor="#E0E0E0"><div align="center">                         
                            <input name="Ref" type="text" id="Ref" size="15">
                       </div></td>
                    <td bgcolor="#E0E0E0"><input type="submit" name="Submit" value="BUSCAR"></td>
                
                   </tr>
                
               </table>   
            </form>
El gran problema es que no me recoge la variable, ¿alguien puede echarle un ojo y ver el error?, es que no lo veo .
Gracias de antemano.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #2 (permalink)  
Antiguo 30/10/2005, 05:12
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Hola:

De acuerdo a la configuración de tu php, este script podría funcionar o no.
Para asegurarte de que funcionará siempre, recoge las variables identificando su origen. En este caso, en lugar de utilizar $Ref, utiliza $_POST['Ref'].

Busca en el foro sobre la directiva "register globals" del php.ini. También puedes buscar sobre "superglobales" o "autoglobales"

Saludos
  #3 (permalink)  
Antiguo 30/10/2005, 05:13
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 10 meses
Puntos: 3
Así en un primer vistazo he visto algo muy importante que te falta, y es la conexión a la base de datos
$conn = mysql_connect('tuHost', 'base_datos', 'usuario', 'pass');
  #4 (permalink)  
Antiguo 30/10/2005, 05:17
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
lo siento, creo que m eolvide de dar un apr de detalles .
jpinedo, la variable la recogi como $Ref=$_POST['Ref'];.
Tigervlcal principio del Script tengo include ("../conex.php"); donde recojo los datos de conexion.

Siento no haber dado esos datos antes, , se me paso, de todos modos gracias por la ayuda prestada a ambos.

Saludos.



Nota: uso PHP version 5.0.2
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches

Última edición por Bytevamp; 30/10/2005 a las 05:26
  #5 (permalink)  
Antiguo 30/10/2005, 05:24
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 10 meses
Puntos: 3
Cita:
Iniciado por jpinedo
Hola:

De acuerdo a la configuración de tu php, este script podría funcionar o no.
Para asegurarte de que funcionará siempre, recoge las variables identificando su origen. En este caso, en lugar de utilizar $Ref, utiliza $_POST['Ref'].

Busca en el foro sobre la directiva "register globals" del php.ini. También puedes buscar sobre "superglobales" o "autoglobales"

Saludos
Y eso también, nunca uses las variables de formulario directamente, o sea, variables globales, por seguridad. Al principio de tu código pon un script que recoja las variables enviadas con POST y las almacene en variables definidas al principio, aunque tengan el mismo nombre que el nombre del campo del que provienen. P.ej:

$ref = $_POST['ref'];

En tu caso es posible que tengas la directiva register_globals en off y por eso no te acepta el uso directo de variables globales de formulario. Pero no lo pongas en on. Mejor déjalo en off y obtén los valores de formulario como te he dicho. Otra forma es:

$ref = $HTTP_POST_VARS['ref'];
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 09:31.