კვირა, 17.12.2017, 03:27
http://roma.ge
მთავარი რეგისტრაცია შესვლა
მოგესალმები, სტუმარი · RSS
[ ახალი შეტყობინებები · მონაწილეები · ფორუმის წესები · ძებნა · RSS ]
გვერდი 3 დან«123456»
მეზღვაურთა გაერთიანებული ფორუმი » ☜♡☞ მეზღვაურთა ფორუმი ☜♡☞ » ☜♡☞ კომპიუტერი, ინტერნეტი და პროგრამირება ☜♡☞ » ვისწავლოთ PHP
ვისწავლოთ PHP
RAPERთარიღი: შაბათი, 25.09.2010, 18:56 | შეტყობინება # 31
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP თარიღი - დროის ნიშნულის დამატება

წამების პარამეტრი date() ფუნქციაში არის დროის ნიშნულის სპეციფიკაცია. ეს პარამეტრი არასავალდებულოა. თუ ჩვენ არ ვიყენებთ დროის ნიშნულს, მაშინ გამოიყენება მიმდინარე დრო.
შემდეგ მაგალითში, მომდევნო დღის დროის ნიშნულის შესაქმნელად გამოვიყენებთ mktime() ფუნქციას.
mktime() ფუნქცია დააბრუნებს Unix დროის ნიშნულს სპეციფიური თარიღისათვის.

სინტაქსი:

Code
mktime(hour,minute,second,month,day,year,is_dst)

მომდევნო დღეზე გადასასვლელად საჭიროა დაემატოს ერთი არგუმენტი mktime():

Code
<?php
$tomorrow = mktime(0,0,0,date("m"),date("d")+1,date("Y"));
echo "Tomorrow is ".date("Y/m/d/", $tomorrow);
?>

კოდი დაბეჭდავს:

Code
Tomorrow is 2006/07/12
 
RAPERთარიღი: შაბათი, 25.09.2010, 18:58 | შეტყობინება # 32
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP - ფაილის ჩასმა

სერვერული ჩამატებები

ჩვენ შეგვიძლია ფაილის შემცველობა ჩავსვათ PHP ფაილში სანამ სერვერი მიიღებს მას, include(), ან require() ფუნქციებით. ეს ორი ფუნქცია იდენტურია, მხოლოდ მათ გააჩნიათ განსხვავებული შეცდომების იდენტიფიკატორები. include() ფუნქცია გამოსახავს გაფრთხილებას (მაგრამს სკრიპტი გააგრძელებს მუშაობას) მანამ, სანამ require() ფუნქცია გამოსახავს გარდაუვალ შეცდომას (ამის მერე სკრიპტი შეწყვეტს მუშაობას).
ეს ორი ფუნქცია გამოიყენება ფუნქციების, სათაურების, ქვე კოლონტიტულების, ან ელემენტების შესაქმნელად, რომლებიც შესაძლოა გამოყენებულ იქნას შემცველობით გვერდებზე.
ეს აკეთებს დროის ეკონომიას. ეს ნიშნავს რომ ჩვენ შეგვიძლია შევქმნათ სტანდარტული სათაური, ან მენიუს ფაილი ყველა გვერდზე ერთდროულად. როდესაც საჭიროა სათაურის განახლება, ჩვენ შეგვიძლია განვაახლოთ მხოლოდ ჩამატებული ფაილი, ან როდესაც ვამატებთ ახალ გვერდს, ჩვენ შეგვიძლია ადვილად შევცვალოთ მენიუს ფაილი.

INCLUDE() ფუნქცია

include() ფუნქციას მთლიანი ტექსტი მიაქვს სპეციფიურ ფაილში და აკოპირებს იმ ფაილში რომელიც გამოიყენება ჩამატების ფუნქციით.

მაგალითი 1:

წარმოვიდგინოთ რომ გვაქვს სტანდარტული სათაურის ფაილი, რომელსაც ქვია "header.php". გვერდზე სათაურის ჩამატებისათვის, გამოვიყენოთ include() ფუნქცია შემდეგნაირად:

