Topic: Meta kazkokia klaida

Undefined index kas ce galetu buti?

Re: Meta kazkokia klaida

Pažodžiui: nenurodytas/neaprašytas indeksas. žmonių kalboje tai gali reikšti pvz nenurodytą masylo elemento ideksą.

3 (edited by Instinktas 2008-12-19 14:52:11)

Re: Meta kazkokia klaida

Raso taip
Notice: Undefined index: submit in C:\wamp\www\Registracija\registracija.php on line 26

I stai ta eiliute if($_POST['submit']){
ka cia reiktu pakest nesuprantu?cia gal tas wamp kaltas?

Re: Meta kazkokia klaida

$_POST yra masyvas, "submit" yra indeksas. Klaida sako, kad tokio elemento masyve nėra.

Kaip taisyti? Prieš naudojant patikrinti ar toks elementas masyve yra ir tik tada naudoti.

Hint: isset() funkcija.

Re: Meta kazkokia klaida

tai cia gal reikia pazioj pradzioj <form method="post" action="registracija.php">
gal reikia method submit rasy?

Re: Meta kazkokia klaida

Instinktas wrote:

gal reikia method submit rasy?

Na jeigu netiki, tuom ką parašiau tai labai gaila (-;

Ir speliodamas sintaksę nelabai toli nueisi. Yra specifikacija, yra protokolas, pagal juos viskas ir veikia, jeigu bandysi speėjimo metodu aiškintis HTML'ą tai bus labai labai sunku.

Re: Meta kazkokia klaida

Tai as ir meginu kazka ismokti , jei zinociau neklausciau bet pagal tavo paaiskinima nezinau kaip tai padaryti.

Re: Meta kazkokia klaida

Tai tame ir esmė, kad speliodamas nieko neišmoksi. Jeigu nori išmokti, tai išsikeli kažkokį tikslą ir jo sieki. Pvz HTML, PHP, MySQL, Javascript ar dar kas. Tada susirandi kažkokią knygą popierinę arba elektroniniame variante ir skaitai. čia su sąlyga, kad jau programuoti moki. Dažnai užtenka minėtų sistemų dokumentacijos, nes joje būna išdėstyta visa sintaksė su pavyzdžiais.

Dabar tavo situacijoje yra elementari problema, ar netgi dvi problemos:
a) tu nežinai, kas yra masyvas ir jo elementai;
b) tu nežinai, kaip veikia HTML formos;

Taigi tau padės:
http://www.w3schools.com/html/html_forms.asp
http://www.php.net/manual/en/language.types.array.php
http://php.net/manual/en/tutorial.forms.php

Re: Meta kazkokia klaida

Dekui ;)

10 (edited by Instinktas 2008-12-20 23:29:34)

Re: Meta kazkokia klaida

Tai pagal paskaitymus supratau kad man reikia aprasyt submiT?ar kaip?
pvz $submit = $_POST['submit'];
ar nusisneku?
bet nieko gero ir taip nebuna

Re: Meta kazkokia klaida

jei kalbant konkrečiai apie tavo klaidą, tai jos sprendimas būtų toks:
if (isset($_POST['submit'])) { //tikrinam ar egzistuoja masyvo elementas su duotoju indeksu
//kažką darom
} else {
//darom kažką kitką
}

bet manau naudos čia nulis, nes paprasčiausiai nesupranti apie duomenų perdavimą iš formos. bandysiu paaiškinti.
pradžiai apsirašai formą (pateiksiu elementarę):
<form action="script_i_kuri_perduodam.php" method="post">
...
<input type="text" name="forma1" value="" />
<input type="text" name="forma2" value="" />
...
<input type="submit" value="siųsti" />
</form>

po formos submitinimo, jei į laukelius buvo įrašyta info, faile script_i_kuri_perduodam.php tu gauni masyvą $_POST su dviem indeksais 'forma1' ir 'forma2' kurie saugo reikšmes iš formos laukelių. tačiau tie indeksai egzistuos tik tada, jei į laukelius bus įvestos kažkokios reikšmės. šitam dalykui nustatyti ir yra naudojama funkcija isset().
jei tu apskritai nori patikrinti ar forma buvo submitinta, tuomet formoj įterpi papildomą laukelį su atributu hidden ir suteiki jam kažkokią reikšmę, tarkim <input type="hidden" value="1" name="trigger" />. tuomet submitinus tokią formą joje visada bus masyvo indeksas 'trigger' pagal kurį ir sužinai, kad forma buvo submitinta. tikiuosi bent kiek aiškiau

Su sąlyga, kad šūdo nebus...

Re: Meta kazkokia klaida

Dažniausiai hidden lauko nereikia, nes galima tikrinti ar buvo paspaustas submit mygtukas. Tik jam reikia priskirti pavadinima:

<input type="submit" name="mygtukas" value="Siųsti">

Tada $_POST masyve bus elementas "mygtukas", kurio reikšmė bus lygi "Siųsti". Reikia nepamiršti, kad ta reikšmė bus tik tada, kada bus paspaustas mygtukas. Jeigu forma bus submitinama kitom priemonėm (pvz JS) tada to elemento ten nerasime.

13 (edited by Instinktas 2008-12-21 13:37:22)

Re: Meta kazkokia klaida

Dekui truko parasyti tik       if (isset($_POST['submit'])) {

                                    $submit = $_POST['submit'];

14 (edited by Instinktas 2008-12-21 13:54:08)

Re: Meta kazkokia klaida

Edit: viskas ok.

Re: Meta kazkokia klaida

Taip, žinom. #2 žinutėje apie tai užsiminiau, o #4 jau tiksliai parašiau ko trūksta.