Jump to content
php.lv forumi

easyphp1-8


gingerfish

Recommended Posts

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 by gingerfish
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 by F3llony
Link to comment
Share on other sites

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

Link to comment
Share on other sites

<?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 by F3llony
Link to comment
Share on other sites

<?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..!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...