Code
<html>
<body>
<?php include("header.php"); ?>
<h1>Welcome to my home page</h1>
<p>Some text</p>
</body>
</html>

მაგალითი 2:
ახლა ვთქვათ გვაქვს სტანდარტული მენიუს ფაილი რომელიც უნდა გამოვიყენოთ ყველა გვერდზე.
კოდი:

Code
<html>
<body>
<a href="http://seaman.ge/index.php">Home</a> |
<a href="http://seaman.ge/about.php">About Us</a> |  
<a href="http://seaman.ge/contact.php">Contact Us</a>

ეს სამი ფაილი, "index.php", "about.php", და "contact.php" ჩაემატება ფაილში "menu.php" .
კოდი:

Code
<?php include("menu.php"); ?>
Welcome to my home page
<p>Some text</p>
</body>
</html>

თუკი ვიხილავთ კოდს ბრაუზერში მას ექნება შემდეგი სახე:

Code
<html>
<body>
<a href="default.php">Home</a> |
<a href="about.php">About Us</a> |  
<a href="contact.php">Contact Us</a>
<h1>Welcome to my home page</h1>
<p>Some text</p>
</body>
</html>
 
RAPERთარიღი: შაბათი, 25.09.2010, 19:07 | შეტყობინება # 33
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
REQUIRE() ფუნქცია

თუ ჩვენ ფაილს ჩავსვავთ include() ფუნქციით და მოხდება შეცდომა, შესაძლოა მივიღოთ შემდეგი შეტყობინება.

PHP კოდი:

Code
<html>
<body>
<?php
include("wrongFile.php");
echo "Hello World!";
?>
</body>
</html>

შეცდომის შეტყობინება:

Code
Warning: include(wrongFile.php) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5
Warning: include() [function.include]:
Failed opening 'wrongFile.php' for inclusion
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5
Hello World!

გავითვალისწინოთ რომ echo ოპერატორი კვლავ მუშაობს! ეს იმიტომ რომ გაფრთხილება არ აჩერებს სკრიპტის მუშაობას.
ახლა გავუშვათ მსგავსი მაგალითი require() ფუნქციით.

PHP კოდი:

Code
<html>
<body>
<?php
require("wrongFile.php");
echo "Hello World!";
?>
</body>
</html>

შეცდომის შეტყობინება:

Code
Warning: require(wrongFile.php) [function.require]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5
Fatal error: require() [function.require]:
Failed opening required 'wrongFile.php'
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5

echo პარამეტრმა აღარ იმუშავა რადგან გამოვიდა გარდაუვალი შეცდომის შეტყობინება.
რეკომენდირებულია გამოვიყენოთ require() ფუნქცია.

 
RAPERთარიღი: შაბათი, 25.09.2010, 19:22 | შეტყობინება # 34
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP - ფაილი

ფაილის გახსნა

fopen() ფუნქცია გამოიყენება PHP-ში ფაილების გასახსნელად.
ამ ფუნქციის პირველი პარამეტრი შეიცავს ფაილის სახელს, რომელიც უნდა გაიხსნას და მეორე პარამეტრი კი სპეციფიკაციას აკეთებს, თუ რა რეჟიმში გაიხსნას ფაილი:

Code
<html>
<body>
<?php
$file=fopen("welcome.txt","r");
?>
</body>
</html>

ფაილი შესაძლებელია გაიხსნას ქვემოთ მოყვანილიდან ერთ-ერთ რეჟიმში:

შენიშვნა: თუ fopen() ფუნქციას არ შეუძლია გახსნას სპეციფიური ფაილი, ის დააბრუნებს 0-ს.
მიმდინარე მაგალითი გამოსახავს შეტყობინებას, თუ fopen() ფუნქციას არ შეუძლია სპეციფიური ფაილის გახსნა:

Code
<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>
</body>
</html>
მიმაგრება: 5199971.jpg(67Kb)
 
RAPERთარიღი: შაბათი, 25.09.2010, 19:26 | შეტყობინება # 35
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
ფაილის დახურვა

fclose() ფუნქცია გამოიყენება გახსნილი ფაილის დასახურად:

Code
<?php
$file = fopen("test.txt","r");
//some code to be executed
fclose($file);
?>

