Foros del Web » Programando para Internet » PHP »

no reconoce variable pasada por _POST

Estas en el tema de no reconoce variable pasada por _POST en el foro de PHP en Foros del Web. Que tal, tengo un formulario en el que no me esta reconociendo lo que envio desde una caja de texto, ya la revise mil veces ...
  #1 (permalink)  
Antiguo 28/04/2009, 12:32
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años
Puntos: 0
Exclamación no reconoce variable pasada por _POST

Que tal, tengo un formulario en el que no me esta reconociendo lo que envio desde una caja de texto, ya la revise mil veces y no se cual sea el problema, son 11 campos de la tabla que estoy manejando, no me acepta un numero de telefono, esta declarado como INT con 8 digitos, tambien ya probe cambiando el tipo y nadamas no queda. Al parecer lo que lleva la caja "telvta" no esta pasando a la variable $tel_vta.
les dejo como funciona con los ultimos 3 campos incluyendo el que no funciona:

Código PHP:
if ($_GET['accion']=="nuevo"){
echo <<< HTML
<img src="FONDOS/logo.jpg" width="1016" height="60" /><BR>
<div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">En sesion: $usuario</font></b><br>
<form method="post" action="$PHP_SELF?accion=hacernuevo">

  <table width="500" border="1" cellspacing="0" cellpadding="4" align="center">
    <tr>
      <td colspan="2" height="30" bgcolor="#115A7A">
        <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">.:
          Registro de Producto :.</font></b><br>
        <a href="$pag">Regresar</a></div>
      </td>
    </tr>
        <tr bgcolor="#B1D5E5">
      <td width="250">
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Orden de Procedencia
        : </font></div>
      </td>
      <td width="250"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <input type="text" name="or_pro" class="imputbox" maxlength="12" size="15" onChange="javascript:this.value=this.value.toUpperCase()">
        </font></b></td>
    </tr>
    
        <tr bgcolor="#B1D5E5">
    <td width="250">
    <div align="right"><font face="Verdana, Arial, Helveltica, sans-serif" size="2">Telefono de Venta 
: </font></div>
       </tr>
       <td width="250"><b><font face="Verdana, Arial, Helveltica, sans-serif" size="2">  
         <input type="text" name="telvta" class="imputbox" maxlenght="8" size="15">
         </font></b></td>
       </tr>
       
        <tr bgcolor="#B1D5E5">
      <td width="250">
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Observaciones
          : </font></div>
      </td>
      <td width="250"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <textarea  name="observaciones" class="imputbox" cols="45" rows="5" onChange="javascript:this.value=this.value.toUpperCase()"></textarea>
        </font></b></td>
    </tr>
    
           <tr bgcolor="#B1D5E5">
      <td colspan="2" height="40">
        <div align="center">
          <input type="submit" name="Submit" value="  Registrar  " class="botones" ><br>
         <a href="menuprin.php">Regresar al menu principal</a>
        </div>
      </td>
    </tr>
  </table>
</form>
HTML;

}

if (
$_GET['accion']=="hacernuevo"){
$orden_pro=$_POST['or_pro'];
$tel_vta=$_POST['telvta'];
$observaciones=$_POST['observaciones'];

// Validar telefono de venta
if (!ereg("^[0-9]{8}$"trim($tel_vta))) { 
header ("Location: $pag?accion=nuevo&error=6");
exit;
}

// Validar  procedencia
if (!ereg("^[0-9]{8,12}$"trim($orden_pro))) { 
header ("Location: $pag?accion=nuevo&error=12");
exit;
}
if ( 
$orden_pro=="" or $tel_vta="") {
header ("Location: $pag?accion=nuevo&error=1");
exit;
}

$orden_pro=stripslashes($orden_pro);
$tel_vta=stripslashes($tel_vta);
$observaciones=stripslashes($observaciones);

mysql_query("INSERT INTO $sql_tabla_i values('','$orden_pro','$tel_vta','$observaciones')") or die(mysql_error());

mysql_close();
header ("Location: $pag");
exit;
}
?> 
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 28/04/2009, 16:28
 
Fecha de Ingreso: abril-2009
Ubicación: Córdoba, Argentina
Mensajes: 28
Antigüedad: 15 años
Puntos: 0
Respuesta: no reconoce variable pasada por _POST

MMM, lo unico raro que veo, es que no te conectas con la base de datos, pero en tal caso, te tendria que dar error en la consulta.

Prueba haciendo echo $_POST['telvta'] antes de las asignaciones y comentando toda la otra parte a ver si hay viene el valor, si no viene ahi, el problema estaria en el html. No te anda con ninguno de los 12 campos???

Saludos.
  #3 (permalink)  
Antiguo 28/04/2009, 16:30
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años
Puntos: 0
Respuesta: no reconoce variable pasada por _POST

el unico campo que no reconoce es el de telvta por eso es raro, tiene el mismo fortmato que los demas
__________________
:cool: VELMA:si:
  #4 (permalink)  
Antiguo 28/04/2009, 16:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no reconoce variable pasada por _POST

yo si lo veo medio complicado que esta variable no aparezca!!

procura hacer un var_dump($_POST); cuando recibas el formulario, y revisa bien lo que arroja....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 28/04/2009, 16:52
 
Fecha de Ingreso: abril-2009
Ubicación: Córdoba, Argentina
Mensajes: 28
Antigüedad: 15 años
Puntos: 0
Respuesta: no reconoce variable pasada por _POST

mierda, mierda, mierda, haciendo un scritp en mi maquina, me salto el error justo cuando lo veo, mira esta linea de tu codigo:

if ( $orden_pro=="" or $tel_vta="") {
header ("Location: $pag?accion=nuevo&error=1");
exit;
}

No es $tel_vta="" es $tel_vta=="" (ahi se hace la asignacion de nada y fuiste. A mi me paso un par de veces tambien.

Saludos.
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 22:14.