ከGET እና POST ጥያቄዎች ጋር ለመስራት መማር። ፐርል - ከጥያቄ ጋር ፋይሎችን ወደ HTTP አገልጋይ ይላኩ Inurl ልጥፍ የ php የተጠቃሚ ስም ሻካራ ያክሉ

ሐምሌ 2 ቀን 2009 ከቀኑ 4፡05 ሰዓት

Perl - ከጥያቄ ጋር ፋይሎችን ወደ HTTP አገልጋይ መላክ

  • ፐርል

እንደ እውነቱ ከሆነ, ምንም ኦሪጅናል የለም, በቂ ሰነዶች አሉ, እንዲያውም ከዚያ በላይ, ምንም እንኳን የኋለኛው በጣም ኃይለኛ የጭንቀት መንስኤን ያመጣል. ስለዚህ፣ አስር ጊዜ ከማንበብ እና መሰንቆውን ከመርገጥ አንድ ጊዜ እንዴት እና ምን እየተሰራ እንዳለ ማሳየት ይቀላል። ሁኔታ፡ በአካባቢው የሚገኙ አንዳንድ ሁለትዮሽ ፋይሎች አሉ፣ እነዚህን ፋይሎች የምናስቀምጥበት አገልጋይ አለ፣ በዚህ አገልጋይ ላይ ፋይሎችን የሚጭን ስክሪፕት (ፎርም ፕሮሰሰር) አለ።
ተግባር፡ እነዚህ ፋይሎች አሳሽ እንደሆንን እና መረጃውን በቅጹ እንደላክን በድር በይነገጽ (ቅጽ ተቆጣጣሪ) ወደ አገልጋዩ መጨመር አለባቸው።

LWP :: UserAgent በመጠቀም

የማመንጨት ስልተ ቀመር
  • ጥያቄ ይፍጠሩ (ኤችቲቲፒ :: ጥያቄ);
  • "አሳሽ" (LWP :: UserAgent) ይፍጠሩ;
  • ለእሱ ራስጌዎችን እንገልጻለን;
  • ጥያቄ ይላኩ;
እንደ XML:: LibXML አሰልቺ ነው፣ ግን አስተማማኝ ነው፣ ስለዚህ: ፐርል ኮድ (1) #!/usr/bin/perl ጥብቅ አጠቃቀም; ማስጠንቀቂያዎችን መጠቀም; LWP ይጠቀሙ :: UserAgent; # ይህ የእኔ $file = "./files/some_file.bin" የሚላከው ፋይል ነው; # ጥያቄውን የእኔን $uri = "http://somedomain.com/form/action/script" የምንልክበት ዩአርአይ ነው። # ጥያቄ የእኔን $request = HTTP::ጥያቄ ->አዲስ("POST"፣$uri); # መለያ እንፈጥራለን፣ ምክንያቱም ካላስገደድነው በ$ua->ጥያቄ($ጥያቄ) በዋናው አርዕስት ውስጥ አይካተትም # ምንም እንኳን የራስጌውን ነገር ከፈጠሩ በኋላ በቀላሉ $request->እንደ_string ማድረግ ይችላሉ። , ከዚያ ነባሪው ይተካዋል, ነገር ግን የእኔ $ boundary = "X" አደጋ ላይ አንጣለው; my @rand = ("a".."z", "A".."Z"); ለ (0..14) ($ boundary .= $rand;) # የራስጌውን ቅጽ፡ $request->ራስጌ("Content-Type" => "ባለብዙ ክፍል/ፎርም-ዳታ፤ boundary=".$boundary); $request->ራስጌ("የተጠቃሚ ወኪል" => " ሞዚላ ፋየርፎክስ 5.0 :-)"); $request->ራስጌ("ማጣቀሻ" => " http://somedomain.com/form"); $request->ፕሮቶኮል("ኤችቲቲፒ/1.0"); # ምንም እንኳን LWP :: UserAgent ይህን ቢያደርግም ወዲያው የተሻለ ነው # መደበኛ እና የጽሁፍ ቅጽ መለኪያዎችን ማመንጨት የኔ $ፊልድ = HTTP:: መልእክት -> አዲስ([ "ይዘት -አቀራረብ" => "ቅርጽ-ውሂብ፤ ስም = " የመስክ ስም"", "ይዘት-አይነት" => "ጽሑፍ/plain; charset=utf-8",]); # HTTP::የመልእክት ነገር $field-> add_content_utf8(" ስንፈጥር የኤችቲቲፒ:: አርዕስትን እንተካለን። የተወሰነ እሴት"); # እንደሚመለከቱት ፣ የተወሰነ እሴት በ UTF-8 $ጥያቄ ->ክፍል ($ መስክ) ውስጥ መሆን አለበት ፤ # ... እና ስለዚህ ፣ ለእያንዳንዱ የጽሑፍ መስክ ... # የቅጹ ሁለትዮሽ መለኪያዎች መፈጠር አለባቸው ። (የእኔ $fh፣<", $file); # А можно сначала сделать заголовок, а потом уже применить к HTTP::Message my $size = (stat $file); my $header = HTTP::Headers->አዲስ; $header->ራስጌ("ይዘት-አቀማመጥ"=> "ቅጽ-ውሂብ፤ ስም="ፋይል "፤ ፋይል ስም = " somefile.bin "); # ምንም እንኳን የፋይል ስም ከፋይል ስም $header->ራስጌ ("ይዘት-አይነት") ሊሰላ ቢችልም => "መተግበሪያ / octet-ዥረት<$fh>"); # ወይም ከፋይሉ ጋር የሚዛመድ የእኔ $file_content = HTTP::መልዕክት->አዲስ($ራስጌ)፤ $file_content-> add_content($_) እያለ

