ხშირად ხდება მონაცემთა გადაცემა კლიენტის ბრაუზერიდან სერვერულ ფაილზე, ამ მონაცემების დამუშავების სკრიპტით. მოდით შევხედოთ ზუსტად როგორ უნდა მოვაწყოთ php პარამეტრების სკრიპტზე გადატანა.
Ეს აუცილებელია
PHP და HTML ენების ძირითადი ცოდნა
ინსტრუქციები
Ნაბიჯი 1
HTTP (ჰიპერტექსტის გადაცემის პროტოკოლი) ვებ ფორმებიდან მონაცემთა გადასაცემად მოცემულია ორი მეთოდი - GET და POST. ისინი განსხვავდებიან კლიენტის პროგრამიდან (ბრაუზერი) სერვერულ პროგრამაში (შესრულებადი php სკრიპტი) გადაცემის გზით. ამისათვის GET მეთოდი იყენებს მისამართის ზოლს. ანუ მასზე გადასული ცვლადების სახელები და მნიშვნელობები ემატება პირდაპირ სკრიპტის მისამართს (ან URL - ერთიანი რესურსების ლოკატორი) კითხვითი ნიშნის საშუალებით (?). მაგალითად, URL შეიძლება ასე გამოიყურებოდეს:
აქ, search.php სკრიპტს გადაეცემა ცვლადი, სახელად num, რომლის მნიშვნელობაა 30, ცვლადი newwindow, რომლის მნიშვნელობაა 1, და ცვლადი სეიფი გამორთული მნიშვნელობით. სერვერმა, თუ მიიღო ასეთი მოთხოვნა, "?" - ის მიერ გამოყოფს ფაილის მისამართს და დანარჩენ ყველაფერს ყოფს ცვლადის სახელების და მნიშვნელობების წყვილად. შედეგად მიღებული წყვილი შევსებულია $ _GET მასივში, საიდანაც მისამართში მითითებული php სკრიპტი შეძლებს მათ ამოღებას. უმარტივესი ფორმით, ფორმა html კოდი ამ მონაცემების ბრაუზერიდან სერვერზე GET მეთოდის გამოყენებით გაგზავნისთვის შეიძლება ასე გამოიყურებოდეს:
და ამ მონაცემების მიღების ყველაზე მარტივი php სკრიპტი ასეთია:
<? php
$ num = $ _GET ['num'];
$ newwindow = $ _GET ['newwindow'];
$ safe = $ _GET ['უსაფრთხო'];
?>
ცვლადების გავლის ყველაზე მნიშვნელოვანი უარყოფითი მხარეები GET მეთოდის გამოყენებით:
- მონაცემთა შეზღუდული რაოდენობა, ვინაიდან URL– ის სიგრძე არ უნდა აღემატებოდეს 255 სიმბოლოს;
- html- კოდის ყველა სიმბოლოს გადაცემა არ შეიძლება ამ მეთოდით;
- გადაცემული მონაცემები მომხმარებლისთვის ხილულია, რაც უსაფრთხოების თვალსაზრისით ყოველთვის არ არის მისაღები;
ნაბიჯი 2
ამ უხერხულობისა და შეზღუდვების თავიდან აცილება შესაძლებელია სხვა მეთოდის - POST- ის გამოყენებით. იგი იყენებს ქსელის პაკეტების სპეციალურ არეებს მონაცემთა - სათაურების გადასაცემად. ყველა სხვა თვალსაზრისით, ამ მეთოდებს შორის განსხვავებები მინიმალურია - მონაცემების გაგზავნის ზემოხსენებული ფორმით შეიცვლება მხოლოდ მეთოდის სახელი:
და php სკრიპტში მხოლოდ მონაცემთა მასივის სახელია:
<? php
$ num = $ _POST ['num'];
$ newwindow = $ _POST ['newwindow'];
$ safe = $ _POST ['უსაფრთხო'];
?>