Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ATTILA_GC

Criar outros botões PHP

Recommended Posts

Pessoal, boa tarde

 

Estou fazendo um projeto em que preciso acionar através de 6 botões um determinado sistema. No caso criei um botão ON/OFF, mas quando não consigo criar os outros botões. Gostaria de que pudessem me ajudar a "completar" o código acrescentando os 5 botões restantes. Segue abaixo o código dá pagina em PHP. Desde já, obrigado pela atenção.

 

<html>
<head>


<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600' rel='stylesheet' type='text/css'>


<style type="text/css">


.onoffswitch {
    position: relative; width: 104px;
    -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
}
.onoffswitch-checkbox {
    display: none;
}
.onoffswitch-label {
    display: block; overflow: hidden; cursor: pointer;
    border: 2px solid #1A1A18; border-radius: 43px;
}
.onoffswitch-inner {
    display: block; width: 200%; ;
    -moz-transition: margin 0.3s ease-in 0s; -webkit-transition: margin 0.3s ease-in 0s;
    -o-transition: margin 0.3s ease-in 0s; transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {
    display: block; float: left; width: 50%; height: 42px; padding: 0; line-height: 42px;
    font-size: 27px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
    -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
.onoffswitch-inner:before {
    content: "ON";
    padding-left: 10px;
    background-color: #148727; color: #FFFFFF;
}
.onoffswitch-inner:after {
    content: "OFF";
    padding-right: 10px;
    background-color: #F20909; color: #F5EDED;
    text-align: right;
}
.onoffswitch-switch {
    display: block; width: 15px; margin: 13.5px;
    background: #FFFFFF;
    border: 2px solid #1A1A18; border-radius: 43px;
    position: absolute; top: 0; bottom: 0; right: 58px;
    -moz-transition: all 0.3s ease-in 0s; -webkit-transition: all 0.3s ease-in 0s;
    -o-transition: all 0.3s ease-in 0s; transition: all 0.3s ease-in 0s;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0px;
}


</style>


</head>




<body>


       <div class="onoffswitch">
          <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch">
             <label class="onoffswitch-label" for="myonoffswitch">
                  <span class="onoffswitch-inner"></span>
                  <span class="onoffswitch-switch"></span>
             </label>
       </div>


</body>


</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue abaixo o código dá pagina em PHP.

Isso é HTML puro, nada de PHP.

 

Qual é sua dúvida exatamente? Se quer criar 6 botões iguais, o PHP só entra se você colocar o HTML dos botões dentro de um loop

 

 

for ( $i = 0; $i < 6; $i++ )
{
    echo "código de um botão";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso realmente é html, mas isso não interfere muito no meu problema. A questão é que esse código aí gera um botão, segundo o que quero fazer é que cada botão desse aciona um elemento do sistema, eu quero mais 5 desses como coloquei na imagem que editei. A questão é que eu não consigo criar mais 5 botões desse para ficar igual como mostrado na imagem.

Como eu poderia em PHP chamar esse botão feito em html e gerar mais 5 dele para que cada uma acione um elemento do sistema?

23rs5f7.png

Segue a imagem do botão On/Off

mN58oj.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

É possível, sim. Você pode fazer com que cada botão pertença a um formulário diferente. O action de cada formulário será uma URL diferente, cada uma relacionada à ação do botào correspondente. Ao alterar o valor do botão, o formulário é enviado (leia sobre eventos do Javascript, como onChange) para o script PHP do action.

 

Dá pra melhorar tudo isso usando Ajax. Mas se não conhece Ajax, comece com o que citei acima. Depois que estiver funcionando, pesquise sobre ajax e como melhorar o sistema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, estou com esse código aqui, mas não consegui colocar o botão para representar cada led.

Poderia me ajudar com esse código?

 

<html>
<head>
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600' rel='stylesheet' type='text/css'>
<style type="text/css">
body { background: #9f9a9b; }
h1 { text-align: center;
font-family: 'Source Sans Pro', sans-serif; font-size: 6em;
color:#eee;
line-height: 63px;
margin: 46px 0;
}
form.control-panel-frm { margin: 0 auto;
text-align: center;}
</style>
<?php
// SPECIFY USB PORT TO USE
$usb_comPort = "COM3";
switch($_POST)
{
case isset($_POST['submitOn']):
exec("ECHO 1 > $usb_comPort"); // Turn On LED 1
break;
case isset($_POST['submitOff']):
exec("ECHO 2 > $usb_comPort "); // Turn Off LED 1
break;
case isset($_POST['submitOn1']):
exec("ECHO 3 > $usb_comPort"); // Turn On LED 2
break;
case isset($_POST['submitOff1']):
exec("ECHO 4 > $usb_comPort"); // Turn Off LED 1
break;
case isset($_POST['submitOn2']):
exec("ECHO 5 > $usb_comPort"); // Turn On LED 3
break;
case isset($_POST['submitOff2']):
exec("ECHO 6 > $usb_comPort"); // Turn Off LED 1
break;
case isset($_POST['submitOn3']):
exec("ECHO 7 > $usb_comPort"); // Turn On LED 4
break;
case isset($_POST['submitOff3']):
exec("ECHO 8 > $usb_comPort"); // Turn Off LED 1
break;
case isset($_POST['submitOn4']):
exec("ECHO 9 > $usb_comPort"); // Turn On LED 4
break;
case isset($_POST['submitOff4']):
exec("ECHO > $usb_comPort"); // Turn Off LED 1
break;
case isset($_POST['allon']):
exec("ECHO 1,3,5,7,9 > $usb_comPort"); // Desliga todos os botões
break;
case isset($_POST['alloff']):
exec("ECHO 0,2,4,6,8 > $usb_comPort"); // Liga todos os botões
break;
}
include("botao.php");
?>
</head>
<body>
<div style='position:absolute;margin-left:10px;margin-top:10px;width:300px;height:140px;z-index:1'>
<h1>Painel de Controle</h1>
<form class="control-panel-frm" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<br><br>
<input type='submit' name='submitOn' value='LED 1 ON'>
<input type='submit' name='submitOff' value='LED 1 OFF'>
<br><br>
<input type='submit' name='submitOn1' value='LED 2 ON'>
<input type='submit' name='submitOff1' value='LED 2 OFF'>
<br><br>
<input type='submit' name='submitOn2' value='LED 3 ON'>
<input type='submit' name='submitOff2' value='LED 3 OFF'>
<br><br>
<input type='submit' name='submitOn3' value='LED 4 ON'>
<input type='submit' name='submitOff3' value='LED 4 OFF'>
<br><br>
<input type='submit' name='submitOn4' value='LED 5 ON'>
<input type='submit' name='submitOff4' value='LED 5 OFF'>
<br><br>
<input type='submit' class="s3d turnOn" name='allon' value='ALL LEDs ON'>
<input type='submit' class="s3d switchoff" name='alloff' value='ALL LEDs OFF'>
</form>
</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

$_POST é um array. Ele não pode ser usado no switch.

E os case's receberão somente valores true ou false, pois a função isset retorna booleano

 

Leia mais sobre manipulação de Formulários com PHP:

http://www.devmedia.com.br/php-forms-manipulando-dados-de-formularios/29392

http://php.net/manual/pt_BR/tutorial.forms.php

 

Você pode fazer algo assim:

 

if ( isset($_POST['submitOn1']) )
{
     // ações
}
 
if ( isset($_POST['submitOff1']) )
{
     // ações
}
 
// repete tudo para 2, 3, 4 etc

 

É possível facilitar isso tudo usando arrays.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.