PHP Site Design
PHP Site Design
إعداد الطلبة
كرار ثائر واشي الالمي
مجتبى عبد الفتاح عبد الكريم
مهدي حمود سلمان الجيزاني
بأشراف االستاذ
م.م مصطفى صادق لطيف
بسم هللا الرحمن الرحيم
(وقل اعملوا فسيرى هللا عملكم ورسوله والمؤمنون)
صدق هللا العلي العظيم
االهداء
الى من كلله هللا بالهيبة والوقار...
الى من علمني العطاء بدون انتظار...
الى من احمل اسمه بكل افتخار...
ارجو من هللا ان يمد بعمرك لترى ثمارا" قد حان قطفها بعد طول انتظار
وستبقى كلماتك نجوم اهتدي بها اليوم وفي الغد والى االبد...والدي العزيز...
الى مالكي في الحياة الى معنى الحب والى معنى الحنان والتفاني الى بسمة
الحياة وسر الوجود الى من كان دعائها سر نجاحي وحنانها بلسم جراحي الى
من بوجودها اكتسب قوة ومحبة الوجود لها الى اغلب احبابي ....امي العزيزة.
البد لنا ونحن نخطو خطواتنا االخيرة في الحياة الجامعية من وقفة نعود فيها
الى اعوام قضيناها في رحاب الجامعة مع اساتذتنا الكرام الذين قدموا لنا الكثير
باذلين بذلك جهود كبيرة في بناء جيل الغد لتبعث االمة من جديد ......
وقبل ان نمضي نتقدم بأسم آيات الشكر واالمتنان والمحبة الى الذين مهدوا لنا
طريق العلم والمعرفة...اساتذتنا االفاضل.....
واخص منهم االستاذ مصطفى صادق المحترم
" كن عالما" فان لم تستطع فكن متعلما" فان لم تستطع فأحب العلماء فان لم
تستطع فال تبغضهم "
الفصل األول
المقدمة
تتميز اللغة بالكثير من الخصائص التي جعلتها الخيار األمثل لمبرمجي الويب في
العالم:
السهولة:
تعتبر لغة ال phpمن اسهل لغات البرمجة تعلما" ,فهي تريحك من العديد من
التعقيدات كتعقيدات ادارة الذاكرة وتعقيدات ادارة النصوص الموجودة في لغة C
من جهة والكثير من الضعف الموجود حاليا" في بينية وتصميم لغة البرمجة
perlمن جهة اخرىتمتلك لغة PHPبنية وقواعدا ثابته وواضحة جدا ،معظم
قواعد اللغة مأخوذة من كل من Cو Javaو Perlلصنع لغة برمجة عالية
السهولة والسالسة دون فقدان أي من القوة في اللغة ،يفيدك ذلك إذا كنت تعلم
أي شيء عن لغات البرمجة األخرى مثل Visual Basicأو Cأو Javaحيث
ستجد دائما بأنك تفهم مواد الدورة بسرعة ،وستكتشف كيف تقوم PHPبتسهيل
أصعب األمور وإذالل العقبات التي تواجه المبرمج حتى يتفرغ تماما لإلبداع فقط،
كل ما تفكر به تستطيع تنفيذه بلغة PHP.
السرعة:
لغة PHPمن اللغات المعروفة بسرعتها العالية في تنفيذ البرامج ،وخاصة في
اإلصدارة الرابعة من المترجم ،حيث تمت كتابة مترجم PHPمن الصفر ليعطي
أداءا في منتهى الروعة ،كما أن لغة PHPمصممة أصال كنواة لمترجم ،بحيث
يمكن أن تضع هذه النواة في عدة قوالب أو أغلفة لتعمل مع التقنيات المختلفة،
فيمكنك تشغيل مترجم PHPكبرنامج CGIمثال ،ولكن األفضل هو إمكانية
تركيب مترجم PHPعلى مزود IISفي صورة وحدة إضافية تضاف إلى المزود
عن طريق دوال ، ISAPIوتوجد نسخة أخرى منه تركب على مزود Apache
أيضا في صورة وحدة خارجية ،وتوجد أيضا نسخة مخصصة للدمج مع شفرة
مزود Apacheبحيث تصبح جزءا من برنامج Apacheنفسه ،وهي الطريقة
األكثر استخداما اآلن في مزودات الويب التي تعمل على أنظمة UNIXوهي
الطريقة التي تعطي أفضل أداء لمترجم ، PHPحيث يصبح المترجم جزءا من
المزود ،وبالتالي فإنه سيكون محمال في الذاكرة بانتظار صفحات PHPليقوم
بترجمتها وعرضها للزوار مباشرة دون التأخير اإلضافي الذي تتطلبه برامج
Perl/CGIمثال حيث يجب أن يتم تشغيل مترجم Perlمع كل زيارة للصفحة
لترجمة الصفحة ،ثم يتم إغالق المترجم ،ثم استدعاءه مجددا عند الزيارة الثانية
وهكذا ،وهذا يشكل فارقا كبيرا في المواقع ذات الضغط العالي بالذات ،ويكون
استخدام PHPحال أفضل بكثير.
الحماية :
يوفر PHPالكثير من المزايا المتقدمة ،ولكنه يوفر لك الطرق المناسبة لوضع
الحدود على هذه المزايا ،فيمكنك التحكم بعدد االتصاالت المسموحة بقاعدة
البيانات مثال ،أو الحجم األقصى للملفات التي يمكن إرسالها عبر المتصفح ،أو
السماح باستخدام بعض الميزات أو إلغاء استخدامها ،كل هذا يتم عن طريق ملف
إعدادات PHPوالذي يتحكم به مدير الموقع .
بنية ملفات ال : php
ملفات PHPهي ملفات نصية بسيطة ،تشبه في تركيبها ملفات ASPوملفات
HTMLبشكل عام ،يتكون ملف PHPمن قسمان ،قسم HTMLوقسم
،PHPالملف بالصورة الطبيعية عبارة عن ملف HTMLعادي ،ولكنك
تستطيع تحديد أجزاء معينة من الملف ليخرج فيها الملف من وضعية HTML
إلى وضعية ، PHPإلخراج الملف إلى وضعية PHPتوجد عدة طرق:
– 1استخدام الوسم التالي:
<? php
;'!echo 'This is PHP output
>?
- 2استخدام زوج المختصر
?<
;'!echo 'This is PHP output
>?
استخدامها ناحية الخادم
في الحقيقة صممت بي إتش بي من أجل استخدامها من ناحية الخادم وبناء
تطبيقات وب تفاعليه ،وقد أصبح بناء LAMPمشهورا جدا في صناعة الوب
كطريقة برمجيات وب آمنة ،غير مكلفة ،ويمكن االعتماد عليها .بي إتش بي
مشار إليها كحرف Pفي LAMPكـ لغة برمجه ،بجانب لينكس ) (Lكـ نظام
تشغيل ،اباتشي ) (Aكـ خادم وب وماي إس كيو إل ) (Mكنظام إدارة قواعد
البيانات .وقد ظهرت أيضا بناءات أخرى
ك WAMPمستبدلة لينكس بـ ويندوز) ، (WوMAMPمستبدله لينكس بـ ما
ك أو اس(M).
PHP Version 2 كان مبرمجها يعتبرها "اسرع وابسط اداة" إلنشاء المواقع
16أبريل1996،
)(PHP/FI التفاعليه.
PHP 4.0 22مايو2000، تم إضافة نظام محترف للتنفيذ اطلق عليه اسم محرك زيند.
لقد انتهت النقطة االولى حاليا االن نذهب الى النقطة الثانية التي تشمل
تطبيقاتها :
– 1برنامج الموظفين الذي نعمل علية حاليا
-2برنامج المخازن الذي يشمل قاعدة بيانات والعديد من الجداول التي
بداخلها التي يتم ربطها بال ()php
– 3برنامج السوبر ماركت الذي يحتوي كذلك على قاعدة بيانات خاصة
للمواد وامور اخرى خاصة بالسوبرماركت
– 4برنامج الطلبة الذي يحتوي على قاعدة بيانات اسماء الطلبة ومعلوماتهم
كلها.
الفصل الثالث
Project design
________________________________________
وبهذا ننهي فصلنا الثالث والحمد هلل تعالى.......
________________________________________
الفصل الرابع
تحتوي الصفحة لغتان العربية واالنكليزية وسوف نباشر بلغتنا الحبيبه وهي العربية
:والكود كالتالي
<html>
<head>
<meta http-equiv="content-type"
content="text/html" charset="utf-8" />
<meta name="author" content="" />
<title>main page</title>
</head>
<body background="rrrr.jpg">
<center><br /><br /><br />
<imgsrc="o.png" /><br /><br /><br /><br /><br /><br
/>
<a href="main.php"><imgsrc="rrr.png" /></a>
<a href="mainarabic.php"><imgsrc="rr.png" /><br/>
<a href="kk.html"><imgsrc="nncc.png" /></a>
</center>
</body>
</html>
الذي يشمل اسم الصفحة الرئيسية وكذلك الرابط الذي سوف يذهب الية عندما
تختار اي اختيار.
– 2صفحة الدخول :تشمل دخول المدير اوال ودخول الموظفين ثانيا" كما
هي امامكم بالصورة:
<html>
<head>
<title>login1</title>
</head>
<body background="33.jpg">
<center></br></br>
<marquee bgcolor="#ttccee" BEHAVIOR="alternate"
SCROLLAMOUNT="10">
<h1>WELCOME ADMIN IN YOUR PAGE</h1>
</marquee>
<h1>Please Enter The Pass Number And Password</h1>
<center></br></br>
<form action="log3.php" method="post">
<table border="1" background="6.jpg">
<tr>
<td height="50" width="100">pass number:</td>
<td><input type="text" value="" size="30"
name="x"/></td>
</tr>
<tr>
<td height="50" width="100">PASSWORD:</td>
<td><input type="Password" value="" size="30"
name="y"/></td>
</tr>
<tr>
<td><input type="submit" value=" GO "></td>
<td><input type="reset" value=" RESET "></td>
</tr>
</table>
<a href="main.php"><h1>back</h1></a>
</form>
</body>
</html>
وعند الضغط على الدخول يذهب الى كود ال:للتأكد من الرمز والكود كالتالي
Php
<?php
include"13.php";
$host="sql100.v90.us";
$username="v90_14112212";
$password="bvnhf6y8";
$db_name="v90_14112212_we";
$tbl_name="admin";
mysql_connect("$host", "$username", "$password")or
die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
mysql_query("set names 'utf8';");
$myusername1=$_POST['x'];
$mypassword1=$_POST['y'];
$myusername1 = stripslashes($myusername1);
$mypassword1 = stripslashes($mypassword1);
$myusername1 =
mysql_real_escape_string($myusername1);
$mypassword1 =
mysql_real_escape_string($mypassword1);
$sql="SELECT * FROM $tbl_name WHERE
passnumber='$myusername1' and
Password='$mypassword1'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("x");
session_register("y");
header("location:we.html");
}
else {
echo "pass number or passowrd error";
}
?>
انتهينا من صفحة دخول المدير نذهب الى صفحة دخول الموظفين عند الضغط
: على دخول الموظفين تظهر لك الصورة التالية
echo "</form>";
echo "</td></tr>";
$x++;
$j++;
if($j=='2')
$j=0;
}
echo "</table>";
?>
<script type="text/javascript">
//<![CDATA[
function printPage()
{
// Do print the page
{ )'if (typeof(window.print) != 'undefined
;)(window.print
}
}
>]]//
></script></br></br
' <input type='button' id='print' value=' print
>onclick='printPage()'></br></br
والكود كالتالي:
وله كودان اي عندما يضغط المدير على االضافة يذهب من خالل الكود الثاني
إلضافة البيانات المطلوبة التي تم اضافتها من خالل المدير االن الكود االول
هو:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
"Transitional//EN
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
>"transitional.dtd
>"<html xmlns="http://www.w3.org/1999/xhtml
><head
;<meta http-equiv="Content-Type" content="text/html
>charset= " /
<title>edit</title>
</head>
<body background="21.jpg"><br /><br /><br />
<center>
<h1>ADDED NEW NAME IN YOUR DB</h1>
<table border="1">
<form action="added.php" method="post">
<tr>
<td>
id:</td><td><input type="text" name="id" size="30"
/></td></tr>
<tr>
<td>
name:</td><td><input type="text" name="name"
size="30" /></td></tr>
<tr>
<td>job number:</td><td><input type="text"
name="job_number" size="30" /></td></tr>
<tr>
<td>
Gender:</td><td><input type="text" name="Gender"
size="30" /></td></tr>
<tr>
<td>
age:</td><td><input type="text" name="age"
size="30" /></td></tr>
<tr>
<td>job date:</td><td><input type="text"
name="job_date" size="30" /></td></tr>
<tr>
<td>job level:</td><td><input type="text"
name="job_level" size="30" /></td></tr>
<tr>
<td>marry status:</td><td><input type="text"
name="marry_status" size="30" /></td></tr>
<tr>
<td>number job hour:</td><td><input type="text"
name="number_job_hour" size="30" /></td></tr>
<td>pass number:</td><td><input type="text"
name="pass_number" size="30" /></td></tr>
<tr>
<td>
<input type="submit" name="submit" value="added
new name"/></td></tr>
<tr>
</form></table>
<a href="persunaldata.htm"><h1>back</h1></a>
</body>
</html>
: الكود الثاني هو
<?php
$connect=
mysql_connect("sql100.v90.us","v90_14112212",'bvnhf
6y8');
if(!$connect){
die ('could be not connect: '. mysql_error());
}
//echo "connection !<p>";
// selecting db;
$db=mysql_select_db("v90_14112212_we") or die
(mysql_error());
if($_POST['submit']){
$id= $_POST['id'];
$name= $_POST['name'];
$job_number= $_POST['job_number'];
$Gender= $_POST['Gender'];
$age= $_POST['age'];
$job_date= $_POST['job_date'];
$job_level= $_POST['job_level'];
$marry_ststus= $_POST['marry_status'];
$job_hour=$_POST['number_job_hour'];
$pass_number=$_POST['pass_number'];
$insert= "INSERT INTO persunal
VALUES('$id','$name','$job_number','$Gender','$age',
'$job_date','$job_level','$marry_ststus','$job_hour','$pa
ss_number')";
$query=mysql_query($insert);
if($query){
echo "<center><h1> Save operation was
successful</h1></center>";
echo"<meta http-equiv=refresh
content=2;url=added1.php>";
}
}
==========================================
االن نذهب الى كود الحذف وهو ايضا موجود في جميع الصفحات الخاصة
بالمدير
:والكود كالتالي
<html><head><meta http-equiv="Content-Type"
charset="windows-1256" /><title>delete</title></head>
<body background="77.jpg ">
</body>
</html>
<?php
$username="v90_14112212";
$password="bvnhf6y8";
$database="v90_14112212_we";
mysql_connect("sql100.v90.us",$username,$password);
@mysql_select_db($database) or die( "no conection to
database");
$sql= "select * from persunal order by id ";
$query= mysql_query($sql);
$result=mysql_num_rows($query);
if($result>0){
echo "<center>
<form action='delete1.php?token=2' method=
'post'></br></br></br></br></br></br></br>
chose name to delete :<select name='delete'>";
while($row = mysql_fetch_assoc($query)){
$id=$row['id'];
$name=$row['name'];
$jobnumber=$row['job_number'];
$gender=$row['gender'];
$age=$row['age'];
$jobdate=$row['job_date'];
$level=$row['job_level'];
$marry=$row['marry_status'];
$jobhour=$row['number_job_hours'];
$pass=$row['pass_number'];
echo " <option value= '$id' > pass=$pass ,name=
$name </option> ";
}
echo"</select>
<input type='submit' name='submit' value=' delete
'>
<a
href='persunaldata.htm'><center><h1>back</h1></cent
er></a>
</form></center>";
if($_GET['token']=='2'){
$delete=$_POST['delete'];
if($delete){
$sql="delete from persunal WHERE id='$delete'";
$query=mysql_query($sql);
if($query){
echo"<meta http-equiv=refresh
content=2;url=delete1.php?r=2&token=1>";
echo"</br></br></br><center><h1> THE DELETE IS
DONE THANKS</h1></center>";
}
}}}
else{
echo"</br></br></br><center><h1> SORRY NO
NAME IN YOUR DATA BASE</h1></center>";
echo"<a
href='persunaldata.htm'><center><h1>back</h1></cent
er></a>";
}
?>
أالن نذهب الى الكود الخاص بإيعاز البحث وهو ايضا موجود في جميع
الصفحات وكذلك صفحة البحث الخاصة بالموظفين فقط يكون التغيير في
أسماء الجداول والحقول كما قلنا سابقا" فلهذا لن نكرر الكود مرة اخرى في
صفحة البحث للموظفين
:والكود كالتالي
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type"
content="text/html; charset="windows-1275" />
<meta name="author" content="Stark" />
<title>SEARCH IN THE DATA</title>
</head>
<body background="7.jpg">
<center>
<h1><imgsrc="z.png" /></h1>
<form action="" method="post">
<input type="text" name="search"
size="50"/></br></br>
<input type="submit" value=" search " />
<input type="reset" value=" reset "/><br /><br
/>
<a href="
persunaldata.htm"><H1>BACK</H1></a><br /><br />
</form>
</body>
</html>
<?php
echo "<html dir=rtl>";
echo "<title></title>";
echo "<body>";
echo "<br />";echo "<br />";
mysql_connect("sql100.v90.us","v90_14112212",'bvnhf
6y8') or die("no connection");
mysql_select_db("v90_14112212_we")or die("no db");
//collect
if(isset($_POST['search'])){
$searchq= $_POST['search'];
$searchq=preg_replace("#[^0-9a-z]#i","",$searchq);
$query=mysql_query("SELECT * FROM persunal
WHERE pass_number='$searchq'");
$count=mysql_num_rows($query);
if($count == 0){
print"NO RESENT IN THE DATA BASE,TRY AGAIN
";
}
else{
echo "<table border=1 align='center'>";
while($row = mysql_fetch_array($query)){
echo "<tr>";
echo "<td align=center bgcolor=#yy9999>id</td>";
echo "<td align=center bgcolor=#yy9999>name</td>";
echo "<td align=center bgcolor=#yy9999>job
number</td>";
echo "<td align=center bgcolor=#yy9999>pass
number</td>";
echo "<td align=center bgcolor=#yy9999>gender</td>";
echo "<td align=center bgcolor=#yy9999>age</td>";
echo "<td align=center bgcolor=#yy9999>job
date</td>";
echo "<td align=center bgcolor=#yy9999>job
level</td>";
echo "<td align=center bgcolor=#yy9999>marry
status</td>";
echo "<td align=center bgcolor=#yy9999>number job
hours</td>";
echo "</tr>";
echo "<tr>";
echo "<td align=center> $row[id]</td>";
echo "<td align=center> $row[name]</td>";
echo "<td align=center> $row[job_number]</td>";
echo "<td align=center> $row[pass_number]</td>";
echo "<td align=center> $row[gender]</td>";
echo "<td align=center> $row[age]</td>";
echo "<td align=center> $row[job_date]</td>";
echo "<td align=center> $row[job_level]</td>";
echo "<td align=center> $row[marry_status]</td>";
echo "<td align=center>
$row[number_job_hours]</td>";
echo "</tr>";
}
}
}
echo "</table>";
echo "<body>";
echo "<html>";
?>
كل هذه االكواد فقط عند دخول المدير
واالن نأتي لدخول الموظفين
تظهر لك الصورة التالية طبعا بعد تسجيل الدخول:
وكود البحث كما هو في البحث في البيانات الشخصية وكما قلنا التغيير يكون
فقط في اسماء الجداول والحقول فقط........
---------------------------------------------------
وهنا اعزائي المحترمين ننهي بحثنا هذا بانهاء الفصل الرابع وارجو ان نكون
قد افدناكم ببحثنا هذا وشكرا جزيال لكم احبتي االعزاء ........ولكم صورة
للصفحة الرئيسية للبرنامج