collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Ajuda com código PHP  (Lida 3386 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline m2snd

  • Mini Robot
  • *
  • Mensagens: 65
Ajuda com código PHP
« em: 28 de Julho de 2011, 19:39 »
Ola pessoal!
Preciso da vossa  preciosa ajuda.

Tenho este código em PHP com um exemplo para um Switch com opção ON/OFF.
Tentei modifica-lo para dois Switch´s com as mesmas opções ON/OFF. O problema é que ao fazer por exemplo ON no Switch1 e depois fazer, também ON no Switch2, a indicação de ON no primeiro Switch desaparece ficando apenas a indicação ON no segundo Switch. O mesmo acontece com a opção OFF. Tenho isto a correr num servidor.
Será que me podem indicar como poderei fazer para ficar a indicação independentemente em cada Switch conforme a minha opção?

Muito obrigado

Código: [Seleccione]
  <?php

    exec
('mode COM4: baud=9600 data=8 stop=1 parity=n xon=no');

    
$switch1 "";
    
$switch2 "";

    
/* Serial script for pan/tilt Camera with servos */
    /* Script by Aneal Khimani, 2-12-10 */

    //check the GET action SuperGlobal var to see if an
    //action is to be performed

    
if (isset($_GET['action'])) {

    
$switch1 $_GET['action'];
     
$switch2 $_GET['action'];

    
//Action required

    
switch ($switch1) {
    case 
"on":
    
$fp fopen("COM4""w");
    
fwrite($fpchr(97));
    
fclose($fp);
    break;

    case 
"off":
    
$fp fopen("COM4""w");
    
fwrite($fpchr(98));
    
fclose($fp);
    break;
}

switch (
$switch2) {

    case 
"on2":
    
$fp fopen("COM4","w");
    
fwrite($fpchr(99));
    
fclose($fp);
    break;

    case 
"off2":
    
$fp fopen("COM4","w");
    
fwrite($fpchr(100));
    
fclose($fp);
    break;
    }
}


?>


 <html>
    <body>
  <right>
    <p>
    <font size="4">Switch1</font><br />
    <table width="30">
   
    <tr><td><a href="<?=$_SERVER['PHP_SELF'] . "?action=on" ?>">On</a></td><td><?php if($switch1 == 'on'){echo "<b>ON</b>";} ?></td></tr>
    <tr><td><a href="<?=$_SERVER['PHP_SELF'] . "?action=off" ?>">Off</a></td><td><?php if($switch1 == 'off'){echo "<b>OFF</b>";} ?></td></tr>
  </right> 
 
 <table width="30"> 
 <font size="4">Switch2</font><br />
   
<center>
  <tr><td><a href="<?=$_SERVER['PHP_SELF'] . "?action=on2" ?>">On</a></td><td><?php if($switch2 == 'on2'){echo "<b>ON2</b>";} ?></td></tr>
    <tr><td><a href="<?=$_SERVER['PHP_SELF'] . "?action=off2" ?>">Off</a></td><td><?php if($switch2 == 'off2'){echo "<b>OFF2</b>";} ?></td></tr>

    </table>
    </p>

    </center>
    </body>
    </html>

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Ajuda com código PHP
« Responder #1 em: 28 de Julho de 2011, 22:05 »
Tens um caracter para cada botão, e só envias um caracter, por isso não consegues ter informaçao de vários estados, só de um estado de cada vez, ou fazes uma pequena tabela e tens vários caracteres, cada um diz se cada switch está on ou off, ou então mandas vários caracteres numa string.
Mas isso bastava dois bits.
Avr fanboy

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Ajuda com código PHP
« Responder #2 em: 29 de Julho de 2011, 10:28 »
Nada disso, só tens de passar sempre os 2 estados como argumento.

Por exemplo:
Se a tua página for do género "pagina.php?sw1=on&sw2=off", tens acesso aos estados assim:
Código: [Seleccione]
$sw1 = $_GET['sw1'];
$sw2 = $_GET['sw2'];

Depois de teres acesso aos estados, fazes o que quiseres com eles.
Depois só tens de alterar a forma como alteras a variável.

O teu <a href="..."> tem que apontar para a mesma página, mas tens de passar sempre as 2 variáveis para manter a que não queres alterar.
Por exemplo, queres alterar o botão1:

tens de fazer um link (href) para a página, com o estado do botão 1 contrário ao que está na variável $sw1 e o estado do botão 2 igual ao que está na variável $sw2.

Offline m2snd

  • Mini Robot
  • *
  • Mensagens: 65
Re: Ajuda com código PHP
« Responder #3 em: 30 de Julho de 2011, 12:44 »
microbyte, obrigado!!!!

Já tenho isto a funcionar. Agora vou ver se consigo replicar o código para mais  sw´s.

Obrigado pela tua preciosa ajuda, sem  a qual acho que não chegaria lá. O código foi quase completamente modificado.

Agora já sei a quem devo recorrer. para o PHP... :D