PHP lomake, checkboxit???

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ä!
7620
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

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




...jne

...jne

...jne

...jne

Äänestä
  • 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?

    Äänestä

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.

Äänestä
  • 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??

    Äänestä

  • 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...

    Äänestä

  • 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!

    Äänestä

  • 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.

    Äänestä

Kommentoi aloitusta


Panu82 kirjoitti:

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ä!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu