gingerfish Posted February 24, 2011 Report Share Posted February 24, 2011 (edited) Sveiki! Par cik pēdējā laikā diezgan bieži laiku nākas pavadīt mājās, tad saku interesēties par php, mysql utt...Tpc esmu zaļš un neko vēl lāgā nesaprotu.. Bet lieta ir sekojoša...Katru reizi, katrā kodā, kur tiek iesaistīta komanta "submit", respektīvi $_POST, $_GET u.t.t u.t.t un tā vēljoprojām, vienmēr saskaros ar šo nožēlojamo tekstu: Notice: Undefined index: submit in c:\program files\easyphp1-8\www\search.php on line 4 (zinu, ka kautkas tajā rindā nav pareizi, taču taisu pēc tutorialiem un ierakstu tā, ka tur ir teikts, tam otrā galā viss sanāk, man izmetās šis errors)) Nezinu vai pareizi esmu sapratis, taču liekas, ka mana datubāze viņu takā īsti negrib saprast... Es zinu, ka Jūs noteikti zinat, kas ir par vainu, tāpēc esat saprotoši un nenomelnojiet mani..! Paldies! Edited February 24, 2011 by gingerfish Quote Link to comment Share on other sites More sharing options...
Kemito Posted February 24, 2011 Report Share Posted February 24, 2011 Tapēc ka tu iedod padodto datu $_POST['sumbit']; Kurš patiesībā nav definēts, līdz ar to no formas tāds neiznāk ārā Pamēģini šādi un pasaki vai iet! PHP if(isset($_POST['submitpoga'])){ echo "ES PIESPIEDU POGU!"; } HTML <form method="post" action=""> <input type="submit" name="submitpoga" value="Spiežam šeit" /> </form> Submitpoga ir tava velme attiecībā uz "submit"! Quote Link to comment Share on other sites More sharing options...
Rincewind Posted February 24, 2011 Report Share Posted February 24, 2011 Īstiem guru protams nesagādās grūtības uzlauzt tavu datoru pēc IP un visu salabot, bet varbūt iesākumam pats šeit iemetīsi to 4. un blakusesošās rindas? :) Quote Link to comment Share on other sites More sharing options...
F3llony Posted February 24, 2011 Report Share Posted February 24, 2011 (edited) Pirmkārt, notice vispār nav uzskatāms par erroru. Faktiski, jebkuru php paziņojumu, kas sākas ar "Notice:" var uzskatīt par vienkāršu informāciju, šajā gadījumā tiek izmantots nedefinēts indekss $_POST superglobālī. $_POST = superglobālis, ['submit'] ir indekss. Ja formā nav nospiesta "labi" vai submit poga, kā nu tur tev viņa saucas, PHP netiek definēts indekss ['submit'], savukārt pēcāk skriptā šis indekss tiek izmantots. Bet tā, kā jams nav definēts, PHP faktiski nav ko izmantot un PHP dzinis tevi informē par to, ka sglobāļa $_POST indekss ['submit'] nav definēts. Nekas ļauns protams nenotiks, bet būtu labi, ja pirms indeksa vai jebkura globāļa izmantošanas tu pārbaudītu, vai jamais vispār eksistē, tb. ir definēts ar funkcijas isset() palīdzību: if(isset($_POST['submit'])) { /// ja isset atgriež true, t.i indekss ['submit'] ir definēts, izpildam kodu, kas atrodas šeit } else { /// nav definēts ['submit'], izpildam šeit. } Lai būtu labāk saprotams, $_POST ir superglobāls masīvs, tas nopzīmē, ka $_POST nav vienkārši mainīgais, tas satur vairākus zemāka līmeņa mainīgos, pie kuriem var piekļūt izsaucot $_POST['kaut kaads indekss']; Piemēram, ja tev ir forma ar 2 ievades laukiem - vārds un parole, tad pēc submitēšanas $_POST visdrīzāk saturēs 2 zemāka līmeņa mainīgos masīvā: $_POST['vaards'] un $_POST['parole'] kur katrs no viņiem saturēs formā ievadīto informāciju- vārdu un paroli. Ceru, ka uzrakstīju pietiekami skaidri. Edited February 24, 2011 by F3llony Quote Link to comment Share on other sites More sharing options...
gingerfish Posted February 24, 2011 Author Report Share Posted February 24, 2011 Īstiem guru protams nesagādās grūtības uzlauzt tavu datoru pēc IP un visu salabot, bet varbūt iesākumam pats šeit iemetīsi to 4. un blakusesošās rindas? :) <?php echo "<h1>Register!</h1>"; $submit = $_POST['submit']; //form data $fullname = $_POST['fullname']; $username = $_POST['username']; $password = $_POST['password']; $repeatpassword = $_POST['repeatpassword']; if ($submit) { echo "$username/$password/$repeatpassword/$fullname"; } ?> php kods! 4- 6- 8- 9- 10- šis visas rindas viņš man uzrāda kā, (Undefined index) Kemito- Pirmstam googles tantē meklēju risinājumu un arī uzdūros šai ....if(isset($_POST[.... koda daļai, bet kad viņu ievadiju un palaidu, man Apache vienkārši nobruka, respektīvi uz to brīdi, kad nospiezu "Refresh" mājas lapā, momentāli apache nojudzās, kā izdzēšu to rindu, tā viss kārtībā..! Iespējams, ja japamēģina uzlikt cita versija tam EasyPHP... Quote Link to comment Share on other sites More sharing options...
F3llony Posted February 24, 2011 Report Share Posted February 24, 2011 (edited) <?php echo "<h1>Register!</h1>"; ///Pārbaudām, vai forma vispār ir submitota. if (isset($_POST['submit'])) { ///Ja ir, apstrādājam datus. $fullname = $_POST['fullname']; $username = $_POST['username']; $password = $_POST['password']; $repeatpassword = $_POST['repeatpassword']; echo "$username/$password/$repeatpassword/$fullname"; } ?> Edited February 24, 2011 by F3llony Quote Link to comment Share on other sites More sharing options...
gingerfish Posted February 24, 2011 Author Report Share Posted February 24, 2011 <?php echo "<h1>Register!</h1>"; ///Pārbaudām, vai forma vispār ir submitota. if (isset($_POST['submit'])) { ///Ja ir, apstrādājam datus. $fullname = $_POST['fullname']; $username = $_POST['username']; $password = $_POST['password']; $repeatpassword = $_POST['repeatpassword']; echo "$username/$password/$repeatpassword/$fullname"; } ?> Labi, pagaidam paldies.. No rīta ķeršo klāt un pārbaudīšu..! Quote Link to comment Share on other sites More sharing options...
F3llony Posted February 24, 2011 Report Share Posted February 24, 2011 Tur nav ko pārbaudīt. Tas darbojas. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.