END-OF-FILE-ის შემოწმება

feof() ფუნქცია ამოწმებს, მიღწეულია თუ არა("end-of-file" (EOF)) ფაილის ბოლოში.

feof() ფუნქცია გამოსადეგია უცნობი სიგრძის მონაცემთა ციკლისათვის.
შენიშვნა: ჩვენ ვერ წავიკითხავს ფაილიდან, რომელიც გახსნილია w, a, და x რეჟიმებში!

Code
if (feof($file)) echo "End of file";

ფაილში თითო-თითო ხაზის წაკითხვა

fgets() ფუნქცია გამოიყენება ფაილიდან ერთი ხაზის წაკითხვისათვის.
შენიშვნა: ამ ფუნქციის გამოძახების შემდგომ ფაილის კურსორი გადავა მეორე ხაზზე.

მაგალითი

ქვემოთ მოყვანილი მაგალითი კითხულობს ფაილის თითო-თითო ხაზს, მანამ, სანამ არ გავა ფაილის ბოლოში:

Code
<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
   {
   echo fgets($file). "<br />";
   }
fclose($file);
?>

ფაილში თითო-თითო სიმბოლოს წაკითხვა

Fgetc() ფუნქცია გამოიყენება ფაილში თითო-თითო სიმბოლოს წასაკითხად.
შენიშვნა: ამ ფუნქციის გამოძახების შემდგომ ფაილის კურსორი გადავა შემდეგ სიმბოლოზე.

მაგალითი

ქვემოთ მოყვანილი მაგალითი ფაილში კითხულობს თითო-თითო სიმბოლოს, მანამ, სანამ ის არ მიაღწევს ფაილის დასასრულს:

Code
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
while (!feof($file))  
   {  
   echo fgetc($file);  
   }
fclose($file);
?>
 
RAPERთარიღი: შაბათი, 25.09.2010, 19:28 | შეტყობინება # 36
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP - ფაილის ატვირთვა

ფაილის ატვირთვის ფორმის შექმნა

ქვემოთ მოყვანილია ფაილების ატვირთვის HTML ფორმა:

Code
<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />  
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

გავითვალისწინოთ შემდეგი HTML ფორმისათვის:
- enctype ატრიბუტი <form> ტეგისათვის სპეციფიკაციას აკეთებს, თუ რომელი შემცველობითი ტიპი გამოიყენოს ფორმის გამოყენებისას.
- "multipart/form-data" გამოიყენება, როდესაც ფორმა მოითხოვს ბინარულ მონაცემებს, როგორიცაა ასატვირთი ფაილის შემცველობა.

შენიშვნა: მომხმარებელთათვის ფაილების ატვირთვის უფლების მიცემა წარმოადგენს დიდ რისკს.

 
RAPERთარიღი: შაბათი, 25.09.2010, 19:29 | შეტყობინება # 37
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
ატვირთვის სკრიპტის შექმნა

"upload_file.php" შეიცავს ატვირთვის კოდს:

Code
<?php
if ($_FILES["file"]["error"] > 0)
   {
   echo "Error: " . $_FILES["file"]["error"] . "<br />";
   }
else
   {
   echo "Upload: " . $_FILES["file"]["name"] . "<br />";
   echo "Type: " . $_FILES["file"]["type"] . "<br />";
   echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
   echo "Stored in: " . $_FILES["file"]["tmp_name"];
   }
?>

გლობალური PHP $_FILES მასივების გამოყენებით ჩვენ შეგვიძლია კომპიუტერიდან სერვერზე ავტვირთოთ ფაილები.
პირველი პარამეტრი არის input სახელი, ხოლო მეორე პარამეტრი შესაძლოა იყოს ნებისმიერი "name", "type", "size", "tmp_name", ან "error". ამის მსგავსად:

- $_FILES["file"]["name"] - ატვირთული ფაილის სახელი
- $_FILES["file"]["type"] - ატვირთული ფაილის ტიპი
- $_FILES["file"]["size"] - ატვირთული ფაილის ზომა ბაიტებში
- $_FILES["file"]["tmp_name"] - სერვერზე დაბრუნებული ფაილის დროებითი ასლი
- $_FILES["file"]["error"] - შეცდომის კოდი

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

 
RAPERთარიღი: შაბათი, 25.09.2010, 19:30 | შეტყობინება # 38
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
შეზღუდვა ატვირთვაზე