;

$request-> add_part ($ file_content); $fh ዝጋ; # ... እና ሌሎችም ለእያንዳንዱ ፋይል... የእኔ $response = $ua->ጥያቄ($ጥያቄ); ከሆነ ($ ምላሽ->ስኬት ነው) ($response->ይዘት ያትሙ) ሌላ (ሞት $response->status_line) የመስክ ስምሶኬት በመጠቀም የተወሰነ እሴት"); # እና እዚህም utf8 $ጥያቄ->ክፍልን ይጨምሩ ($ መስክ) ፤ # ... እና ስለዚህ ፣ ለእያንዳንዱ የጽሑፍ መስክ ... # በመቀጠል ፣ ጥያቄያችንን እናካፍላለን ፣ ግን ያለ ፋይሎች ፣ ወደ ዋናው ራስጌ እና የይዘቱ የመጀመሪያ ክፍል # በመደበኛ አገላለጽ እንከፋፈላለን ምክንያቱም $request->headers-> as_string የጥያቄውን የመጀመሪያ መስመር ማለትም የPOST ትዕዛዝን ስለማይመልስ # እና በእርግጥ መስመሩን እራስዎ መሰብሰብ ይችላሉ ፣ ግን እኔ 'ም በጣም ሰነፍ , 0, -4); ተመሳሳይ ድንበር $content =~ s/(\-\-[^\n]+)$//s; my $boundary = $1; #የጥያቄውን የመጀመሪያ ርዝመት አስላ የኔ $ርዝመት = ርዝመት $content # አሁን የእኛ ፋይሎች: my $files = (stat $file); -ዳታ; $header->ራስጌ("ይዘት-አቀማመጥ"=> "ቅጽ-ውሂብ፤ ስም="ፋይል "፤ ፋይል ስም = ""፤ $f_header->ራስጌ("ይዘት-አይነት" => " "); # ምንም እንኳን የፋይል ስም ከፋይል ስም $header->ራስጌ ("ይዘት-አይነት") ሊሰላ ቢችልም => ""); $f_header = $boundary."\n"$f_header->እንደ_string"\n"፤ # ወደ ጥያቄው ርዝመት ጨምር $ርዝመት += ርዝመት $f_header፤ $length += $መጠን፤ # በእውነቱ , አሰራሩ ከታች ያለው ብዙ ፋይሎች ሲኖሩ ብቻ ነው # ከዚያም በመጀመሪያ የይዘቱን ርዝመት ማስላት አለብን, ምክንያቱም እሱ (ርዝመቱ) በዋናው ራስጌ ግፊት @ ($ ፋይሎች) ውስጥ ይገለጻል. (ራስጌ => $f_header፣ file => $ፋይል)፤ ለእያንዳንዱ ፋይል... እንዲሁም የመጨረሻውን መስመር ይቁጠሩ # ሶኬቱን ይክፈቱ my $socket = IO:: ሶኬት: : INET->አዲስ($domain.")|| die $!; "\nየይዘት-ርዝመት:"$ ርዝመት; # ራስጌ እና የይዘቱ የመጀመሪያ ክፍል ላክ $socket $head;የህትመት $socket $content; ፋይል (@($ፋይሎች)) ($socket $file->(ራስጌ) ያትሙ፤ (የእኔ $fh፣ "<", $file->(ፋይል));<$fh>$_ሶኬት ያትሙ<$socket>;

