PHP/PHP COOKIES(ბმულები)
რა არის ბმული(COOKIE)? რედაქტირება
ბმული არის ხშირად გამოყენებადი მომხმარებლის იდენტიფიკაციისათვის. ბმული არის პატარა ფაილი, რომელიც სერვერმა ჩადგა მომხმარებლის კომპიუტერში. რამდენჯერაც კომპიუტერი მოითხოვს მისამართს ბრაუზერში, იმდენჯერ გაეგზავნება მონაცემები ბმულს. PHP-თ, ჩვენ შეგვიძლია შევქმნათ და მივიღოთ ბმულები.
როგორ შევქმნათ ბმული? რედაქტირება
setcookie() ფუნქცია გამოიყენება ბმულების დასასმელად.
შენიშვნა: setcookie() ფუნქცია უნდა დაიწეროს <html> ტეგამდე.
სინტაქსი:
setcookie(name, value, expire, path, domain);
მაგალითი:
ქვემოთ მოყვანილ მაგალითში ჩვენ შევქმნი ბმულს სახელით "user" და მივანიჭებთ მნიშვნელობას "Alex Porter":
<?php setcookie("user", "Alex Porter", time()+3600); ?> <html> <body> </body> </html>
როგორ შევასწოროთ ბმული? რედაქტირება
PHP $_COOKIE ცვლადი გამოიყენება ბმულის მნიშვნელობების შესასწორებლად.
ქვემოთ მოყვანილ მაგალითში, ჩვენ შევასწორებთ ბმულს სახელად "user" და გამოვსახავთ მას გვერდზე:
<?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?>
მიმდინარე მაგალითში ჩვენ გამოვიყენებთ isset() ფუნქციას, რათა ვიპოვოთ დასმული ბმული:
<html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome guest!<br />"; ?> </body> </html>
როგორ წავშალოთ ბმული? რედაქტირება
წაშლის მაგალითი:
<?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?>
თუ ბრაუზერი არ უზრუნველყოფს ბმულებს რედაქტირება
თუ ბრაუზერი არ უზრუნველყოფს ბმულებს, ჩვენ უნდა გამოვიყენოთ სხვა მეთოდი, რათა ინფორმაცია გადავცეთ ერთი გვერდიდან მეორე გვერდზე. ქვემოთ მოცემული ფორმა გადასცემს მომხმარებლის ინფორმაციას "welcome.php"-ს როდესაც მომხმარებელი იმოქმედებს "Submit" ღილაკზე:
<html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
შევასწოროთ მნიშვნელობა "welcome.php"-ში შემდეგის მსგავსად:
<html> <body> Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old. </body> </html>