Foros del Web » Programando para Internet » PHP »

Errores con POST

Estas en el tema de Errores con POST en el foro de PHP en Foros del Web. Alguien sabira como puedo modificar el coigo para que la primera vez que accedo a esta pagina no me diese error, ya que espera los ...
  #1 (permalink)  
Antiguo 07/02/2008, 05:36
 
Fecha de Ingreso: enero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
Errores con POST

Alguien sabira como puedo modificar el coigo para que la primera vez que accedo a esta pagina no me diese error, ya que espera los valores por post y hasta que no le doy a validar una vez no se quitan los errores..

Código HTML:
<?php 
$valor1=1;
$valor2=2;
$valor3=3;
$valor4=4;
if ($_POST['valores'] == 1){
	$resultado = '2%';
}elseif ($_POST['valores'] == 2){
	$resultado = '3%';
}elseif ($_POST['valores'] == 3){
	$resultado = '50%';
}elseif ($_POST['valores'] == 4){
	$resultado = '1%';
}else{
	$resutado="esperando resultado";
}
?>
<form method="post" name="formulario">
<select name="valores">
  <option value="0" selected>Seleccione... </option>
  <option value="<? echo $valor1; ?>">Valor 1</option>
  <option value="<? echo $valor2; ?>">Valor 2</option>
  <option value="<? echo $valor3; ?>">Valor 3</option>
  <option value="<? echo $valor4; ?>">Valor 4</option>
</select>
<input name="texto" type="text" size="50" maxlength="10" 
value="<?php echo $resultado; ?>" />
<input type="submit" onclick="this.form.action='pruebas.php'" value="Validar" class="texto-cuerpo88" />
</form> 
Gracias.
  #2 (permalink)  
Antiguo 07/02/2008, 06:55
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Errores con POST

hola te cuento que viendolo por encima no le vi error corri el codigo en mi pc y trabaja sin darme errores tal ves tengas problemas con la varible post en tu servidor es lo que se me ocurre chequeate eso a ver y me cuentas
  #3 (permalink)  
Antiguo 07/02/2008, 07:13
 
Fecha de Ingreso: enero-2007
Mensajes: 157
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: Errores con POST

Supongo que diras que siempre está entrando en el POST, y tu solo quieres que entre cuando le des al submit. Pues eso lo solucionas muy fácilmente con un if y la funcion de php empty.

funcion empty => http://www.php.net/empty

El código se quedaría así:

Código PHP:
<?php 

//Si la variable $_POST esta vacia entrará, si no, hara las opearaciones que tu le digas en el else.
if(empty($_POST))
{
?>
    <form method="post" name="formulario">
    <select name="valores">
      <option value="0" selected>Seleccione... </option>
      <option value="<? echo $valor1?>">Valor 1</option>
      <option value="<? echo $valor2?>">Valor 2</option>
      <option value="<? echo $valor3?>">Valor 3</option>
      <option value="<? echo $valor4?>">Valor 4</option>
    </select>
    <input name="texto" type="text" size="50" maxlength="10" 
    value="<?php echo $resultado?>" />
    <input type="submit" onclick="this.form.action='pruebas.php'" value="Validar" class="texto-cuerpo88" />
    </form>
<?
} else {
    
$valor1=1;
    
$valor2=2;
    
$valor3=3;
    
$valor4=4;
    if (
$_POST['valores'] == 1){
        
$resultado '2%';
    }elseif (
$_POST['valores'] == 2){
        
$resultado '3%';
    }elseif (
$_POST['valores'] == 3){
        
$resultado '50%';
    }elseif (
$_POST['valores'] == 4){
        
$resultado '1%';
    }else{
        
$resutado="esperando resultado";
    }
}
?>
tambien te recomiendo que cambies el los if y elseif por un switch, quedaría asi:

Código PHP:
    switch($_POST["valores"])
    {
        case 
1
            
$resultado='2%';
            break;
        
        case 
2
            
$resultado '3%';
            break;
        
        case 
3
            
$resultado '50%';
            break;
        
        case 
4
            
$resultado '1%';
            break;
        
        default:
            
$resutado="esperando resultado";
            break;
    } 
Espero que te lo solucione y recuerda que saber programar no es saberse todas las funciones de php, si no poder solucionar problemas sin saber programar ^^.
  #4 (permalink)  
Antiguo 07/02/2008, 09:42
 
Fecha de Ingreso: enero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Errores con POST

gracias, si que me sirvió el empty.

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 11:15.