1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

AJUDA - formulário PHP, problema c/ checkbox's

Discussão em 'Web Development' iniciada por [r4g3], 6 de Outubro de 2006. (Respostas: 2; Visualizações: 827)

  1. [r4g3]

    [r4g3] Power Member

    Boas pessoal da techzone!
    Tenho aqui um problema com um formulário em PHP para ser usado como inscrição numa conferência.
    O problema é o seguinte: para além de campos normais de texto como nome, morada, etc, tenho tb 6 checkbox's para quem estiver interessado inscrever-se nos workshops disponiveis. E aqui é q entra a bronca, visto que tenho um form "calcula" que no final desse formulário vai calcular o valor total a pagar (já com o preço base + n.º workshops escolhidos). De referir que, este form "calcula" não faz nenhum insert numa base de dados (para já) e serve somente para calcular os tais valores para a pessoa que se inscreve ter logo ali disponível o total, sem ter mesmo de se inscrever.
    Espero por esta altura estar a ser claro...


    O problema agora é que eu não consigo que, caso a pessoa se engane e pretenda por exemplo pôr mais um workshop, as checkbox's fiquem "checked" como a pessoa tinha escolhido, para posterior envio para a base de dados (e aqui sim com o form completo e que inclui o valor calculado).

    Fica aqui somente o pedaço de código desta parte das checkbox's e da parte do valor total a pagar:

    <table width="100%" border="0" cellspacing="0" cellpadding="2">
    <form action="<?=$_SERVER["PHP_SELF"]?>" method="POST">
    <tr>
    <td>SP-1
    <input name="sp[0]" type="checkbox" VALUE="1"/>
    </td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>SP-2
    <input type="checkbox" name="sp[1]" value="1" /></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>SP-3
    <input type="checkbox" name="sp[2]" value="1" /></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>SP-4
    <input type="checkbox" name="sp[3]" value="1" /></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>SP-5
    <input type="checkbox" name="sp[4]" value="1" /></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>SP-6
    <input type="checkbox" name="sp[5]" value="1" /></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input name="calcula" type="submit" value="Calcular"></td>
    </tr>
    </FORM>
    </table>

    <p><span class="titulo1">Pagamento</span></p>
    Total a pagar (50 &euro; + 20 x n&ordm; de workshops):

    <?php

    if(isset($_POST["calcula"]))
    {
    $result = calcular($_POST["sp"]); // função calcular está num ficheiro à parte
    echo $result."€";
    }


    ?>


    Desde já obrigado a todos os que responderem, mesmo os que não me conseguirem dar a solução :D
     
  2. Ricardo Vidal

    Ricardo Vidal Power Member

    Olá,

    Penso que poderás conseguir algo mais eficiente se meteres javascript à mistura. Fazes o javascript imprimir e "calcular" os valores consoante os checkboxes escolhidos. E no fim, se a pessoa prentender enviar o form para inscrever, é só clicar porque sabe quanto custa.

    Mas se nao pretenderes usar javascript, deves usar ou uma base de dados (nem que seja temporária) ou então sessões para guardar os campos escolhidos. Se quiseres que ele preencha o campo, basta adicionar ao html o termo CHECKED que ele virá seleccionado.

    Espero que me tenha feito entender. Boa sorte.
     
  3. [r4g3]

    [r4g3] Power Member

    Obrigado pela reposta Ricardo.
    Acho que vou tentar mesmo usar uma tabela temporária na BD para tratar isto.
     

Partilhar esta Página