الدرس الثاني
1-Collecting the data and Sending the WebServer request
2-Example
3-Commenting
4-Escaping characters
1-Collecting the data and Sending the WebServer request
-عندما يقوم المستخدم بكتابة المدخلات فإن المتصفح يقوم بعمل format لهذه البيانات وإرسالrequest للWeb Server
-هذه الrequest تحتوي على URL للصفحة الذي يرغب المستخدم في الوصول اليه
-هذه الrequest يجب ان تحدد الmethod المستخدمة في الوصول للWeb Server
-لتحديد الطريقة (method) يتم استخدام الform tag
كود
<form method="post">
-يوجد 3 أنواع عامة للmethodوهي (Head,Get,Post)
Head =>Retrieves information about a document and not the document itself.
Get & Post => Retrieves itself after execute it on server.
-طالما Get & Post لهما نفس الوظفية إذاََ ما الفرق بينهم ؟
GET
-كل البيانات التي تضاف من قبل المستخدم تضاف لURL
-Default
-مشاكل استخدام GET
1-إذا كان ناتج الURL موجود مسبقا فإنها تعرض النتائج القديمة
2-كمية البيانات المضافة للURL محدودة.
POST
-السيرفير يكون قادر على قراءة البيانات
- كما تسمح بتمرير كميات اكبر من البيانات
-ترسل الrequest للسيرفير ولا تبحث في الCache directory
يبقى السؤال متي نستخدم GET ومتى نستخدم POST
GET:-
used to retrieve information that is acts as amodified URL that issues instructions to the server .
POST:-
if the request will actually modify the contents of data store on the server.
كود
http://www.anyserver.com/php/userform.php?username = Ahmed
كود
http://www.anyserver.com ====>Server
php/userform.php ====>اسم وموقع الصفحة
? ====> للفصل بين الموقع والبيانات
username = Ahmed ====> اسم الحقل وقيمته
& ====>للفصل بين البيانات المزدوجة
[/ALIGN]
2-Example
سنقوم بمثال تطبيقي يوضح الفرق بين الGet وال Post
اولا سننشىء صفحة ادخال بيانات userform.php
وصفحة أخرى لإجراء الaction عليها ولتكن process.php
1-userform.php
كود
<html>
<head>
<title>Form Name</title>
</head>
<body>
<h1>Welcome..</h1>
<form name="frmname" action="process.php" method="post">
<b>Please Enter Your name :</b>
<input type="text" name="name">
<br><br>
<input type="submit" name="submit" value="Enter">
</form>
</body>
</html>
2- process.php
كود
<html>
<head>
<title>Name</title>
</head>
<body>
CODE PHP:
<?php
echo("$name");
?>
<form>
<input type="button" value="Go back" onClick="self.history.back()">
</form>
</body>
</html>
بعد تنفيذ userform.php
ستظهر النتائج بالشكل الاتي

الان ستمرر القيمة المدخلة من قبل المستخدم الى الصفحة الثانية الي اجريت عليا الaction فمثلا لو ادخلنا ahmed سنلاحظ ما يلي/
فلو استخدمنا الMethod Post كما في مثالنا اعلاه سنلاحظ ان القيمة ahmed غير ظاهرة في الURL
تابعو معي ماذا حدث في رابط الصفحة (URL)

بينما ستظهر فيما لو استخدمنا الmethod get
كما في الصورة

3-Commenting Code
كود
1- // لجملة واحدة
2- /* */ لاكثر من جملة
3- <!-- --> لاكثر من جملة
4-Escaping Characters:-
- في بعض الاشارات تحتاج الى علامة (\) قبل طباعتها والاشارات هيا (',',\,$)
e.g
echo("Ahmed"s SH"); //wrong
echo("Ahmed\"s SH"); //true
-يوجد بعض إشارات أخرى ذات دلالة وهي
\n =====> سطر جديد
\r =====> carriage return
\t =====> tab
ما الفرق بين الجملتين الآتيتين
كود
echo("$name"); // ahmed
echo('$name'); //$name
نلاحظ ان الإشارة " هي التي تستخدم في جملة الطباعة echo وليس الاشارة '