በዚህ ትምህርት በቅጾች እና በገጾች መካከል መረጃን የማስተላለፊያ ዘዴዎችን እንመለከታለን. እንደነዚህ ያሉ ዘዴዎች POST እና GET ናቸው. ስለ እያንዳንዳቸው በተናጠል እና በበለጠ ዝርዝር እንነጋገራለን. በአጠቃላይ ይህ በቅጾች መካከል ለመግባባት ያስፈልጋል። ለምሳሌ, አንዳንድ መስኮችን በአንድ ገጽ ላይ እንሞላለን እና ለሂደቱ ወደ ሌላ ገጽ ማስተላለፍ አለብን.

በ PHP ውስጥ የGET ዘዴ

በመጀመሪያ የGET ዘዴን እንመልከት። ይህ ሁሉም ተለዋዋጮች እና እሴቶቻቸው በቀጥታ በአድራሻው ውስጥ ሲተላለፉ ነው. አሁን, አንድ ምሳሌ በመጠቀም, ሁሉንም ነገር ያያሉ, እና እንዲያውም አብዛኛዎቹ ጣቢያዎች እና መድረኮች እንዴት እንደሚሠሩ ይገነዘባሉ.
ለምሳሌ፣ እንደዚህ ያለ የኤችቲኤምኤል ገጽ አለን።

Get ን በመጠቀም ተለዋዋጮችን ለማለፍ ምሳሌ ገጽ አገናኝ

አገናኙን ይመልከቱ? ውስብስብ እና በርካታ ክፍሎችን ያቀፈ ነው. ንእሽቶ ኽትከውን ንኽእል ኢና።
https://site- የጎራ አድራሻ ወይም, ተብሎም ይጠራል, አስተናጋጅ.
index.php- ጥያቄውን የሚያስኬድ ገጽ በ PHP ውስጥ።
? - በአድራሻው እና በእገዳው መካከል የመለያየት ምልክት ከተለዋዋጮች ጋር።
በመቀጠልም ተለዋዋጮች እና እሴቶቻቸው ይመጣሉ, እነሱም በምልክቱ ይለያያሉ & .
ስም=ሰርጌይ- ተለዋዋጭ ስም እና እሴቱ Sergey.
ዕድሜ=22- ተመሳሳይ ነገር ፣ ተለዋዋጭ ዕድሜ ፣ እሴት 22።

ሁሉንም ነገር አስተካክለናል፣ አሁን የGET ዘዴን በመጠቀም ይህ በ php ውስጥ እንዴት እንደሚሰራ እንይ።
የኢንዴክስ.php ገጽ፣ እርስዎ እንደሚያስታውሱት፣ ወደ እሱ አልፈናል፡-

በመጀመሪያ, አንድ ምክር: ሁልጊዜ ተለዋዋጮችዎን ትክክለኛነት ያረጋግጡ: ባዶነት, ትክክለኛ እሴቶችን ለማክበር, ወዘተ. ሁሉም ነገር በአድራሻ አሞሌው በኩል ስለሚተላለፍ, ውሂቡ በቀላሉ ሊተካ እና ጣቢያውን ሊጎዳ ይችላል. አሁን ለኮዱ ራሱ፡ እኛ ስንጠቀም የስም እና የዕድሜ ተለዋዋጮችን ባዶነት አረጋገጥን እና ባዶ ካልሆኑ እናሳያቸዋለን፣ እና ባዶ ከሆኑ በቀላሉ ሪፖርት አድርገናል።
ቀላል ነው አይስማሙም? ለምሳሌ የኤችቲኤምኤል ገጽ መፍጠር እና በምናሌው ውስጥ በተለዋዋጮች በኩል አገናኞችን ማድረግ እና በ index.php ሂደት ውስጥ ተለዋዋጭውን በተቀበለው እሴት ላይ በመመስረት አንድ የተወሰነ ገጽ ማሳየት ይችላሉ። ደህና, ስለዚህ ጉዳይ በኋላ እንነጋገራለን, በ PHP ውስጥ ከባዶ ድር ጣቢያ ስለመፍጠር በአንድ ጽሑፍ ውስጥ. ምንም ነገር እንዳያመልጥዎ, ለ RSS እንዲመዘገቡ እመክርዎታለሁ.

