Jump to content
php.lv forumi

Probleema ar kodu.


marcho10

Recommended Posts

Es esmu iesaacejs. Maacos no vienas graamatas un meeginu. Graamataa bija rakstiits viens piemeers.

Man ir fails form.html ar kodu:

<HTML>

<HEAD>

<TITLE>HTML FORM</TITLE>

</HEAD>

<BODY>

<form action = "HandleForm.php" method=post>

Vārds:<input type=text name="vards"size=10br><br><br>

Uzvārds:<input type=text neme="uzvards"size=10br><br><br>

E-mail: <input type=text name="email" size60br><br><br>

Komentāri:<textarea name="Komentari" row=50 cols=20></textarea><br>

<input type=submit name="Submit" values="Submit!">

</form>

</BODY>

</HTML>

 

Ir otrs fails HandleForm ar kodu:

<HTML>

<HEAD>

<TITLE>Form results</TITLE>

</HEAD>

<BODY>

<?php

print ("Jūsu vārds ir $vards.<br>\n");

print ("Jūsu uzvārds ir $uzvards.<br>\n");

print ("Jūsu E-pasta adrese ir $email.<br>\n");

print (":<br>\n $Komentari<br>\n");

?>

</BODY>

</HTML>

Kaada man probleema. Kad es formaa ievadu datus un piespiezhu pogu submit man paraadaas:

 

Notice: Undefined variable: vards in C:\EasyPHP 2.0b1\www\project1\HandleForm.php on line 2

Jūsu vārds ir .

 

Notice: Undefined variable: uzvards in C:\EasyPHP 2.0b1\www\project1\HandleForm.php on line 3

Jūsu uzvārds ir .

 

Notice: Undefined variable: email in C:\EasyPHP 2.0b1\www\project1\HandleForm.php on line 4

Jūsu E-pasta adrese ir .

 

Notice: Undefined variable: Komentari in C:\EasyPHP 2.0b1\www\project1\HandleForm.php on line 5

:

 

Kas par probleemu?

Link to comment
Share on other sites

Droši vien mācies no grāmatas "PHP Soli pa solim" (apt. tā) vai ne ? Tajā grāmatā māca kodēt ar register_globals = On (php konfigurācija). Tas nozīmē, ka viss, ko tu padod caur URL tiek automātiski pārveidots par parastiem mainīgajiem (piem., izsaucot index.php?x=1&y=2, mēs uzreiz varam piekļūt $x un $y). Tāpat arī ir ar datu padošanu caur formu ar POST - visi dati tiek "ieimportēti" mainīgajos.

 

Tas nav droši! Un pēc noklusējuma php konfigurācijā šī fīča ir izslēgta. Tāpēc arī tev visticamāk nestrādā.

 

Tā vietā izmanto $_POST un $_GET masīvus.

 

Piemēram:

print ("Jūsu vārds ir ".$_POST['vards'].".<br>\n");

 

Ja datus padod ar GET (piem., caur URL), tad tiem piekļūst ar $_GET['mainaigs'].

Edited by andrisp
Link to comment
Share on other sites

es jau domaju, kad atkal kāds brīnīsies kāpēc php soli pa solim sarakstītās blēņas neiet. varbūt sarīkot totalizātoru, pēc cik dienām nākošais cilvēks mocīsies ar to grāmateli.

 

 

visa tā viņu piemēru html tagu vazāšana līdz ir pilnīgi lieka un jauc tik galvu iesācējam. kad cilvēks sapratīs kā kaut ko padot serverim, un kā dabūt atbildi, tad html tagus viņš pats iedomāsies pierakstīt klāt.

iesakumam sāc ar kaut ko šitādu izdomā ko katra rindiņa nozīmē, uztaisi vairakus texta laucinjus,izrkaso, pieraksti kadu ifu, kas izlamajas, ja formā kaut kas aizmirsts.

<?php
if(isset($_GET['a']) && $_GET['a']== 'paradi_ierakstito')
{
 echo 'ierakstiji:'.$_POST['ierakstitais'].' <a href="t.php">velreiz?</a>';
} else { ?>
<form action = "t.php?a=paradi_ierakstito" method=post>
<input type=text name="ierakstitais">
<input type=submit name="Submit" values="Submit!">
</form>
<?php } ?>

Link to comment
Share on other sites

print ("Jūsu vārds ir "$_Post[vards]."<br>\n");

print (("Jūsu vārds ir %s <br>\n", $_Post['vards']);

funkcija print NAV tas pats kas echo !!!!

ir citi lietoshanas principi...

ja gribi kaa bija tad:

echo "Jūsu vārds ir " . $_Post['vards']."<br>";

 

edit: aa tiko vel pamaniju truks 1 punkta ( . )

edit2: un peedinju arii...

$_Post[ ' vards ' ]

Edited by Grey_Wolf
Link to comment
Share on other sites

Parse error: parse error, unexpected T_VARIABLE in C:\EasyPHP 2.0b1\www\project1\HandleForm.php on line 7

 

Nu bet kā mēs varam zināt, kas tev tur tai 7. rindiņā ir? Visticamāk, kāda glupja kļūda, tipa samikols iepriekšējā rindiņā aizmirsts, vai kas tamlīdzīgs :)

Link to comment
Share on other sites

×
×
  • Create New...