სკრიპტში ჩვენ ჩავამატებთ ფაილის ატვირთვის ზოგიერთ შეზღუდვებს. მომხმარებელს შეეძლება ატვირთოს მხოლოდ .gif, ან .jpeg ფაილები და ფაილის ზომა არ უნდა აღემატებოდეს 20 kb-ს:

Code
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
   {
   if ($_FILES["file"]["error"] > 0)
     {
     echo "Error: " . $_FILES["file"]["error"] . "<br />";
     }
   else
     {
     echo "Upload: " . $_FILES["file"]["name"] . "<br />";
     echo "Type: " . $_FILES["file"]["type"] . "<br />";
     echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
     echo "Stored in: " . $_FILES["file"]["tmp_name"];
     }
   }
else
   {
   echo "Invalid file";
   }
?>

შენიშვნა: IE-სათვის jpg ფაილების ცნობისათვის ტიპი უნდა იყოს pjpeg, ხოლო FireFox-სათვის ტიპი უნდა იყოს jpeg.

 
RAPERთარიღი: შაბათი, 25.09.2010, 19:30 | შეტყობინება # 39
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
ატვირთული ფაილის დამახსოვრება

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

Code
<?php
if (($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
&& ($_FILES["file"]["size"] < 20000))
   {
   if ($_FILES["file"]["error"] > 0)
     {
     echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
     }
   else
     {
     echo "Upload: " . $_FILES["file"]["name"] . "<br />";
     echo "Type: " . $_FILES["file"]["type"] . "<br />";
     echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
     if (file_exists("upload/" . $_FILES["file"]["name"]))
       {
       echo $_FILES["file"]["name"] . " already exists. ";
       }
     else
       {
       move_uploaded_file($_FILES["file"]["tmp_name"],
       "upload/" . $_FILES["file"]["name"]);
       echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
       }
     }
   }
else
   {
   echo "Invalid file";
   }
?>
 
RAPERთარიღი: შაბათი, 25.09.2010, 19:31 | შეტყობინება # 40
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP COOKIES(ბმულები)

რა არის ბმული(COOKIE)?

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

როგორ შევქმნათ ბმული?

setcookie() ფუნქცია გამოიყენება ბმულების დასასმელად.

შენიშვნა: setcookie() ფუნქცია უნდა დაიწეროს <html> ტეგამდე.

სინტაქსი:

Code
setcookie(name, value, expire, path, domain);

მაგალითი:

ქვემოთ მოყვანილ მაგალითში ჩვენ შევქმნი ბმულს სახელით "user" და მივანიჭებთ მნიშვნელობას "Alex Porter":

Code
<?php  
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>
 
RAPERთარიღი: შაბათი, 25.09.2010, 19:34 | შეტყობინება # 41
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
როგორ შევასწოროთ ბმული?

PHP $_COOKIE ცვლადი გამოიყენება ბმულის მნიშვნელობების შესასწორებლად.

ქვემოთ მოყვანილ მაგალითში, ჩვენ შევასწორებთ ბმულს სახელად "user" და გამოვსახავთ მას გვერდზე:

Code
<?php
// Print a cookie
echo $_COOKIE["user"];
// A way to view all cookies
print_r($_COOKIE);
?>

მიმდინარე მაგალითში ჩვენ გამოვიყენებთ isset() ფუნქციას, რათა ვიპოვოთ დასმული ბმული:

Code
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
   echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
   echo "Welcome guest!<br />";
?>
</body>
</html>

როგორ წავშალოთ ბმული?

წაშლის მაგალითი:

Code
<?php  
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>

თუ ბრაუზერი არ უზრუნველყოფს ბმულებს

თუ ბრაუზერი არ უზრუნველყოფს ბმულებს, ჩვენ უნდა გამოვიყენოთ სხვა მეთოდი, რათა ინფორმაცია გადავცეთ ერთი გვერდიდან მეორე გვერდზე. ქვემოთ მოცემული ფორმა გადასცემს მომხმარებლის ინფორმაციას "welcome.php"-ს როდესაც მომხმარებელი იმოქმედებს "Submit" ღილაკზე:

Code
<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"-ში შემდეგის მსგავსად:

Code
<html>
<body>
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>
 
RAPERთარიღი: შაბათი, 25.09.2010, 19:37 | შეტყობინება # 42
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP სესიები

PHP სესიის ცვლადები

როდესაც ვმუშაობთ პროგრამასთან, ჩვენ ვხსნით მას, ვაკეთებთ ცვლილებებს და შემდგომ ვხურავთ მას. ეს გავს სესიას. კომპიუტერმა იცის ვინ ხარ შენ. მან იცის ჩვენ როდის გავუშვით პროგრამა და როდის დავხურეთ. მაგრამ ინტერნეტში არის ერთი პრობლემა: ვებ სერვერმა არ იცის ვინ ხარ შენ და რას აკეთებ.
PHP სესია ჭრის ამ პრობლემას. თუმცა, სესიის ინფორმაცია დროებითია და წაიშლება მას შემდეგ რაც მომხმარებელი დატოვებს ვებ გვერდს. სესია ქმნის უნიკალურ სახელს (UID) თითოეული ვიზიტორისათვის და აგროვებს ცვლადების ბაზას UID-ზე.

PHP სესიის დაწყება

სანამ ჩვენ შევაგროვებთ ინფორმაციას PHP სესიაზე, ჩვენ უნდა დავიწყოთ სესია.
შენიშვნა: session_start() ფუნქცია იწერება <html> ტეგამდე:

Code
<?php session_start(); ?>
<html>
<body>
</body>
</html>

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

სესიის ცვლადების შეგროვება

სწორი გზა სესიის ცვლადების შეგროვებისა და ჩასწორების არის PHP $_SESSION ცვლადის გამოყენება:

Code
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

დაბეჭდავს:

Code
Pageviews=1

ქვემოთ მოყვანილ მაგალითში, ჩვენ შევქმნით უბრალო მთვლელს. isset() ფუნქცია შეამოწმებს "views" ცვლადი უკვე დასმულია თუ არა. თუ "views" უკვე დასმულია, ჩვენ შეგვიძლია გავზარდოთ ჩვენი მთვლელი. თუ "views" არ არსებობს, ჩვენ ვქმნით"views" ცვლადს და ვაყენებთ მას 1-ზე:

Code
<?php

session_start();
if(isset($_SESSION['views']))
   $_SESSION['views']=$_SESSION['views']+1;

else
   $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];  
