Autor Tema: PHP. Ayuda con sentencia Switch no funciona por problema uso incorrecto llaves  (Leído 2282 veces)

atom01

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Estimados su ayuda por favor, estoy partiendo en esto de la programación y necesito hacer un calculo, me recomendaron el método Switch pero el código me envía un error en la linea 21, a continuación les dejo el código:

Paso1.html


Código: [Seleccionar]
<body>

<form method="GET" action="paso2.php">
 Elija su AFP:
<select type="text" name="AFP">
  <option value="Capital">Capital</option>
  <option value="Cuprum">Cuprum</option>
  <option value="Habitat">Habitat</option>
  <option value="Planvital">Plan Vital</option>
  <option value="Provida">Pro Vida</option>
  <option value="Modelo">Modelo</option>
 

</select>
<br/><br/>
Sueldo Imponible: <input type="text"name="sueldo"value="">

       <input value="Calcular" type="submit"/>

</form>

</body>


paso2.php

Código: [Seleccionar]
<?php 

$AFP 
$_GET['AFP'];
$sueldo $_GET['sueldo'];

switch($_POST["AFP"]) {


case 
"Capital":{

echo 
'Capital <br/>';
echo 
'Sueldo Imponible:' $sueldo;  // aqui me arroja el error, que puede ser :S
echo '<br/>Cuenta de Capitalizacion Individual AFP:' $sueldo*0.1;
echo 
'<br/>Seguro Sobrevivencia e Invalides:' $sueldo*0.0141;
echo 
'<br/>Comision AFP:' $sueldo*0.0144;
echo 
'<br/>Seguro Social contra Riesgo de Acc del Trabajo y Enf. Prof.:' $sueldo*0.0095;
echo 
'<br/>Salud:'.$sueldo*0.07;
echo 
'<br/>-----------------';
echo 
'<br/>Total Descuento: '($sueldo*0.208);
break;
}

case 
"Cuprum":{

echo 
'AFP Cuprum <br/>';
echo 
'Sueldo Imponible:'.$sueldo;
echo 
'<br/>Cuenta de Capitalizacion Individual AFP:'.$sueldo*0.1;
echo 
'<br/>Seguro Sobrevivencia e Invalides:'.$sueldo*0.0141;
echo 
'<br/>Comision AFP:'.$sueldo*0.0148;
echo 
'<br/>Seguro Social contra Riesgo de Acc del Trabajo y Enf. Prof.:'.$sueldo*0.0095;
echo 
'<br/>Salud:'.$sueldo*0.07;
echo 
'<br/>-----------------';
echo 
'<br/>Total Descuento: '.($sueldo*0.208);
break;
}
case 
"Habitat":
{
echo 
'AFP Habitat <br/>';
echo 
'Sueldo Imponible:'.$sueldo;
echo 
'<br/>Cuenta de Capitalizacion Individual AFP:'.$sueldo*0.1;
echo 
'<br/>Seguro Sobrevivencia e Invalides:'.$sueldo*0.0141;
echo 
'<br/>Comision AFP:'.$sueldo*0.0127;
echo 
'<br/>Seguro Social contra Riesgo de Acc del Trabajo y Enf. Prof.:'.$sueldo*0.0095;
echo 
'<br/>Salud:'.$sueldo*0.07;
echo 
'<br/>-----------------';
echo 
'<br/>Total Descuento: '.($sueldo*0.206);
break;

}

case 
"Planvital":{

echo 
'AFP PlanVital<br/>';
echo 
'Sueldo Imponible:'.$sueldo;
echo 
'<br/>Cuenta de Capitalizacion Individual AFP:'.$sueldo*0.1;
echo 
'<br/>Seguro Sobrevivencia e Invalides:'.$sueldo*0.0141;
echo 
'<br/>Comision AFP:'.$sueldo*0.0041;
echo 
'<br/>Seguro Social contra Riesgo de Acc del Trabajo y Enf. Prof.:'.$sueldo*0.0095;
echo 
'<br/>Salud:'.$sueldo*0.07;
echo 
'<br/>-----------------';
echo 
'<br/>Total Descuento: '.($sueldo*0.198);
break;
}

case 
"Provida":{

echo 
'AFP Provida <br/>';
echo 
'Sueldo Imponible:'.$sueldo;
echo 
'<br/>Cuenta de Capitalizacion Individual AFP:'.$sueldo*0.1;
echo 
'<br/>Seguro Sobrevivencia e Invalides:'.$sueldo*0.0141;
echo 
'<br/>Comision AFP:'.$sueldo*0.0154;
echo 
'<br/>Seguro Social contra Riesgo de Acc del Trabajo y Enf. Prof.:'.$sueldo*0.0095;
echo 
'<br/>Salud:'.$sueldo*0.07;
echo 
'<br/>-----------------';
echo 
'<br/>Total Descuento: '.($sueldo*0.209);

break;
}

case 
"Modelo":{

echo 
'AFP Modelo<br/>';
echo 
'Sueldo Imponible:'.$sueldo;
echo 
'<br/>Cuenta de Capitalizacion Individual AFP:'.$sueldo*0.1;
echo 
'<br/>Seguro Sobrevivencia e Invalides:'.$sueldo*0.0141;
echo 
'<br/>Comision AFP:'.$sueldo*0.0077;
echo 
'<br/>Seguro Social contra Riesgo de Acc del Trabajo y Enf. Prof.:'.$sueldo*0.0095;
echo 
'<br/>Salud:'.$sueldo*0.07;
echo 
'<br/>-----------------';
echo 
'<br/>Total Descuento: '.($sueldo*0.201);
break;
}

}



?>



antemano muchas gracias



« Última modificación: 27 de Julio 2017, 19:28 por Ogramar »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:ayuda con sentencia Switch
« Respuesta #1 en: 12 de Julio 2017, 00:05 »
Hola atom01

Lo primero recomendarte leer el siguiente enlace donde se encuentran las normas básicas del foro, entre ellas están como poner títulos adecuados, pegar código correctamente en tus mensajes y algunas cosas más.

https://www.aprenderaprogramar.com/foros/index.php?topic=1460.msg7784#msg7784

El problema que contiene tu código es que estás usando llaves donde no deberían de existir, podrías repasar la sintaxis del switch en el siguiente enlace:

https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=553:switch-php-case-break-default-condicional-irangos-o-intervalos-ejemplos-ejercicios-resueltos-cu00820b&catid=70&Itemid=193

Código: [Seleccionar]
switch($variable) {
    case 1:
        ...
        break;
    case 2:
        ...
    case 3:
        ...
        break;
    default:
}

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".