collapse

* Links de Robótica

* Posts Recentes

Printer 3D barata por andre_f_carvalho
[Hoje às 13:09]


Procuro resistências 220 Ohm de 1% por brunus
[02 de Dezembro de 2016, 15:50]


Package de cond 10uF 35V smd? por KammutierSpule
[02 de Dezembro de 2016, 11:19]


Videos hipnoticos de mecanica industrial por TigPT
[02 de Dezembro de 2016, 00:07]


FPV Drone Racing? por brunus
[02 de Dezembro de 2016, 00:00]


Decodificar cabo por Hugu
[01 de Dezembro de 2016, 23:11]


Ajuda para replicar e reparar um Dimmer por brunus
[30 de Novembro de 2016, 23:23]


Adaptar impressora 3D a Drill Maschine por Hugu
[30 de Novembro de 2016, 23:20]


Módulo gsm por dio123
[30 de Novembro de 2016, 13:39]


RAM SO-DIMM 256 MB por Hugu
[29 de Novembro de 2016, 22:52]

Autor Tópico: Ajuda com código PHP  (Lida 830 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: 8.988
  • 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