የPOST ዘዴ በ PHP ውስጥ

ይህ ዘዴ እንዴት እንደሚሰራ ለማሳየት ከአድራሻ ጋር ከቀላል መስመር የበለጠ ትንሽ እንፈልጋለን :) ለመሙላት ቅጽ ያለው የኤችቲኤምኤል ገጽ መፍጠር አለብን ፣ ግን ያ ደህና ነው ፣ ዝግጁ የሆነ ምሳሌ እሰጣለሁ ለእርስዎ፡-

ፖስት በመጠቀም ተለዋዋጮችን ለማለፍ ምሳሌ ገጽ

መረጃን ለማስተላለፍ መስኮቹን ይሙሉ፡-

ስምህን አስገባ፡

እባክዎን እድሜዎን ያመልክቱ፡-



ስለዚህ፣ ቀላል ቅጽ ያለው የኤችቲኤምኤል ገጽ ፈጥረናል። ያስታውሱ፣ የPOST ዘዴ በቅጽ ብቻ ጥቅም ላይ ሊውል ይችላል።
የቅጹ የመጀመሪያ መለኪያ "ዘዴ" ነው, ለዝውውሩ የምንጠቀምበትን ዘዴ ይገልጻል. እንደገመቱት ይህ ወይ GET ወይም POST ነው። ከዚህም በላይ GET ከተዋቀረ ሁሉም የመስክ ስሞች (በተለዋዋጭ ስሞች መልክ) እንዲሁም እሴቶቻቸው በማጣቀሻነት ያልፋሉ, ስለ GET ዘዴ ክፍል. POST ከተዋቀረ ሁሉም ተለዋዋጭ ስሞች እና እሴቶች እንደ አሳሽ ጥያቄ ወደ ድር አገልጋዩ ይተላለፋሉ። ማለትም በአድራሻ አሞሌው ውስጥ አይታዩም። በብዙ አጋጣሚዎች ይህ በጣም ጠቃሚ ነው. POST የበለጠ ደህንነቱ የተጠበቀ ነው ፣ ይህም ለመረዳት የሚቻል ነው ፣ ምክንያቱም ተለዋዋጮች ከዋጋዎቻቸው ጋር ለማርትዕ በጣም ቀላል አይደሉም ፣ ምንም እንኳን የሚቻል ቢሆንም።

ሁለተኛው የቅጽ መለኪያ "ድርጊት" ነው. ይህ ውሂቡን የምናስተላልፍበት የስክሪፕት ፋይል መንገድ እና ስም ነው። በእኛ ሁኔታ ይህ index.php ነው. ይህ መንገድ ሙሉ በሙሉ ሊተላለፍ ይችላል, ማለትም, እንደዚህ: ድርጊት = "https://my_site.ru/index.php". የ "እርምጃ" መለኪያውን ዋጋ ካልገለጹ, ሁሉም መረጃዎች ወደ ዋናው ስክሪፕት ይተላለፋሉ, ማለትም, የጣቢያዎ የመረጃ ጠቋሚ ገጽ index.php, ይህም በጣም ምክንያታዊ ነው.

አሁን መረጃውን ከቅጻችን እናገኛለን. ወደ index.php ስላስተላለፍነው፣ከዚህ በታች የዚህ ገጽ ኮድ ይሆናል።

"፤ አስተጋባ" ስም - "፤ አስተጋባ $_POST["የተጠቃሚ_ስም"]፤ አስተጋባ"
ዕድሜ - "፤ አስተጋባ $_POST["ዕድሜ"]፤ አስተጋባ "ዓመታት"፤) ሌላ ( አስተጋባ "ተለዋዋጮች አልደረሱም። ሁሉንም ነገር እንደገና አረጋግጥ።"፤ ) ?>

ባዶነት እና ትክክለኛ እሴቶችን ማረጋገጥን አይርሱ. በመቀጠል፣ ተለዋዋጮቻችን ለምን የተጠቃሚ ስም እና ዕድሜ ተብለው እንደተጠሩ ማብራራት አለብን? እና ከላይ የፈጠርነውን የቅጹን መስኮች ይመልከቱ. እዚ እዩ። የግቤት ስም = "የተጠቃሚ_ስም" አይነት = "ጽሑፍ"? የስም መለኪያው ይህንን መስክ ተጠቅመን የምናገኘውን የተለዋዋጭ ስም የሚገልጽበት ይህ ነው። እድሜም ያው ነው። ግልጽ ነው ብዬ ተስፋ አደርጋለሁ። እንግዲህ፣ ተለዋዋጭ እና እሴቱ በPOST በኩል ማግኘት ከላይ ከተነጋገርነው ከ GET ምንም አይለይም።

ደህና ፣ ትልቅ ትምህርት ሆኖ ተገኘ ፣ ግን በጣም ጠቃሚ ከሆኑት ውስጥ አንዱ ፣ ምክንያቱም በቅጾች እና ገጾች መካከል ተለዋዋጮችን ማለፍ በትክክል PHP የምንጠቀምበት መስተጋብር ነው።

በአብዛኛዎቹ ጣቢያዎች ላይ የሚከተሉትን አድራሻዎች ማየት እንደሚችሉ አስተውለህ ይሆናል።

ኤችቲቲፒ://site/index.php?blog=2

እዚህ, php ሳያውቁ እንኳን, ፋይል እየደረስን እንደሆነ መገመት ይችላሉ index.phpነገር ግን ጥቂት ሰዎች ከጥያቄ ምልክት በኋላ ምን እንደሚመጣ ያውቃሉ. በጣም ቀላል ነው፡- ?ብሎግ=2ይህ የ"2" እሴት ያለው የአለምአቀፍ ተለዋዋጭ "$_GET["ብሎግ"] መግለጫ ነው። ስለዚህ, ከመረጃ ቋቱ መረጃን የማሳየት ሃላፊነት ባለው ስክሪፕት ውስጥ ተለዋዋጭ አሳልፋለሁ. ሁሉንም ነገር በግልፅ ማየት የምትችልበት ትንሽ ስክሪፕት እንፃፍ፡-

ከሆነ(isset($_GET["ብሎግ")]) (
አስተጋባ $_GET["ብሎግ"];
}
?>

የ if() ሁኔታ ኦፕሬተርን እንጠቀማለን እና የሚከተለው መስመር እንደ ቅድመ ሁኔታ ጥቅም ላይ ይውላል።

ኢሴት($_GET["ብሎግ")]

isset () በቅንፍ ውስጥ የተገለጸው ተለዋዋጭ መኖር አለመኖሩን ለማወቅ ይፈቅድልሃል፣ ማለትም በኮዱ ላይ የገለጽኩት ሁኔታ እንደዚህ ይመስላል፡ ተለዋዋጭ $_GET["ብሎግ"] ካለ፣የዚህን ተለዋዋጭ ይዘቶች አሳይ በስክሪኑ ላይ. የሆነው ይኸውና፡-

እኔ ግልጽ ነው ብዬ አስባለሁ ዓለም አቀፍ ተለዋዋጭ ተፈጥሯል $_GETበአድራሻ አሞሌው ውስጥ ካስታወቅነው መለያ ጋር ( በዚህ አጋጣሚ ከ “ብሎግ” መለያ ጋር)

