⊗ppPmFmOFH 299 of 447 menu

ფორმის დამუშავება ერთ PHP ფაილში

წინა გაკვეთილში ჩვენი ფორმა განთავსებული იყო ერთ გვერდზე, ხოლო იგზავნებოდა მეორეზე. სინამდვილეში ეს აუცილებელი არ არის. თუ დატოვებთ ატრიბუტ action ცარიელს ან მთლიანად ამოიღებთ მას, ფორმა გაიგზავნება ამავე გვერდზე.

როგორ იმუშავებს ეს: გვერდზე პირველად შესვლისას ჩვენ შევავსებთ ფორმას მონაცემებით და დავაწვებით ღილაკს. ამის შემდეგ გვერდი განახლდება და მისი კოდი კვლავ შესრულდება, მაგრამ უკვე ფორმის მონაცემებით.

მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს ერთ ფაილში ფორმა და მისი დამუშავება:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

გვერდზე პირველად შესვლისას ფუნქცია var_dump გამოიტანს ცარიელ მასივს. ხოლო ფორმის გაგზავნის შემდეგ ის გამოიტანს უკვე ფორმის მონაცემებს. ანუ პირველ ჯერზე $_GET იქნება ცარიელი, ხოლო მეორე ჯერზე - შეიცავდეს ფორმის მონაცემებს.

ეს შეიძლება გამოიწვიოს პრობლემები. დავუშვათ, მაგალითად, ჩვენ ფორმაში შევიყვანთ რიცხვებს და გვსურს ამ რიცხვების ჯამის ჩვენება ეკრანზე:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

ამ შემთხვევაში, გვერდზე პირველად შესვლისას ჩვენ დავინახავთ PHP-ის შეცდომებს, რომლებიც დაკავშირებულია იმასთან, რომ მასივი $_GET ცარიელია, ხოლო ჩვენ მივწვდებით მის ელემენტებს.

აქ უნდა ითქვას, რომ თქვენ შესაძლოა შეცდომები ბრაუზერში არ გამოჩნდეთ. ამ შემთხვევაში შეამოწმეთ, რომ თქვენთან ჩართულია PHP-ის შეცდომების ჩვენება, და ასევე დარწმუნდით, რომ თქვენ პირველად ხართ გვერდზე და მისამართების ზოლში არ არის ფორმის მონაცემები.

მოდით გამოვასწოროთ პრობლემა. ამისთვის დავამატოთ პირობა, რომელშიც შევამოწმებთ, რომ ფორმა გაიგზავნა.

მაგალითად, შესაძლებელია $_GET-ის შემოწმება არა-ცარიელობაზე. თუ $_GET არ არის ცარიელი - მაშინ ფორმა გაიგზავნა და შესაძლებელია შეჯამების შესრულება. წინააღმდეგ შემთხვევაში, ჩვენ ისევ გვერდზე პირველად ვიმყოფებით და შეჯამება შესრულებული არ იქნება. მაშ, აქ არის გასწორებული კოდი:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

ჰკითხეთ მომხმარებელს გვარი, სახელი და მამის სახელი. ფორმის გაგზავნის შემდეგ გამოაჩინეთ ეკრანზე შეყვანილი მონაცემები.

ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა