ვისწავლოთ PHP
|
|
RAPER | თარიღი: შაბათი, 25.09.2010, 20:09 | შეტყობინება # 61 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| შეტანის სანიტარია ჯერ დავრწმუნდეთ რომ შეტანის ველი არსებობს. შემდეგ გავუკეთოთ სანიტარია შეტანილ მონაცემებს filter_input() ფუნქციის დახმარებით. ქვემოთ მოყვანილ მაგალითში, ცვლადი "url" გაგზავნილია PHP გვერდზე: Code <?php if(!filter_has_var(INPUT_POST, "url")) { echo("Input type does not exist"); } else { $url = filter_input(INPUT_POST, "url", FILTER_SANITIZE_URL); } ?> მაგალითის ახსნა: ზემოთ მოყვანილ მაგალითს აქვს ველი, გაგზავნილი "POST" მეთოდით: - შევამოწმოთ, თუ არსებობს "POST" ტიპის "url" ცვლადი - თუ ცვლადი არსებობს, გავუკეთოთ სანიტარიზაცია და მოვაგროვოთ ის $url ცვლადში თუ სტრინგი ამის მსგავსია : "http://seaman.ge/", $url ცვლადი სანიტარიის მერე გამოიყურება ასე:
|
|
| |
RAPER | თარიღი: შაბათი, 25.09.2010, 20:10 | შეტყობინება # 62 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| რამოდენიმე შეტანის ფილტრაცია ფორმა თითქმის ყოველთვის შეიცავს ერთზე მეტ შეტანის ველს. filter_var ან filter_input ფუნქციების გამოძახების თავიდან ასარიდებლად, გამოვიყენოთ filter_var_array, filter_input_array ფუნქციები. ამ მაგალითში ჩვენ ვიყენებთ filter_input_array() ფუნქციას, რათა გავფილტროთ სამი GET ცვლადი. მიღებული GET ცვლადები არის სახელი, წლოვანება და ელ-ფოსტის მისამართი: Code <?php $filters = array ( "name" => array ( "filter"=>FILTER_SANITIZE_STRING ), "age" => array ( "filter"=>FILTER_VALIDATE_INT, "options"=>array ( "min_range"=>1, "max_range"=>120 ) ), "email"=> FILTER_VALIDATE_EMAIL, ); $result = filter_input_array(INPUT_GET, $filters); if (!$result["age"]) { echo("Age must be a number between 1 and 120.<br />"); } elseif(!$result["email"]) { echo("E-Mail is not valid.<br />"); } else { echo("User input is valid"); } ?>
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:13 | შეტყობინება # 63 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| PHP MYSQL შესავალი რა არის MYSQL? MySQL არის მონაცემთა ბაზა. მონაცემთა ბზა განსაზღვრავს ინფორმაციის მოგროვების სტრუქტურას. მონაცემთა ბაზაში არის ცხრილები. ისევე როგორც HTML ცხრილები, მონაცემთა ბაზის ცხრილები შეიცავენ რიგებს, სვეტებს და უჯრედებს. მონაცემთა ბზაზების გამოყენება სასარგებლოა, მაშინ, როცა ვაგროვებთ კატეგორიულ ინფორმაციას. კომპანიას შესაძლოა ქონდეს მონაცემთა ბაზა მიმდინარე ცხრილებით: "მოსამსახურეები", "პროდუქტები", "მყიდველები" და "შეკვეთები". მონაცემთა ბაზის ცხრილები მონაცემთა ბაზა ყველაზე ხშირად შეიცავს ერთ, ან რამდენიმე ცხრილს. თითოეულ ცხრილს გააჩნია საკუთარი სახელი. თითოეული ცხრილი შეიცავს მონაცემთა ჩანაწერებს. ქვემოთ მოყვანილია სახელად "Persons" ცხრილის მაგალითი: ზემოთ მოყვანილი ცხრილი შეიცავს სამ ჩანაწერს (თითოს, თითო პიროვენებისათვის) და ოთხ სვეტს (გვარი, სახელი, მისამართი და ქალაქი).
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:14 | შეტყობინება # 64 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| მოთხოვნები მოთხოვნა არის შეკითხვა, ან მოთხოვნა. MySQL-თან ერთად, ჩვენ შეგვიძლია მოვითხოვოთ მონაცემთა ბაზა სპეციფიური ინფორმაციისათვის და და გვქონდეს დაბრუნებული ჩანაწერთა ბაზა. შევხედოთ მიმდინარე მოთხოვნას: Code SELECT LastName FROM Persons
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:16 | შეტყობინება # 65 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| MYSQL - შეერთება მონაცემთა ბაზასთან MYSQL მონაცემთა ბაზასთან შეერთება სანამ ჩვენ გვექნება უფლება მონაცემთა ბაზის მონაცემებთან მუშაობისა, ჩვენ უნდა შევქმნათ კავშირი მონაცემთა ბაზებთან. PHP-ში, ეს კეთდება mysql_connect() ფუნქციით. სინტაქსი: Code mysql_connect(servername,username,password); მაგალითი მიმდინარე მაგალითში ჩვენ შევაგროვებთ კავშირებს ცვლადში ($con) მოგვიანებით სკრიპტში გამოსაყენებლად. "die" ნაწილი გაეშვება თუ კავშირი გაწყდება: Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // some code ?>
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:17 | შეტყობინება # 66 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| კავშირის დახურვა კავშირი დაიხურება, მაშინ როდესაც სრიპტი დაამთავრებს მუშაობას. მანამდე კავშირის დახურვისათვის გამოვიყენოთ the mysql_close() ფუნქცია. Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // some code mysql_close($con); ?>
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:18 | შეტყობინება # 67 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| MYSQL - მონაცემთა ბაზების და ცხრილების შექმნა მონაცემთა ბაზის შექმნა CREATE DATABASE ოპერატორი გამოიყენება MySQL მონაცემთა ბაზის შესაქმნელად. სინტაქსი Code CREATE DATABASE database_name იმისათვის რომ PHP-მ ამუშავოს ზემოთ მოყვანილი ოპერატორი, უნდა გამოვიყენოთ mysql_query() ფუნქცია. ეს ფუნქცია გამოიყენება მოთხოვნის, ან ბრძანების MySQL კავშირზე გასაგზავნად. მაგალითი მიმდინარე მაგალითში ჩვენ შევქმნით ბაზას სახელად "my_db": Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } mysql_close($con); ?> ცხრილის შექმნა CREATE TABLE ოპერატორი გამოიყენება MySQL-ში მონაცემთა ბაზების ცხრილების შესაქმნელად. სინტაქსი Code CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, column_name3 data_type, ....... )
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:19 | შეტყობინება # 68 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| აუცილებელია დავამატოთ CREATE TABLE ოპერატორი mysql_query() ფუნქციაში, რათა შესრულდეს ბრძანება. მაგალითი მაგალითი გვიჩვენებს როგორ შევქმნატ ცხრილი სახელად "person", სამი სვეტით. სვეტების სახელები იქნება "FirstName", "LastName" და "Age": Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } // Create database if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } // Create table in my_db database mysql_select_db("my_db", $con); $sql = "CREATE TABLE person ( FirstName varchar(15), LastName varchar(15), Age int )"; mysql_query($sql,$con); mysql_close($con); ?> აუცილებელი: სანამ შეიქმნება ცხრილები უნდა აირჩეს მონაცემთა ბაზა. მონაცემთა ბაზა ირჩევა mysql_select_db() ფუნქციით. შენიშვნა: როდესაც ვქმნით varchar ტიპის მონაცემთა ბაზის ველს, ჩვენ უნდა მივუთითოთ ველის მაქსიმალური ზომა, მაგ.: varchar(15).
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:26 | შეტყობინება # 69 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| MYSQL მონაცემთა ტიპები ქვემოთ მოყვანილია სხვადასვხა MySQL მონაცემთა ტიპები:
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:30 | შეტყობინება # 70 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
|
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:31 | შეტყობინება # 71 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| MYSQL - ჩასმა მონაცემთა ბაზის ცხრილში მონაცემის ჩასმა INSERT INTO ოპერატორი გამოიყენება მონაცემთა ბაზის ცხრილში ახალი ჩანაწერის ჩასამატებლად. სინტაქსი Code INSERT INTO table_name VALUES (value1, value2,....) ასევე შესაძლებელია სვეტების სპეციფიკაცია, თუ სად გვსურს მონაცემთა ჩასმა: Code INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....) შენიშვნა: SQL ოპერატორების დაწერა შესაძლებელია, როგორც პატარა, ასევე დიდი ასოებით. იმისათვის რომ PHP-მ შეასრულოს ეს ოპერატორი უნდა გამოვიყენოთ mysql_query() ფუნქცია. მაგალითი Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); mysql_query("INSERT INTO person (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); mysql_query("INSERT INTO person (FirstName, LastName, Age) VALUES ('Glenn', 'Quagmire', '33')"); mysql_close($con); ?> მონაცემთა ბაზაში მონაცემების ფორმიდან ჩამატება ახლა ჩვენ შევქმნით HTML ფორმას, რომელსაც გამოვიყენებთ ცხრილში ახალი ჩანაწერის ჩამატებისათვის. HTML ფორმა: Code <html> <body> <form action="insert.php" method="post"> Firstname: <input type="text" name="firstname" /> Lastname: <input type="text" name="lastname" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html> როდესაც მომხმარებელი იმოქმედებს submit ღილაკზე, ფორმაში არსებული მონაცემები გაიგზავნება "insert.php" ფაილში. "insert.php" ფაილი შეუერთდება მონაცემთა ბაზას და იპოვის მნისვნელობებს ფორმიდან, PHP $_POST ცვლადებთან ერთად. შემდეგ, mysql_query() ფუნქცია გაუშვებს INSERT INTO ოპერატორს და მონაცემთა ბაზის ცხრილს დაემატება ახალი ჩანაწერი. ქვემოთ მოყვანილია "insert.php" გვერდის კოდი: Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $sql="INSERT INTO person (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($con) ?>
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:32 | შეტყობინება # 72 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| MYSQL - მონიშვნა მონაცემთა ბაზის ცხრილიდან მონაცემის მონიშვნა SELECT ოპერატორი გამოიყენება მონაცემთა ბაზის ცხრილში მონაცემის მოსანიშნად. სინტაქსი Code SELECT column_name(s) FROM table_name მაგალითი Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM person"); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; } mysql_close($con); ?> ზემოთ მოყვანილი მაგალითი აგროვებს mysql_query() ფუნქციით დაბუნებულ მონაცემებს $result ცვლადში. შემდეგ, ჩვენ ვიყენებთ mysql_fetch_array() ფუნქციას პირველი რიგის ჩანაწერთა ბაზდიდან დასაბრუნებლად, როგორც მასივი. კოდი დაბეჭდავს: Code Peter Griffin Glenn Quagmire
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:34 | შეტყობინება # 73 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| რეზულტატების HTML ცხრილში გამოსახვა მიმდინარე მაგალითი მონიშნულ მონაცემებს გამოსახავს HTML ცხრილში: Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person");
echo "<table border='1'> <tr> <th>Firstname</th> <th>Lastname</th> </tr>"; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['FirstName'] . "</td>"; echo "<td>" . $row['LastName'] . "</td>"; echo "</tr>"; } echo "</table>"; mysql_close($con); ?> კოდი დაბეჭდავს:
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:35 | შეტყობინება # 74 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| MYSQL - სადაც წინადადებაა მხოლოდ იმ მონაცემთა მოსანიშნად, რომელიც ემთხვევა სპეციფიურ კრიტერიუმებს, დავამატოთ WHERE clause, SELECT ოპერატორს. სინტაქსი Code SELECT column FROM table WHERE column operator value მაგალითი Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person WHERE FirstName='Peter'");
while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . " " . $row['LastName']; echo "<br />"; }
?> კოდი დაბეჭდავს:
|
|
| |
RAPER | თარიღი: კვირა, 26.09.2010, 15:36 | შეტყობინება # 75 |
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
სტატუსი: Offline
| MYSQL - საკვანძო სიტყვებით მითითებული ORDER BY ORDER BY გამოიყენება ჩანაწერთა ბაზაში მონაცემების დასალაგებლად. სინტაქსი Code SELECT column_name(s) FROM table_name ORDER BY column_name მაგალითი Code <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person ORDER BY age");
while($row = mysql_fetch_array($result)) { echo $row['FirstName']; echo " " . $row['LastName']; echo " " . $row['Age']; echo "<br />"; } mysql_close($con); ?> კოდი დაბეჭდავს: Code Glenn Quagmire 33 Peter Griffin 35
|
|
| |