Advertisement
LightProgrammer000

Calculo do Salario [HMTL + PHP + JavaScript]

Nov 21st, 2018
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 8.66 KB | None | 0 0
  1. <!-- *************************************** SECAO HTML  *************************************** -->
  2. <!-- *************************************** SECAO HTML  *************************************** -->
  3. <!-- *************************************** SECAO HTML  *************************************** -->
  4.  
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6.  
  7. <html xmlns = "http://www.w3.org/1999/xhtml">
  8. <meta charset = "UTF-8">
  9.  
  10. <head>
  11.     <title> EXERCICIO 1 </title>
  12. </head>
  13.    
  14.     <!-- SECAO CSS -->
  15.     <style type = "text/css">  
  16.  
  17.     /* Tamanho de todas as letras */   
  18.     *  
  19.     {
  20.         font-size:20px;
  21.     }
  22.  
  23.     /* Fundo de cor azul claro */      
  24.     body
  25.     {
  26.         background-color:lightblue;
  27.     }
  28.    
  29.     /* Texto nao estatico */
  30.     marquee
  31.     {
  32.    
  33.         color: red;
  34.         text-decoration: underline;
  35.         font-size:20px;
  36.         font-family: "Comic Sans MS";
  37.     }
  38.    
  39.     /* Caixa que comporta as credenciais */
  40.     fieldset
  41.     {
  42.         width: 200px;
  43.         margin-top:0;
  44.         margin-bottom: auto;
  45.         margin-left: auto;
  46.         margin-right: auto;
  47.     }
  48.  
  49.     /* Filho "label" do "Pai" Paragrafo (id=aviso) */  
  50.     p#aviso > label
  51.     {
  52.         color: red;
  53.         font-family: "impact";
  54.        
  55.         margin-top: 30px;
  56.         margin-bottom: 0px;
  57.         margin-left: 0px;
  58.         margin-right: 0px;
  59.     }
  60.    
  61.     /* Todas as marcacoes "label" exceto as que tem Pai */ 
  62.     label
  63.     {
  64.         color: blue;
  65.         font-family: "arial";
  66.     }
  67.        
  68.     /* "input" dentro do "fieldset" (Caixa que comporta as credenciais) */ 
  69.     fieldset input
  70.     {
  71.         width:600px;       
  72.     }
  73.    
  74.     /* Pai "div"(id=btn) e filho "input"*/
  75.     div#btn > input
  76.     {
  77.         width:250px;
  78.         margin-top:0;
  79.         margin-bottom:0px;
  80.         margin-left:0px;
  81.         margin-right:0px;  
  82.     }
  83.    
  84.     /* Pai "div"(id=btn) e filho "input"
  85.     Coloracao do background do botao */
  86.     div#btn > input:hover
  87.     {
  88.         background-color:gray;
  89.     }  
  90.    
  91.     /* Botoes "Enviar" e "Limpar" */   
  92.     input[type="submit"], input[type="reset"]
  93.     {
  94.         display: inline-block;
  95.         padding: 15px 25px;
  96.        
  97.         cursor: pointer;
  98.         outline: none;
  99.  
  100.         border: none;
  101.         border-radius: 15px;
  102.         box-shadow: 0 9px #999;
  103.  
  104.         font-size: 24px;
  105.         text-align: center;
  106.         text-decoration: none;
  107.  
  108.         color: #fff;
  109.         background-color: #4CAF50;
  110.     }
  111.  
  112.     /* Botao(Enviar) "input" tipo "submit" */
  113.     input[type="submit"]:hover
  114.     {
  115.         background-color: #3e8e41;
  116.     }
  117.  
  118.     /* Botao(Enviar) "input" tipo "submit" */
  119.     input[type="submit"]:active
  120.     {
  121.         transform: translateY(4px);
  122.  
  123.         box-shadow: 0 5px #666;
  124.         background-color: #3e8e41;
  125.     }  
  126.    
  127.     /* Botao(Reset) "input" tipo "reset" */
  128.     input[type="reset"]:hover
  129.     {
  130.         background-color: #3e8e41;
  131.     }
  132.    
  133.     /* Botao(Reset) "input" tipo "reset" */
  134.     input[type="reset"]:active
  135.     {
  136.         transform: translateY(4px);
  137.  
  138.         box-shadow: 0 5px #666;
  139.         background-color: #3e8e41;
  140.     }
  141.     </style>
  142.    
  143.     <!-- SECAO JAVASCRIPT -->
  144.     <script type = "text/javascript">
  145.    
  146.     // Alerta sobre "AVISO" [onclick = "alert_aviso();"]
  147.     function alert_aviso()
  148.     {
  149.         alert("Substitua ',' (virgula) por '.' (ponto), nos campos: " + "\n" + "Salario fixo (R$); " + "\n" + "Total de vendas (R$); " +
  150.                       "\n" + "Percentual ganho sobre o total de vendas(%); " + "\n" + "Obrigado pela compreensao.");
  151.     }
  152.    
  153.     // Alerta sobre o "Nome" [onclick = "alert_nome();"]
  154.     function alert_nome()
  155.     {
  156.         alert("Digite seu nome");
  157.     }
  158.  
  159.     // Alerta sobre o "Salario" [ onclick = "alert_salario();" ]
  160.     function alert_salario()
  161.     {
  162.         alert("Digite seu salario." + "\n" + "Ex: 1234.45");
  163.     }  
  164.  
  165.     // Alerta sobre as "Total de vendas" [ onclick = "alert_vendas();" ]
  166.     function alert_vendas()
  167.     {
  168.         alert("Digite o valor de suas vendas" + "\n" + "Ex: 1000.45");
  169.     }
  170.  
  171.     // Alerta sobre o "Percentual total de vendas" [ onclick = "alert_percentual();" ]
  172.     function alert_percentual()
  173.     {  
  174.         alert("Digite o percentual de ganho" + "\n" + "Ex: 10.23 ");
  175.     }
  176.  
  177.     /* Protecao contra a insercao de dados [ onkeyup = "numeros(this);" ]
  178.     1. Letras
  179.     2. Virgulas
  180.     3. Pontos sucessivos
  181.     */
  182.     function numeros(campo)
  183.     {
  184.         if ( isNaN(campo.value) )
  185.         {
  186.             // Codigo que retira caracteres e letras alem do cursos voltar 1 passo
  187.             campo.value = campo.value.substr( 0 , campo.value.length - 1 );
  188.         }
  189.     }
  190.     </script>
  191.  
  192. <body>
  193. <marquee> EXERCICIO 1 </marquee> <br> <br>
  194.  
  195. <!-- FORMULARIO -->
  196. <fieldset>
  197.     <legend> Informacoes profissionais de vendedores </legend>
  198.     <form action = "Ex1.1.php" method = "post">
  199.  
  200.     <p id = "aviso"> <label for = "aviso" title = "Leia-me" onclick = "alert_aviso();"> AVISO !!! </label> </p>
  201.        
  202.     <p> <label for = "nome" title = "Clique aqui" onclick = "alert_nome();"> Nome:
  203.     </label> <br>
  204.     <input type = "text" name = "nome" tabindex = "1" accesskey = "n"> </input> <br> </p> <!-- apertar alt+n (Windows) -->
  205.  
  206.     <p> <label for = "salario_fixo" title = "Clique aqui" onclick = "alert_salario();"> Salario fixo (R$):
  207.     </label> <br>
  208.     <input type = "text" name = "salario_fixo" tabindex = "2" onkeyup = "numeros(this);"> </input> <br> </p>
  209.    
  210.     <p> <label for = "total_vendas" title = "Clique aqui" onclick = "alert_vendas();"> Total de vendas (R$):
  211.     </label> <br>
  212.     <input type = "text" name = "total_vendas" tabindex = "3" onkeyup = "numeros(this);"> </input> <br> </p>
  213.  
  214.     <p>
  215.     <label for = "percentual_total_vendas" title = "Clique aqui" onclick = "alert_percentual();"> Percentual ganho sobre o total de vendas (%):
  216.     </label> <br>
  217.     <input type = "text" name = "percentual_total_vendas" tabindex = "4" onkeyup = "numeros(this);"> </input> <br> </p>
  218.  
  219. <!-- BOTOES -->
  220. <div id = "btn">   
  221.     <input type = "submit" title = "Enviar dados criptografados" value = "Enviar"> </input>
  222.     <input type = "reset" title = "Limpar dados" value = "Limpar"> </input> <br> <br>
  223. </div>
  224.     </form>
  225. </fieldset> <br>
  226.  
  227. </body>
  228.  
  229. </html>
  230.  
  231. <!-- *************************************** SECAO PHP  *************************************** -->
  232. <!-- *************************************** SECAO PHP  *************************************** -->
  233. <!-- *************************************** SECAO PHP  *************************************** -->
  234.  
  235. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  236.  
  237. <html xmlns = "http://www.w3.org/1999/xhtml">
  238. <meta charset = "UTF-8">
  239.  
  240. <head>
  241.     <title> EXERCICIO 1 </title>
  242. </head>
  243.  
  244.     <!-- SECAO CSS -->
  245.     <style type="text/css">
  246.    
  247.     /* Botoes "Enviar" */  
  248.     input[type="submit"]
  249.     {
  250.         display: inline-block;
  251.         padding: 15px 25px;
  252.    
  253.         cursor: pointer;
  254.         outline: none;
  255.  
  256.         border: none;
  257.         border-radius: 15px;
  258.         box-shadow: 0 9px #999;
  259.  
  260.         font-size: 24px;
  261.         text-align: center;
  262.         text-decoration: none;
  263.  
  264.         color: #fff;
  265.         background-color: #4CAF50;
  266.     }
  267.  
  268.     /* Botao(Enviar) "input" tipo "submit" */
  269.     input[type="submit"]:hover
  270.     {
  271.         background-color: #3e8e41;
  272.     }
  273.  
  274.     /* Botao(Enviar) "input" tipo "submit" */
  275.     input[type="submit"]:active
  276.     {
  277.         transform: translateY(4px);
  278.  
  279.         box-shadow: 0 10px #666;
  280.         background-color: #3e8e41;
  281.     }
  282.     </style>
  283.  
  284. <?php
  285.  
  286. // Evita mostragem de erros
  287. error_reporting(0);
  288.  
  289. // Regastar as informacoes
  290. $nome = $_POST["nome"];// Nome do Vendedor
  291. $salario_fixo = $_POST["salario_fixo"];// Salario Fixo
  292. $total_vendas = $_POST["total_vendas"];// Total de Vendas
  293. $percentual_total_vendas = $_POST["percentual_total_vendas"]; // Percentual ganho do total vendas
  294.  
  295.     //////////////////////// Logica ////////////////////////
  296.  
  297.     // Protecao: Campos vazios
  298.     if( $nome == "" || $salario_fixo == "" || $total_vendas == "" || $percentual_total_vendas == "" )
  299.     {
  300.         echo " <h2> Por favor, digite os valores corretamente nos campos </h2> ";
  301.     }
  302.  
  303.     // Protecao em cima da protecao do JavaScript: Campos nao numericos
  304.     elseif( !is_numeric( $salario_fixo ) || !is_numeric( $total_vendas ) || !is_numeric( $percentual_total_vendas ) )
  305.     {
  306.         echo " <h2> Por favor, digite os valores corretamente nos campos </h2> ";
  307.     }
  308.  
  309.     // Protecao: Campos numericos negativos
  310.     elseif( $salario_fixo < 0 || $total_vendas < 0 || $percentual_total_vendas < 0 )
  311.     {
  312.         echo " <h2> Por favor, digite os valores corretamente nos campos </h2> ";
  313.     }
  314.  
  315.     // Caso contrario a todas as restricoes acima
  316.     else
  317.     {
  318.         $comissao = $total_vendas * $percentual_total_vendas / 100;
  319.         $TOTAL = $salario_fixo + $comissao;
  320.         $TOTAL = round( $TOTAL, 2 ); // Formataca para duas casas decimais
  321.         /*$TOTAL = number_format( $TOTAL, 2, '.', '' ); // Formatacao numerica de dois numeros apos o ponto somente
  322.         */
  323.    
  324.         // Impressao
  325.         echo
  326.         " <h3> O vendedor " . $nome . " possui um salario de R$ " . $salario_fixo . " ."
  327.         . " Como ele efetuou um total de vendas de R$ " . $total_vendas . " e recebe um percentual de "
  328.         . $percentual_total_vendas . "%" . " sobre o valor total das vendas, ele devera receber R$ "
  329.         . $TOTAL . " ao final do mes! </h3> ";
  330.     }
  331. ?>
  332.  
  333. <a href="Ex1.0.html"> <input type="submit" value="Voltar"> </input>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement