+ Responder ao Tópico



  1. #1

    Padrão Uma var e varios valores no $_POST

    Ola, eu tenho uma pagina html daquelas tipo email, que tem umonte de checkbox q se pode selecionar, ai quando o cara clica no botao, ele envia essas variaveis para uma outra pagina, e nessa pagina se eu fizer por exemplo (supondo q o nome dos checkbox sejam "cb")

    $cb=$_POST['cb'];

    ele vai retornar apenas um dos valores, por mais q eu selecione todos, alguem sabe como eu posso resolver isso???

    eu ja tentei ler o "php://stdin" mas num funciona, ja tentei dar um while($cb=$_POST['cb']); mas (obviamente) tambem nao funcionou....se alguem puder por favor me ajudar, eu agradeco

  2. #2

    Padrão Uma var e varios valores no $_POST

    ah....ja ia esquecendo, nao posso colocar um radio no lugar do checkbox pq ia ser um pé no saco ficar deletando um a um

  3. #3

    Padrão Uma var e varios valores no $_POST

    acho que para checkbox cada checkbox deverá ter seu nome, pois cada checkbox poderá ter duas condições true e false, se vc usar vários checkbox com mesmo nome não irá funcionar mesmoo, ele ira retornar o valor de apenas um dos checkboxs.... o certo seria usar option mesmo...

    o que vc poderia fazer, no caso vc saiba o número da checkboxs que irão ser listados, vc pode criar váriaveis dinamicamente...

    tipo...

    crie nome pro checkbox dinamicamente, tipo name1, name2, name3, namex.

    <input type="checkbox" name="name1" ...
    <input type="checkbox" name="name2" ...
    <input type="checkbox" name="name3" ...

    elas podem ser criadas num looping... sei lá vai ao seu critério...

    se vc sabe o número de checkboxes, no arquivo que irá receber as váriaveis faça o seguinte....

    supondo que $z seja o numero de checkboxs...

    for($y = 0; $y = $z; $y++){
    $var = "name" . $y;
    $result[$y] = $$var; //com dois $$ mesmo
    }

    $result[$y] = $$var; isso seria o mesmo que $result[0] = $name0;

    vai da sua lógica agora.... o $$ cria váriavel com o nome sendo o conteudo de $var...

  4. #4

    Padrão Uma var e varios valores no $_POST

    ahh esqueci! o vetor $result irá guardar o resultado de todas os valores do checkboxes enviados...

  5. #5

    Padrão Uma var e varios valores no $_POST

    valeu PiTsA vo tentar....eu soh nao intendi o pq dos dois $$...se vc puder explicar....

  6. #6

    Padrão Uma var e varios valores no $_POST

    vamos explicar o do $$

    preste atenção no código...

    $teste = "lalalalala";

    $var = "teste";

    $ex = $$var;

    echo $ex;

    então o resultado será: "lalalalala";

  7. #7

    Padrão Uma var e varios valores no $_POST

    ah esqueci de falar, mas tem uma lib em C ( libcgi.sourceforge.net ) q permite q eu pegue a mesma var com valor diferente....pq quando eu uso no metoto GET, ele me retorna uma query string assim:

    blabla.php?var=1&var=0&var=0&var=1

    mas msm assim valeu

  8. #8

    Padrão Uma var e varios valores no $_POST

    AAEEEE.......valeu PiTsA, brigadao cara, funciono belezinha, eu usei a sua ideia dos nome diferentes pra cada checkbox e ao contrario da outra vez q eu tinha feito, dessa vez funciono, valeu cara....

  9. #9

    Padrão Uma var e varios valores no $_POST

    fico feliz...

    sempre uso isso quando tenho que criar campos dinamicamente, onde os números de campos variam para cada caso, e preciso saber pegar estes valores enviados destes campos.......

  10. #10
    Negro
    Visitante

    Padrão Uso de Array

    Dessa forma funciona, mas caso você precise ter um checkbox para cada item de seu select fica impossível você renomear cada um deles. P.Ex. se voce criar uma lista de usuarios com 500 nomes e deseja selecionar apenas alguns deles, digamos que 125, fica impraticável você sair renomeando cada um deles, principalmente se voce precisar acessar os codigos de cada um deles... Nesse caso você tem que criar um vetor e passá-lo para o php tratar.
    ex. localhost/pagina.php?codigo[]=23&codigo[]=26&codigo[]=123

    la no pagina.php voce precisa tratar o vetor - com um for ou while da forma que achar melhor - para obter os valores de cada um dos vetores acima -como ponteiro.

    A vantagem é que você fica com um código mais coeso e usa muito menos linhas de programação.

    faloras.

  11. #11
    Visitante

    Padrão Re: Uso de Array

    //Cria os checkbox com um for percorrendo os dados a serem listados
    for ($i=0;$i<numElementos;$i++){ //criar um vetor
    print "<inpyt type=\"checkbox\" name=\"codigo[$i]\" value=\".$codigosQuais\">";
    }

    //Quando vc submeter (abaixo segue caso seje via GET)
    //na outra pargina vc faz;

    $codigos = $_GET[codigo];
    for ($i=0;$i<count(codigos);$i++) {
    print codigos[$i];
    }

  12. #12
    Visitante

    Padrão Uma var e varios valores no $_POST

    // e pior vcs podem fazer


    //Cria os checkbox com um for percorrendo os dados a serem listados
    for ($i=0;$i<numElementos;$i++){ //criar um vetor
    print "<inpyt type=\"checkbox\" name=\"codigo[$i][codigo]\" value=\".$codigosQuais\">";
    print "<inpyt type=\"text\" name=\"codigo[$i][nome]\" value=\"NomeTeste\">";
    }

    //Quando vc submeter (abaixo segue caso seje via GET)
    //na outra pargina vc faz;

    $codigos = $_GET[codigo];
    for ($i=0;$i<count(codigos);$i++) {
    print codigos[$i][codigo];
    print codigos[$i][nome];
    }

    Legal né


    na que postei antes no segundo for é assim // Ah é count(codigos) ou sizeof(codigos)

    for ($i=0;$i<count(codigos);$i++) {
    print codigos[$i];
    }

    Certim?
    Gildasio Lecchi Cravo

  13. #13

    Padrão Uma var e varios valores no $_POST

    legal cara q da pra fazer dessa maneira...

    quanto ao "impraticavel" que vc disse, eu uso a maneira que citei acima e funciona normal..... fica prático prático... mesmo se for selecionar algumas checkboxes ou todas as checkboxes..... =) .... faça uns testes e verá isso...
    as linhas de códigos são poucas, pois tb é usado um laço para a criação do formulário e recuperação das váriaveis....

  14. #14
    Visitante

    Padrão Uma var e varios valores no $_POST

    Alguem sabe como deletar uma posicao de um vetor
    ex.:


    $vet[] = "Teste1";
    $vet[] = "Teste2";
    $vet[] = "Teste3";
    $vet[] = "Teste4";
    $vet[] = "Teste5";


    agora deletar $vet[1];

    mas de maneira que: quando for percorrer o vetor a posicao 1 não tenha mas nada ... na verdade naum exista (como se numca existisse) estou usando UNSET mas quando faço um FOR ele imprimir a posicao em banco do vetor.


    valeu

  15. #15
    jamba
    Visitante

    Padrão Uma var e varios valores no $_POST

    Tem varias formas de fazer. Tenho um siwtema aqui que no qual possuo 3 campos checkbox. Ao serem selecinados e submetidos, irao pra outra pagina. nessa outra pagina uso o 'foreach' para desmembrar o array.

    **** form.htm ********
    <input type="checkbox" name="serie[]" value="1" />
    <input type="checkbox" name="serie[]" value="2" />
    <input type="checkbox" name="serie[]" value="3" />

    **** enviado.php ******
    foreach ($_REQUEST['serie'] as $arr) {
    echo $arr."<br />";
    }

    ou ainda colocando dentro de um for e depois desmembrar com o foreach

  16. #16
    Visitante

    Padrão Deletando uma posicao do vetor

    $vetor[] = "Str1";
    $vetor[] = "Str2";
    $vetor[] = "Str3";
    $vetor[] = "Str4";
    $vetor[] = "Str5";

    Para deletar a primeiro posição faça:

    unset (vetor[0]);

    Fim!