הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   תכנות - מדריכים, code snippets (https://hosts.co.il/forums/forumdisplay.php?f=68)
-   -   [מדריך] PHP - מבנה הבקרה IF (https://hosts.co.il/forums/showthread.php?t=18185)

Alon.R 21-03-06 20:03

[מדריך] PHP - מבנה הבקרה IF
 
שלום,
החלטתי לכתוב מדריך למבנה הבקרה הפשוט, השימושי והנפוץ ביותר בשפות התיכנות - מבנה הבקרה If.

רמת המדריך - קלה.

המבנה של If נראה כך:
PHP קוד:

<?php

if(תנאי)
{
סקריפטבמידה והתנאי נכון.
}

?>

דוגמה:
PHP קוד:

<?php

$var 
"1";

if(
$var == "1")
{
echo 
"\$var is 1";
}

?>

הפלט
קוד:

$var is 1
זהו מבנה פשוט של If, בנוסף למבנה אחד של If יש עוד 2 אפשרויות להוספה:
ElseIf
וElse

את Elseif מוסיפים אחרי if ואפשר לעשות כמה Elseif שרוצים כמו בדוגמא השניה.
המבנה של ElseIf:
PHP קוד:

<?php

if(תנאי)
{
סקריפטבמידה והתנאי נכון.
}
elseif(
תנאי)
{
סקריפטבמידה והתנאי הנוכחי נכון וקודמיו לא נכונים.
}
//כמובן שאפשר להוסיף כמה שרוצים elseif
?>

דוגמאות:

PHP קוד:

<?php

$var 
"2";

if(
$var == "1")
{
echo 
"\$var is 1";
}
elseif(
$var == "2")
{
echo 
"\$var is 2";
}

//דוגמה נוספת:

$var2 "4";

 if(
$var2 == "1")
 {
echo 
"\$var2 is 1";
 }
 elseif(
$var2 == "2")
 {
 echo 
"\$var2 is 2";
 }
 elseif(
$var2 == "3")
  {
  echo 
"\$var2 is 3";
  }
 elseif(
$var2 == "4")
  {
  echo 
"\$var2 is 4";
  }
?>

בדוגמא הראשונה הפלט יהיה:
קוד:

$var is 2
בדוגמא השניה הפלט יהיה:
קוד:

$var2 is 4
עכשיו נעבור לElse, את Else מוסיפים אחרי If (דוגמא ראשונה) או אחרי ElseIf (דוגמא שניה) בסוף מבנה הבקרה, הסקריפט של הElse רץ רק כאשר הif והelseifים לא נכונים.

מבנה:
PHP קוד:

<?php

if(תנאי)
{
סקריפטבמידה והתנאי נכון.
}
//שימו לב שבelse לא מציבים תנאי
else
{
סקריפטבמידה והתנאים הקודמים לא נכונים
}
?>

דוגמאות:
PHP קוד:

<?php

$var 
"6";

if(
$var == "4")
{
echo 
"\$var is 4";
}
else
{
echo 
"\$var is not 4";
}

//דוגמה נוספת:

$var2 "10"

if($var2 == "3")
{
echo 
"\$var2 is 3";
}
elseif(
$var2 == "5")
{
echo 
"\$var2 is 5";
}
elseif(
$var2 == "7")
{
echo 
"\$var2 is 7";
}
elseif(
$var2 == "9")
{
echo 
"\$var2 is 9";
}
else
{
echo 
"\$var2 is not 3 or 5 or 7 or 9";
}
?>

הפלט בדוגמא הראשונה יהיה:
קוד:

$var is not 4
הפלט בדוגמא השניה יהיה:
קוד:

$var2 is not 3 or 5 or 7 or 9
עד לפה להיום :D
אשמח לענות על שאלות שהתעוררו בעקבות המדריך באשכול
ואשמח לקבל ביקורת והצעות לשיפור למדריך (מדריך ראשון שאני כותב בPHP).

BBman 21-03-06 20:09

מדריך נחמד מאוד ובסיסי...בהצלחה בהמשך ! =]

vmatan 21-03-06 20:11

מדריך קל ומובן. לי אישית המדריך חידד את ההבנה בשפה.

RazRaz 21-03-06 20:12

סחטיין על ההשקעה , כל הכבוד אלון!

Alon.R 21-03-06 20:13

ציטוט:

נכתב במקור על ידי RazRaz
סחטיין על ההשקעה , כל הכבוד אלון!

|לב||לב||לב|
:-D תודה, ובהצלחה מתן.

Pro-HostCoil 21-03-06 20:19

אלון, במידה ואני אמור להיות מחובר ללוח הבקרה, איך אני בונה את התנאי הזה שרק אם הפרטים של המשתמש בcookie אז הוא יכול לצפות בדף, או אם יש לו הרשאות גישה?

תודה רבה אלון.

Alon.R 21-03-06 20:34

זה תלוי..
בוא אני יגיד לך בקצרה ובפשטות איך אני עשיתי פאנל ניהול בPHP (מה שאני נותן לך פה זה דוגמא הרבה יותר פשוטה ממה שאני עשיתי במערכת שלי).

בוא נגיד שאנחנו רוצים שערך העוגיה יהיה 12345 בשביל שהוא יוכל להיכנס לפאנל ניהול ושם העוגייה זה login, אז ככה:

PHP קוד:

<?php

//אם ערך העוגייה שווה לסיסמא (12345)
if($_COOKIE['login'] == "12345")
{
script.....
}
//אם אין לו עוגיה
elseif(!$COOKIE['login'])
{
the script form of the login
}
//אם זה לא תואם לסיסמא
elseif($_COOKIE['login'] <> "12345")
{
echo 
"הסיסמא לא נכונה";
}

?>

מלבד זאת תרצה למנוע מאנשים שיש להם גישה לעוגיות של האדמין שיראו את הסיסמא, ככה שרצוי להצפין את ערך הסיסמא בעוגיה בmd5 וגם במסד נתונים ואז בטופס למשל כתוב ערך מסויים אתה מצפין גם אותו בשביל להשוות אותו עם ערך שבמסד, הסיבה שאנו רוצים לעבוד עם מסד נתונים זה בשביל שלאדמין יהיה אפשרות לשנות סיסמאות בקלות.

Kuchi 21-03-06 20:37

אלון תאמת ? מדריך חמוד יותר מזה לא למה ?
כי אני למשל הייתי אומר שמי שלא יודע תנאים ב JS ? לא אמור לדעת תנאים ב PHP (זאת התורת הלמידה שלי :\ HTML JS ASP PHP ...)
כל אחד שונה אז אל תעלבו
אבל יפה אלון על היוזמה

Alon.R 21-03-06 20:39

אני ממש חולק עליך.

אני ידעתי HTML אח"כ PHP ואני כרגע לא יודע JS וזה לא מפריע לי בכלל בתיכנות.

Kuchi 21-03-06 20:40

ציטוט:

נכתב במקור על ידי Alon.R
אני ממש חולק עליך.

אני ידעתי HTML אח"כ PHP ואני כרגע לא יודע JS וזה לא מפריע לי בכלל בתיכנות.

אתה עוד תתקל בקשיים אבל ... כל אחד ודרכו כמו שאמרתי לכל אחד תורה משלו !


כל הזמנים הם GMT +2. הזמן כעת הוא 20:28.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