PHP lomake, checkboxit???

Panu82

Mähän oon siis ihan aloittelija tässä PHP:ssä. Ja mulla ois nyt sellanen ongelma, etten keksi mikä tossa php-koodissa mättää. Olen siis tehnyt lomakkeen, jossa on tarkoitus pystyä valitsemaan vaihtoehdoista useita ja lähettämisen jälkeen olis tarkoitus saada sähköpostiin tulemaan tiedot KAIKISTA valituista boxeista. Nyt en vain ymmärrä, missä vika...kun sähköpostiin tulee joko array:tä, erroria tms. Osaisko joku viisaampi korjata tuota mun alla olevaa koodia!!!???

Elikäs lomakkeessa php osuus on näin...




...jne


...jne


...jne


...jne


Ja käsittelijässä sitten näin:




Tuota array:tä en oikein ymmärrä ja uskon että siinä ainakin mättää?! Sitä ei vissiin pitäis käyttää, mutta mitä sitten tilalle???? Auttakaa ny miestä mäessä!

7

445

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Panu82

      siis tosta eka viestistä nyt katos se alun php eli se oli näin:




      ...jne

      ...jne

      ...jne

      ...jne

      • Panu82

        No ei se sitten näy...olkooon... ongelmahan onkin tuossa toisessa koodissa, et samapa tuo periaatteessa tuolle toiselle!

        Oisko ideoita miten muuttaa että tuo toimiski sitten?


    • Jaska Perusjaska

      Vika johtunee siitä, että $_POST['kevat'] jne. eivät ole taulukoita vaan merkkijonoja. Tai riippuu mitä html-koodissa on. Eli laitapa se kuitenkin näkyviin. Tagit saa näkymään uudessa s24:ssä ainakin kun laittaa välilyönnit < ja > merkkien molemmin puolin. Esim. < p > Minä olen kappale < /p >

      Ja laita myös se errori tänne, jos sellaista tarjoaa. Siinä kun useinmiten lukee missä vika on.

      Tuota foreachia en ymmärrä alkuunkaan, mitä sillä ajat takaa. Alussa sijoitat jo $posti-taulukkoon kevät, kesä, syksy ja talvi -muuttujien arvot.

      Eli $posti[0] sisältää ilman foreachiakin lomakkeen "kevat" -kohdan arvon.
      $posti[1] kesan jne.

      • Panu82

        Kokeillaanpa sitten noilla välilyönneillä laittaa...
        < html >
        < head >
        < /head >
        < body >
        < form action="aanestys1.php" method="post" >

        < input type="checkbox" name="kevat[]" value="kevat1" >
        < input type="checkbox" name="kevat[]" value="kevat2" >
        < input type="checkbox" name="kevat[]" value="kevat3" > jne. valueita on siis useampia per vuodenaika
        < input type="checkbox" name="kesa[]" value="kesa1" >
        < input type="checkbox" name="kesa[]" value="kesa2" >
        < input type="checkbox" name="kesa[]" value="kesa3" >jne.
        < input type="checkbox" name="syksy[]" value="syksy1" >
        < input type="checkbox" name="syksy[]" value="syksy2" >
        < input type="checkbox" name="syksy[]" value="syksy3" > jne.
        < input type="checkbox" name="talvi[]" value="talvi1" >
        < input type="checkbox" name="talvi[]" value="talvi2" >
        < input type="checkbox" name="talvi[]" value="talvi3" > jne.

        < input type="submit" value="Lähetä">
        < /table >
        < /form >
        < /body >
        < /html >

        Ja tällanen on se errori:
        Parse error: syntax error, unexpected ',' in /home/kiinanha/public_html/Kalenteriaanestys2010/kuvaaanestys1.php on line 19

        Kun nuita valueita on siis useampia per vuodenaika, niin millainen tuon käsittely.php pitäisi olla, että saan kaikki valitut checkboxit tulemaan sähköpostiin? Aluksi mulla oli sellanen koodi, että se lähetti vain sen viimeiseksi valitun aina kyseisen namen kohdalta, ei mitään muita. Eli miten saan näytille KAIKKI valuet jokaiselle name:lle??


      • keksa1
        Panu82 kirjoitti:

        Kokeillaanpa sitten noilla välilyönneillä laittaa...
        < html >
        < head >
        < /head >
        < body >
        < form action="aanestys1.php" method="post" >

        < input type="checkbox" name="kevat[]" value="kevat1" >
        < input type="checkbox" name="kevat[]" value="kevat2" >
        < input type="checkbox" name="kevat[]" value="kevat3" > jne. valueita on siis useampia per vuodenaika
        < input type="checkbox" name="kesa[]" value="kesa1" >
        < input type="checkbox" name="kesa[]" value="kesa2" >
        < input type="checkbox" name="kesa[]" value="kesa3" >jne.
        < input type="checkbox" name="syksy[]" value="syksy1" >
        < input type="checkbox" name="syksy[]" value="syksy2" >
        < input type="checkbox" name="syksy[]" value="syksy3" > jne.
        < input type="checkbox" name="talvi[]" value="talvi1" >
        < input type="checkbox" name="talvi[]" value="talvi2" >
        < input type="checkbox" name="talvi[]" value="talvi3" > jne.

        < input type="submit" value="Lähetä">
        < /table >
        < /form >
        < /body >
        < /html >

        Ja tällanen on se errori:
        Parse error: syntax error, unexpected ',' in /home/kiinanha/public_html/Kalenteriaanestys2010/kuvaaanestys1.php on line 19

        Kun nuita valueita on siis useampia per vuodenaika, niin millainen tuon käsittely.php pitäisi olla, että saan kaikki valitut checkboxit tulemaan sähköpostiin? Aluksi mulla oli sellanen koodi, että se lähetti vain sen viimeiseksi valitun aina kyseisen namen kohdalta, ei mitään muita. Eli miten saan näytille KAIKKI valuet jokaiselle name:lle??

        Tuolla tavalla kun tekee html-koodin, niin sieltä tulee sitten tuon nimisiä taulukoita.



        Kannattaa vaikka paperilla ensin jäsennellä tuota hommaa, kun tuo versiosi näyttää niin sekavalta. Luodaan array posti jota ei käytetä, tämän jälkeen haetaan arrayt edelleenkin POSTista, sen jälkeen puretaan ne foreachilla ja kirjoitetaan itsensä päälle (yksittäinen arvo taulukon päälle) eli Suomeksi ei minkään näköstä järkeä. Touhutaan vaan hirveesti ja toivotaan, että tarpeeksi kun ampuu sokkona, niin osuu oikeaan...


      • Panu82
        keksa1 kirjoitti:

        Tuolla tavalla kun tekee html-koodin, niin sieltä tulee sitten tuon nimisiä taulukoita.



        Kannattaa vaikka paperilla ensin jäsennellä tuota hommaa, kun tuo versiosi näyttää niin sekavalta. Luodaan array posti jota ei käytetä, tämän jälkeen haetaan arrayt edelleenkin POSTista, sen jälkeen puretaan ne foreachilla ja kirjoitetaan itsensä päälle (yksittäinen arvo taulukon päälle) eli Suomeksi ei minkään näköstä järkeä. Touhutaan vaan hirveesti ja toivotaan, että tarpeeksi kun ampuu sokkona, niin osuu oikeaan...

        Mähän tuossa kerroinkin jo, et meinaa olla mulle vähän hepreaa tää koko php, mutku nopeessa aikataulussa pitäis saada jonkinmoinen lomake tehtyä, pääkoppa on ihan sekasin, niin ihmekös tuo jos tulee tehtyä tuomosia räpellyksiä. Alunperin mulla oli siis vain tuo array tuossa ja jälkeenpäin mietinkin sit et pitäiskö se sittenkin olla se foreach.... mut joo, räpellys se on, sen myönnän. Mut siksi aattelin kääntyä jonkun viisaamman puoleen, ku oma touhu alko olemaan aika epätoivosta!

        Kiitos siis näistä neuvoista!


      • PerusMaukka
        keksa1 kirjoitti:

        Tuolla tavalla kun tekee html-koodin, niin sieltä tulee sitten tuon nimisiä taulukoita.



        Kannattaa vaikka paperilla ensin jäsennellä tuota hommaa, kun tuo versiosi näyttää niin sekavalta. Luodaan array posti jota ei käytetä, tämän jälkeen haetaan arrayt edelleenkin POSTista, sen jälkeen puretaan ne foreachilla ja kirjoitetaan itsensä päälle (yksittäinen arvo taulukon päälle) eli Suomeksi ei minkään näköstä järkeä. Touhutaan vaan hirveesti ja toivotaan, että tarpeeksi kun ampuu sokkona, niin osuu oikeaan...

        Siis häh? Saiko joku tosta selityksestä jotain tolkkua? Koitetaanko tässä nyt sanoa, että noi koodit kumoaa toinen toisensa vai mitä? Mikä se olis sitten niinkö se oikea tapa tehdä toi? Kiinnostaa tietää jos meikä joutuis tollasen väsäämään.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Venäjä aikoo yksipuolisesti muuttaa rajalinjauksia Suomenlahden itäosassa

      Venäjä aikoo muuttaa rajalinjauksia Suomenlahden itäosassa Venäjän saarten eteläpuolella. Ylen jutussa kerrotaan mm.
      Maailman menoa
      180
      1345
    2. Suomi lähettää tarkkailijoita merialueelle

      Venäjä on ilmoittanut aikovansa ylittää Suomen merialueen rajat kysymättä lupaa kertomalla että Suomen merialueen raj
      Maailman menoa
      311
      1050
    3. Jokohan se viimein myöntäisi

      Vai onko vielä jotain epäselvyyttä sen asian suhteen?
      Ikävä
      144
      1014
    4. RIP Lauri Paavola

      Kansalaisaktivisti ja freelance-journalisti Lauri Paavola on kuollut vain 31-vuotiaana. Hän tuli tunnetuksi hyvin kärjek
      Maailman menoa
      23
      997
    5. En pidä sinusta, en kirjoita viestejäni sinulle.

      Yritä nyt ymmärtää. En koskaan tule kiinnostumaan sinusta. Jätä minut rauhaan täällä.
      Ikävä
      96
      882
    6. Upea, kaunis ja menestynyt Martina menee onnellisesti naimisiin

      Mitäs palstan vihaajamönkeröt tähän? Kiehuttaako? Kaikki vain eivät ole kauniita ja menestyviä kuten Martina.
      Kotimaiset julkkisjuorut
      226
      848
    7. Tiedätkö näen

      sinun pelisi hyvin kirkkaasti.
      Ikävä
      59
      835
    8. Asuntojen reaalihinnat alimmillaan 20 vuoteen

      Sääliksi käy niitä jotka pari vuotta sitten maksoivat itsensä kipeäksi. Kohta pankki ottaa asunnon haltuunsa ja huutok
      Maailman menoa
      84
      818
    9. Nyt olis hyvä hetki tavata ja jutella

      Entinen parisuhde on paketoitu, ja nyt olisin vapaa mies sinun käyttöösi. Vieläkö tahdot mua? Aikaa on mennyt liikaa, mu
      Ikävä
      51
      768
    10. Ehdin aamulla

      ajattelemaan sinua. Olit ensimmäisenä mielessäni. Avasin silmäni tähän uneen, jota elämäksi kutsutaan. Kuuntelin lintuje
      Ikävä
      122
      762
    Aihe