?>
 
RAPERთარიღი: შაბათი, 25.09.2010, 19:39 | შეტყობინება # 43
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
სესიის განადგურება

თუ გვსურს სესიის მონაცმეთა წაშლა,ჩვენ შეგვიძლია გამოვიყენოთ unset(), ან session_destroy() ფუნქციები.
unset() ფუნქცია გამოიყენება სესიის ცვლადის გასანთავისუფლებლად:

Code
<?php
unset($_SESSION['views']);
?></pre.
<pre>ჩვენ ასევე შეგვიძლია საბოლოო გავანადგუროთ სესიის ცვლადი session_destroy() ფუნქციის გამოყენებით:
<?php
session_destroy();
?>

შენიშვნა: session_destroy() ფუნქცია წაშლის ყველა მონაცემს ცვლადში.

PHP ელ. ფოსტის გაგზავნა

PHP MAIL() ფუნქცია

PHP mail() ფუნქცია გამოიყენება სკრიპტიდან ელ. ფოსტის გასაგზავნად.

სინტაქსი

Code
mail(to,subject,message,headers,parameters)
 
RAPERთარიღი: შაბათი, 25.09.2010, 19:40 | შეტყობინება # 44
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP უბრალო ელ. ფოსტა

უბრალო გზა PHP-ს დახმარებით ელ. ფოსტის გაგზავნისა არის ტექსტური მეილის გაგზავნა.
ქვემოთ მოყვანილ მაგალითში ჩვენ გამოვაცხადებთ ცვლადებს ($to, $subject, $message, $from, $headers), შემდეგ ამ ცვლადებს გამოვიყენებთ mail() ფუნქციაში:

Code
<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

PHP ფოსტის ფორმა

PHP-თ ვებ გვერდზე ჩვენ შეგვიძლია შევქმნათ უკუკავშირი-ფორმა. ქვემოთ მოყვანილი მაგალითი აგზავნის ფოსტას სპეციფიურ მისამართზე:

Code
<html>
<body>
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
   {
   //send email
   $email = $_REQUEST['email'] ;  
   $subject = $_REQUEST['subject'] ;
   $message = $_REQUEST['message'] ;
   mail( "someone@example.com", "Subject: $subject",
   $message, "From: $email" );
   echo "Thank you for using our mail form";
   }
else
//if "email" is not filled out, display the form
   {
   echo "<form method='post' action='mailform.php'>
   Email: <input name='email' type='text' /><br />
   Subject: <input name='subject' type='text' /><br />
   Message:<br />
   <textarea name='message' rows='15' cols='40'>
   </textarea><br />
   <input type='submit' />
   </form>";
   }
?>
</body>
</html>

როგორ მუშაობს ზემოთ მოყვანილი მაგალითი:
- პირველი, დავრწმუნდეთ რომ ელ. ფოსტის ველი გვაქვს
- თუ ის არ არის დასმული; შევქმნათ HTML ფორმა
- თუ ის დასმულია; გავგზავნოთ ფოსტა ფორმიდან
- როდესაც გავგზავნით, ფორმა გაიწმინდება, გვერდი გადაიტვირთება, შემოწმდება ყველა მოთხოვნილი ველი და გაიგზავნება

 
RAPERთარიღი: შაბათი, 25.09.2010, 19:41 | შეტყობინება # 45
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP ელ.ფოსტის დაცვა

PHP ელ. ფოსტის ინექციები

პირველი, შევხედოთ PHP კოდს წინა პარაგრაფიდან:

Code
<html>
<body>
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
   {
   //send email
   $email = $_REQUEST['email'] ;  
   $subject = $_REQUEST['subject'] ;
   $message = $_REQUEST['message'] ;
   mail("someone@example.com", "Subject: $subject",
   $message, "From: $email" );
   echo "Thank you for using our mail form";
   }
else
//if "email" is not filled out, display the form
   {
   echo "<form method='post' action='mailform.php'>
   Email: <input name='email' type='text' /><br />
   Subject: <input name='subject' type='text' /><br />
   Message:<br />
   <textarea name='message' rows='15' cols='40'>
   </textarea><br />
   <input type='submit' />
   </form>";
   }
?>
</body>
</html>

ზემოთ მოყვანილი კოდის პრობლემა არის ის რომ, არა ავტორიზებულ მომხმარებლებს შეუძლიათ ფორმის მეშვეობით ჩასვან მონაცემები ფოსტის სათაურებში.
რა მოხდება თუ მომხმარებელი შეიყვანს მიმდიანრე ტექსტ ფოსტის ველში?

Code
someone@example.com%0ACc:person2@example.com
%0ABcc:person3@example.com,person3@example.com,
anotherperson4@example.com ,person5@example.co m
%0ABTo:person6@example.com

mail() ფუნქცია ზემოთ მოყვანილ ტექტს წერს ფოსტის სათაურების ველში და ახლა სათაურს აქვს ექსტრა Cc:, Bcc: და To: ველი. როდესაც მომხმარებელი იმოქმედებს “Submit” ღილაკზე, ფოსტა გაიგზავნება ზემოთ მოყვანილ ყველა მისამართზე.

 
მეზღვაურთა გაერთიანებული ფორუმი » ☜♡☞ მეზღვაურთა ფორუმი ☜♡☞ » ☜♡☞ კომპიუტერი, ინტერნეტი და პროგრამირება ☜♡☞ » ვისწავლოთ PHP
გვერდი 3 დან«123456»
ძებნა:

ჰოსტერი uCoz