አሁን አንድ ነጥብ ግልጽ ማድረግ እፈልጋለሁ. ሁለት ተለዋዋጮችን ማወጅ ያስፈልገናል እንበል, ይህንን እንዴት ማድረግ እንደሚቻል? የመጀመሪያው ተለዋዋጭ ከጥያቄ ምልክት በኋላ ይገለጻል "?" ሁለተኛው ተለዋዋጭ ከ"&" ምልክት በኋላ ይገለጻል ( እውነቱን ለመናገር, ይህ ምልክት ምን እንደሆነ አላውቅምየሦስት ተለዋዋጮች መግለጫ ምሳሌ እዚህ አለ፡-

Http://site/index.php?a=1&b=2&c=3

የውጤት ኮድ እነሆ፡-

ከሆነ(isset($_GET ["a")]
አስተጋባ $_GET["a"]"
";
አስተጋባ $_GET["b"]"
";
አስተጋባ $_GET["c"]"
";
}
?>

ሁኔታው እንደዚህ ይመስላል።

$_GET["a"] እና አለምአቀፍ ተለዋዋጭ $_GET["b"] እና አለምአቀፍ ተለዋዋጭ $_GET["c"] ካለ በማያ ገጹ ላይ ያሳዩዋቸው።ውጤቱ እነሆ፡-

ቅጾች

ከመድረሳችን በፊት ልጥፍጥያቄዎች ፣ ምን ቅጾች እንደሆኑ መረዳት ያስፈልግዎታል? ለምን አስፈለገ? ምክንያቱም የአለምአቀፍ ተለዋዋጭ $_POST["] የተፈጠረው በቅጾች ነው። መልክ ምንድን ነው? እነዚህ ለተጠቃሚው አንዳንድ መረጃዎችን የሚያስገቡባቸው መስኮች ናቸው። ባለ አንድ መስመር ሜዳዎች፣ ትላልቅ ሜዳዎች እና እንዲሁም የሬዲዮ ቁልፎች እና አመልካች ሳጥኖች አሉ። ሁሉንም ነገር በቅደም ተከተል እንይ...

ቅጹ መለያ ነው፡-


የቅጽ አካላት

ቅጹ ባህሪያት አሉት, በጣም የተለመዱትን እዘረዝራለሁ:

ቅጽ እንፍጠር፡-


የቅጽ አካላት

ፋይሉን እንደ ተቆጣጣሪ ፋይል አድርጌዋለሁ ፈተና.phpምሳሌዎችን የምጽፍልህ በውስጡ ስለሆነ ነው። የመላኪያ ዘዴን ለመለጠፍ አዘጋጅቻለሁ ምክንያቱም እነዚህ በ 99.9% ጉዳዮች ውስጥ ጥቅም ላይ የዋሉ ዘዴዎች ናቸው. ቅጹንም ስም - ቅጽ ሰጥቻለሁ

አሁን ወደ የቅርጽ አካላት ዓለም ውስጥ እንዝለቅ። መጀመሪያ መረዳት ያለብዎት ነገር ቢኖር ሁሉም ንጥረ ነገሮች መለያዎች ናቸው። ልዩነቱ በባህሪው ላይ ብቻ ነው። ዓይነትበእነዚህ መለያዎች. ጥቅም ላይ የዋሉትን የቅጽ ክፍሎችን ልዘርዝር፡-

እርግጠኛ ነኝ እንደዚህ አይነት መስኮችን ከአንድ ጊዜ በላይ አይተሃል፣ ስለዚህ እነሱ የሚሉት ነገር ይኸውልህ፡ "ምንም አስተያየት የለም"

አሁን ትንሽ የሥልጠና መጠይቅ እንፍጠር, እሱም የበለጠ እንሰራለን. የእኛ ተግባር የሚሞላውን ሰው ስም, ጾታ, ከየትኛው ሀገር, ተወዳጅ ቀለም እና ተጠቃሚው ስለራሱ የሆነ ነገር ማከል የሚችልበት የጽሑፍ መስክ የሚነግረን ትንሽ መጠይቅ መፍጠር ነው. ያገኘሁት ይኸውና፡-

የአያት ስምዎ የመጀመሪያ ስም ፓትሮኒሚክ፡

ጾታዎ፡-
ኤም
እና

ከየት ሀገር ነህ?



ተወዳጅ ቀለም(ዎች)

ጥቁር፥
ቀይ፥
ነጭ፥
ሌላ፡-

ስለራሴ፡-




እያንዳንዱ መለያ ከሞላ ጎደል ባህሪ እንዳለው ልብ ይበሉ ዋጋ፣ ለምንድነው? ወደ ሌላ ገጽ የሚያስተላልፉትን ውሂብ ይመዘግባል. ግልጽ ነው ብዬ ተስፋ አደርጋለሁ

አሁን ይህንን ኮድ በአሳሹ ውስጥ ካስኬድነው የሚከተለውን እንመለከታለን።

ለቅጹ እኔ አይነታውን ተጠቀምኩ ድርጊትትርጉም ያለው ፈተና.phpይህ ማለት ቀደም ብዬ እንደተናገርኩት ከቅጹ ላይ ያለው መረጃ ወደ test.php ፋይል ይተላለፋል ማለት ነው።

የፖስታ ጥያቄ

አሁን ያስገቡትን መረጃ ለማየት የሚያስችለንን ፒኤችፒ ኮድ እንፃፍ። መረጃው የት ነው የተቀመጠው? የማግኘት ጥያቄን በተመለከተ፣ የእኛ ውሂብ በአለምአቀፍ ተለዋዋጭ $_GET["] ነበር። የልጥፍ ጥያቄ በሚቀርብበት ጊዜ ውሂቡ በአለምአቀፍ ተለዋዋጭ $_POST["] ውስጥ ይከማቻል። በካሬ ቅንፎች ውስጥ፣ ልክ እንደ አለምአቀፋዊ ተለዋዋጭ ማግኘት፣ መለያ መፃፍ አለቦት። ጥያቄው ይህንን መለያ ከየት ማግኘት እችላለሁ? ለዛ ነው በቅጽ አካላት ላይ የስም ባህሪ የምንፈልገው! በአለምአቀፍ ፖስት ድርድር ውስጥ እንደ ቁልፍችን የሚያገለግሉት እነዚህ ስሞች ናቸው። ደህና፣ ስክሪፕቱን መግለጽ እንጀምር፡-

ከሆነ(isset($_POST["አስረክብ"))) (
አስተጋባ "ሙሉ ስም: ".$_POST["fio"]."
";
አስተጋባ "ጾታ፡ ".$_POST["ወሲብ"]።"
";
አስተጋባ "የመኖሪያ ሀገር: ".$_POST["ከተማ")."
";

አስተጋባ "ተወዳጅ ቀለም(ዎች)፦
";
አስተጋባ $_POST["color_1"]"
";
አስተጋባ $_POST["color_2"]"
";
አስተጋባ $_POST["color_3"]"
";
አስተጋባ $_POST["color_4"]"
";
አስተጋባ "ስለራስዎ: ".$_POST["ስለ")."


";
}
?>

የጻፍንበት ሁኔታ እንዲህ ይላል፡- ዓለም አቀፍ ተለዋዋጭ $_POST["ማስረከብ"] ካለ ውሂቡን በማያ ገጹ ላይ እናሳያለን። ይህ ዓለም አቀፋዊ ተለዋዋጭ የተፈጠረው የአቅርቦት አዝራሩን ጠቅ ካደረግን ነው, ለዚህም ነው በዚህ ምሳሌ ውስጥ በአዝራሩ ውስጥ የስም ባህሪ ያስፈልገናል. የአዝራሩ ስም ባህሪ ለምን አማራጭ እንደሆነ እያሰቡ ሊሆን ይችላል? በጣም ቀላል ነው። በተለምዶ የፕሮግራም አድራጊው የአዝራር መጫኑን አይከታተልም, ይልቁንም የተላከውን ውሂብ ይቆጣጠራል. ለትክክለኛ አሠራሩ ለምሳሌ የእውቂያ ቅጽ የአዝራሩን ጠቅ ማድረግ ሳይሆን የገባውን መረጃ ትክክለኛነት መከታተል እና ይህ መረጃ ሙሉ በሙሉ እንደገባ ለማወቅ ያስፈልጋል። በምሳሌአችን፣ የተላከውን መረጃ አላረጋገጥንም፣ ነገር ግን በቀላሉ የአዝራሩን ተጫን ተከታትለን፣ ምሳሌውን ለማቃለል... ያገኘነው ይኸው ነው።

ማጠቃለያ

ደህና ፣ ዛሬ በስክሪፕቶች መካከል መረጃን ለማስተላለፍ ሁለት ዘዴዎችን ተመልክተናል ፣ እና ከቅጾች ጋርም ተዋወቅን። ይህ መረጃ ቢያንስ የሆነ ቦታ ለእርስዎ ጠቃሚ እንደሚሆን በእውነት ተስፋ አደርጋለሁ። ማንኛውም አይነት ጥያቄ ወይም ሀሳብ ካሎት አስተያየቶችን ይፃፉ። መልካም እድል ለእርስዎ, ለዛሬ ያ ብቻ ነው!

P.S.: የኮምፒውተር ጨዋታዎች የበለጠ ተጨባጭ እንዲሆኑ ይፈልጋሉ? Directx 11 ለዊንዶውስ 7 በዊንዶውስ ውስጥ በነፃ ማውረድ ይቻላል! በሚያስደንቅ ግራፊክስ ይደሰቱ!