PHP/PHP COOKIES(ბმულები)

ვიკიწიგნებიდან
< PHP

რა არის ბმული(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>