Ir para conteúdo

POWERED BY:

Arquivado

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

joeythai

Inserção com botão tipo Button

Recommended Posts

boa tarde rapaziada,

 

estou tentando fazer inserção de dados a partir de um botão tipo button, porém, não estou conseguindo, vejam o código:

 

 

<form action="<? $_SERVER['PHP_SELF']?>" method="post">
<div id="time_acionado">
     <table>
        
        <th colspan="4"><h1>Acionamento de Equipe</h1></th>
      
        <tr>
        <td colspan="4">
        <label><strong>Área Acionada:</strong>
        <select name="area_acionada" id="area_acionada">
        <option value="selecione" selected>Selecione</option>
         <option value="microsoft">Microsoft</option>
            <option value="redes">Redes</option>
            <option value="telecom">Telecom</option>
            <option value="outros">Outros</option>
        </select>
        </label>
        </td>
        </tr>
        <tr>
        <td></td>
        <td>        
         <input type="hidden" name="play">
        <button type="button" id="play" name="play">Play</button>
        <!--<input type="image" src="tcrono/img/play.png" onClick="setInterval('tempo()',986); return false;" width="24" height="24">--></td>
        <td>
       <button type="button" id="pause" name="pause">II</button>
        <!--<input type="image" src="tcrono/img/pause.png" onClick="pause();" width="24" height="24">--></td>
        <td>
        <button type="button" id="stop" name="stop">Stop</button>
        <!--<img src="tcrono/img/stop.png" width="24" height="24">--></td>
        </tr>     
        </table>
        </div>
       </form>
    
   <?php 
   if(isset($_POST['play'])){
  extract($_POST);
  
  $date = date('Y-m-d H:i:s');
  $login = $_SESSION['login'];
  $area_acionada = $_POST['area_acionada'];
  
  $insereDados = "INSERT INTO tb_time_acionamento VALUES (null,'$login','','$data',null,'$area_acionada',null, null, null, null); ";
   
$insert = mysql_query($insereDados); 
  }  
   
   ?>
 

 

o que eu quero fazer é registrar o período de um acionamento de equipes, inclui um tipo hidden pois, estou fazendo um curso online e sei que é necessário o hidden para usar um tipo button mas não está inserindo nada e nem exibe erros também, o que pode ser ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seus buttons não fazem nada. Nenhum é um submit. Logo seu form nunca será enviado. Você vai ter de vincular uma ação Javascript neles, se quiser que cada um faça uma coisa diferente.

 

 

Detalhe: faltou o echo aqui:

 

 

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">

 

(também prefira as as tags completas (<?php em vez de <?). Veja mais aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

troquei para button tipo submit agora ele com os botões que criei, outra coisa, ontem eu já estava enviando com o botão tipo submit mesmo e não button, pegava a login da sessão normalmente, agora fala que está indefinido minha variavel login e eu nem alterei o código nem nada,

 

<code>

 

ini_set('display_errors','on');
error_reporting(E_ALL);
date_default_timezone_set('America/Sao_Paulo');
include 'includes/mysqlconecta.php';
if($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['manda'])){
extract($_POST);
$data = date('Y-m-d H:i:s');
$login = $_SESSION['login'];
if(isset($_POST['area_acionada'])){
$area_acionada = $_POST['area_acionada'];
}
else{
$area_acionada = 'Campo nullo';
}
$insereDados = "INSERT tb_time_acionamento VALUES (null,'$login','$data',null,'$area_acionada',null,null,null,null); ";
mysql_query($insereDados);
}

</code>

 

também coloquei session_start lá no topo do código e fala que já existe uma sessão iniciada, estranho porque de um dia para o outro sem nada ser alterado para de funcionar e toda vez que dou refresh na página é inserido mais um registro no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Debug o código, utilize um echo em

session_id();

para ver o que ta acontecendo. Para terminar todas as sessões utilize também

ini_set('session.cookie_lifetime',0);

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Debug o código, utilize um echo em

session_id();

para ver o que ta acontecendo. Para terminar todas as sessões utilize também

ini_set('session.cookie_lifetime',0);

não sei o que acontece, ele voltou a imprimir o login normalmente e agora parou tudo, não insere, não dá erro, sei lá, até reiniciei o micro achando que é problema do micro, não faço idéia do pq ele funciona e para, quando postei esse post, ele estava funcionando, depois parou de ontem pra hoje sem alterar o código nem nada, depois voltou a funcionar e agora tá parado de novo, não sei o que é

não sei o que acontece, ele voltou a imprimir o login normalmente e agora parou tudo, não insere, não dá erro, sei lá, até reiniciei o micro achando que é problema do micro, não faço idéia do pq ele funciona e para, quando postei esse post, ele estava funcionando, depois parou de ontem pra hoje sem alterar o código nem nada, depois voltou a funcionar e agora tá parado de novo, não sei o que é

Consegui arrumar o bug aqui, mas o problema do refresh na página ainda não, se dou refresh, ele insere mais um registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o problema aqui pessoal, redirecionei a página para ela mesmo. O problema do login era porque a session havia terminado, por isso que as vezes pegava login e as vezes não, bom programador newbie é assim mesmo né kk. Gostaria que avaliassem minha lógica para ver o que devo melhorar.

 

Preciso fazer um módulo para acionamento de equipes, por exemplo:

 

Eu clico em iniciar, e salvo a data e hora atual no banco com status iniciado, quando clico em stop ele tem que fazer um update no campo fim fim da minha tabela, também pegando a hora atual, depois faço um cálculo desses campos e calculo o tempo total de acionamento, o problema é que não está fazendo esse update e outro problema é o caso de mais de um usuário estiver fazendo esses acionamento, se eu setar hora final para status iniciado e tiver mais de um usuário acionando as equipes, ele alteraria esses registros. O que eu poderia melhorar nessa lógica ?

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.