Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Lomakkeen käsittelyssä virhe Undefined index

Sivun loppuun

lihamestari1 [14.07.2013 16:19:26]

#

(Mod. siirsi PHP-oppaasta.)

Mitähän mä teen väärin näissä kun, tämä ja edelliset mitä olen kokeillut niin se tulostaa sivulle tekstin: " kuinkavanha olet ? ", sitten teksi kentän, ja sitten "Notice: Undefined index: ika in D:\xampp\htdocs\ikatarkistus.php on line 14".
Siviltä 14 alkaa toi php koodi "$ika = $_POST["ika"];",
tämän alle tulostuu teksti että "kiitos tiedoista"

Shamppa [05.09.2013 14:31:31]

#

jos oikein ymmärsin, sulla on luultavasti html ja php koodi samassa tiedostossa...
kokeile laittaa html-koodi erilliseen tiedostoon, esim. "ikatarkistus.html"

p99o [05.09.2013 19:37:31]

#

if(!isset($_POST['ika']) && empty($_POST['ika'])) {
 echo "Anna ikäsi!";
}

samip [05.09.2013 19:51:12]

#

p99o pätkässä varmaan pitäisi olla ||, ei &&

The Alchemist [05.09.2013 20:28:46]

#

Ei vaan tuossa ehtolauseessa ei kuuluisi olla isset()-kutsua ollenkaan.

Kannattaisi lukea virheilmoitus. Yrität käpistellä taulukon indeksiä, jota ei ole olemassa. Monissa kielissä tällainen varomaton käytös johtaisi ohjelman välittömään kaatumiseen, mutta php:ssä valitettavasti ongelma kuitetaan tuollaisella puolivillaisella virheviestillä.

Lebe80 [06.09.2013 11:44:07]

#

Shamppa kirjoitti:

jos oikein ymmärsin, sulla on luultavasti html ja php koodi samassa tiedostossa...
kokeile laittaa html-koodi erilliseen tiedostoon, esim. "ikatarkistus.html"

voi jumalauta sentään mikä neuvo!

knuutti [06.09.2013 12:18:38]

#

No eiköhän tämä jamppa ole jo ajat sitten ratkaisut tämän ylläpidon henkiin herättäneen pari kk vanhan "topici":n triviaalin ongelman. Saipahan mittaria taas vähän värähtämään.

Metabolix [06.09.2013 12:18:55]

#

Ensimmäinen neuvo on ihan relevantti siltä kannalta, että oppaassa esitetään erikseen lomake ja sen käsittelevä koodi, jotka on tarkoitus ajaa eri tilanteissa. Ongelma johtuu siitä, että käsittelykoodi on laitettu heti lomakkeen perään: lomaketta ei voi käsitellä, kun sitä ei ole vielä lähetettykään. Helppo korjaus on laittaa koodit eri tiedostoihin. Toki silti muuttujien olemassaolon tarkistaminen on ylipäänsä järkevää sekä looginen tapa selvittää, onko lomake lähetetty.

knuutti kirjoitti:

ylläpidon henkiin herättäneen pari kk vanhan "topici":n

Keskustelun herääminen henkiin on kylläkin aivan Shampan ansiota; hänen viestinsä oli keskustelussa jo ennen sen siirtämistä oikeaan paikkaan. Turha syyttää ylläpitoa.

The Alchemist [06.09.2013 12:23:06]

#

Ongelma ei ole php:n ja html:n sijainti samassa tiedostossa. Se on ihan hölmö oletus. Vika on siinä, että koodi on kirjoitettu väärin, eli että yritetään suorittaa kaikki koodi, vaikka eri osat pitää ajaa eri tilanteissa. Täytyy joko lisäillä if-elsejä tai kenties jopa jäsennellä koodi uusiksi perusteellisemmin.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta