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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   לאן להמשיך? - תכנות (https://hosts.co.il/forums/showthread.php?t=72020)

Shay Ben Moshe 15-02-09 20:47

לאן להמשיך? - תכנות
 
שלום לכם חברי הוסטס היקרים.
אני יודע XHTML , CSS ולקודד באופן תקין (http://www.exalted-web.com/?viewpage=slice)
אני יודע PHP ובניתי מספר מערכות (http://www.startgame.co.il/ , http://www.exalted-web.com/exaltedcms/). PHP למדתי מhttp://learnphp.co.il/ ומhttp://php.eitan.ac.il/main.php ואני יודע את כל החומר שם (אם כי אני קצת חלש במחלקות ובביטויים רגולרים) וכמובן שלמדתי גם הרבה מהאתר של php.net. אני יודע להשתמש בMySQL שוטף..
אני יודע בJS בעיקר לערוך דברים פשוטים וממש בסיס של JS, לא יכול להגיד שאני יודע JS.

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

אני אודה לכם מאוד אם תקראו מה שכתבתי ותעזרו לי להמשיך את דרכי.
תודה,
שי.

Daniel 15-02-09 20:50

אתה רוצה להמשיך להתקדם? צריך לדעת איפה אתה. תן דוגמא לקובץ מהמערכת

Shay Ben Moshe 15-02-09 20:58

קצת בעייתי מבחינתי לשחרר יותר מדי קבצים אז אני אתן חלק קטן במערכת שאחראי על שינוי פרטי התחברות, עם כי גם הוא לא מתוחכם במיוחד. למי שתוהה זה קובץ שאני עושה לו include לתוך החלק של התוכן עצמו של הדף:
קוד:

<?php
if (isset($_POST['sent'])) {
        $update_name = $_POST['name'];
        if ($update_name != "") {
                sqlupdate("admin","username='$update_name'");
                setcookie ("login_name" , $update_name , time()+7200);
        echo <<<CONTENT
<strong>שם משתמש שונה בהצלחה!</strong>
<br />
CONTENT;
                }

        $update_pass2 = $_POST['pass2'];
        $update_pass = $_POST['pass'];
        $update_old_pass = $_POST['old_pass'];
        if ((md5($update_old_pass) == $admin_pass) && ($update_pass == $update_pass2)) {
                sqlupdate("admin","password='$update_pass'");
                setcookie ("login_pass" , md5($update_pass) , time()+7200);
        echo <<<CONTENT
<strong>סיסמה שונתה בהצלחה!</strong>
<br />
CONTENT;
                }
        elseif ($update_old_pass != "") {
                if (md5($update_old_pass) != $admin_pass) {
        echo <<<CONTENT
<strong>הסיסמה הישנה לא נכונה!</strong>
<br />
CONTENT;
                        }
                if ($update_pass != $update_pass2) {
        echo <<<CONTENT
<strong>הסיסמה החדשה לא תואמת את הסיסמה בשנית!</strong>
<br />
CONTENT;
                        }
                }
        }

echo <<<CONTENT
<form method="post" action="#">
<input type="hidden" name="sent" value="sent" />
שם המשתמש לפאנל הניהול:
<br />
<input type="text" name="name" value="" style="width: 500px;"/>
<br />
סיסמה ישנה: (להקיש רק בשינוי סיסמה)
<br />
<input type="text" name="old_pass" value="" style="width: 500px;"/>
<br />
סיסמה חדשה לפאנל הניהול:
<br />
<input type="text" name="pass" value="" style="width: 500px;"/>
<br />
סיסמה חדשה בשנית לפאנל הניהול:
<br />
<input type="text" name="pass2" value="" style="width: 500px;"/>
<br /><br />
<input type="submit" value="שלח" class="button" />
</form>
CONTENT;
?>

אם זה באמת לא מספיק אני יכול ללכת ולהביא משהו קצת יותר רציני..
תודה.

עריכה:
חוץ מזה, אני לא שואל אם אני בסדר, אני שואל לאן להמשיך, ללמוד עוד PHP, למרות שאני מסתדר עם כל דבר עד עכשיו כמעט או ללכת ונניח להתחיל ללמוד AJAX או לשבת וללמוד קצת JS. נראה לי אני אקח לי איזה שישי שבת ללמוד JS ככה חח.

O-B 15-02-09 21:27

ליעל את מה שאתה עושה..
להוציא נתונים בפחות שאליתות..
להוציא רק את הנתונים הנחוצים ולא להשתמש ב *..
להפריד בין HTML ל PHP..

כל מיני דברים כאלה..

Shay Ben Moshe 15-02-09 21:53

ציטוט:

נכתב במקור על ידי O-B (פרסם 698431)
ליעל את מה שאתה עושה.. אתה יכול להסביר ולפרט?
להוציא נתונים בפחות שאליתות.. איפה ראית פה הרבה שאילתות? במה שהעלתי יש שתי שאילתות שאחת נועדה לשנות את השם משתמש שלא דורש אימות ובשנייה סיסמה שכן דורשת אימות.
להוציא רק את הנתונים הנחוצים ולא להשתמש ב *.. בד"כ אני כן משתמש ב* כי זה יותר נוח לי לעבוד ככה, אבל לא תמיד, אני פשוט שולף רק דברים נחוצים בקוד שלי...
להפריד בין HTML ל PHP.. לא הראתי את המערכת לכן אני לא מצפה שתדע אבל יש הפרדה מוחלטת בין העיצוב/קידוד לבין המערכת עצמה, מוחלטת.

כל מיני דברים כאלה..

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

nevo 15-02-09 21:55

תלמד לעבוד עם מחלקות וקבצי עיצוב בנפרד.

Erez | TrustMedia.co.il 15-02-09 22:03

קודם תלמד מחלקות שזה דבר שכמעט חייבים לדעת
ביטויים רגיולריים גם נורא עוזר אבל לא חובה
מה שאמרו לך למעלה לייעל את הקוד שיהיה כמה שיותר קצר ושירוץ יותר מהר
וגם להפריד לגמרי את הHTML מהקוד(לא לשים שום תגית HTML בתוך הקוד!)
בהצלחה

Shay Ben Moshe 15-02-09 22:07

ציטוט:

נכתב במקור על ידי nevo (פרסם 698439)
תלמד לעבוד עם מחלקות וקבצי עיצוב בנפרד.

אם היית טורח לקרוא מה שרשמתי אמרתי שהעיצוב והאתר עצמו מופרדים לחלוטין.
הקובץ של העיצוב שמור בצורה שכזו בשם html.php (כמובן שזה לא הקובץ רק סכמה קטנה):
קוד:

<?php
echo <<<CONTENT
<html>
<head>
        <title>$sent_sitename</title>
        <meta name="keywords" content="$sent_keywords" />
        <meta name="descrption" content="$sent_descrption" />
</head>
<body>
<div class="page">
        <div class="header">
                <h1>$sent_sitename</h1>
                <h2>$sent_slogen</h2>
        </div>

        <div class="menu">
$sent_menu
        </div>

        <div class="middle">
$sent_middle
        </div>
</div>
</body>
</html>
CONTENT;
?>

ואז בקובץ PHP זה משהו כזה:
קוד:

<?php
include("global.php");

SOME SQL STUFF TO GET MENU AND PAGE

$sent_sitename = $global_sitename;
$sent_middle = $page_row['content'];
.
.
.

include("html.php")
?>

מקווה שהבנתם את הרעיון...


שכחתי לציין שאני מתכנת PHP או 4 או 5 חודשים אני לא בטוח (הייתה לי הכרות לא רעה עם VB6 שממש לא דומה לPHP קודם לכן). וHTML אני מכיר כבר כמה שנים אך לא הייתי מודע לתקנים וכל זה עד בערך הזמן שהתחלתי לתכנת גם.

בקיצור ידע בתחום יש לי פחות מחצי שנה.


עריכה:
ציטוט:

נכתב במקור על ידי EAStyle (פרסם 698443)
קודם תלמד מחלקות שזה דבר שכמעט חייבים לדעת
ביטויים רגיולריים גם נורא עוזר אבל לא חובה
מה שאמרו לך למעלה לייעל את הקוד שיהיה כמה שיותר קצר ושירוץ יותר מהר
וגם להפריד לגמרי את הHTML מהקוד(לא לשים שום תגית HTML בתוך הקוד!)
בהצלחה

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

איך אפשר לדוגמה את הקוד שהצגתי מקודם לקצר וחשוב יותר איך להוציא משם את הHTML? לאן להעביר אותו?

תודה.

עריכה שנייה: יהיה נחמד אם מישהו שמבין בPHP ברמה גבוהה יוכל לשבת מולי במסן או משהו ושאני אראה לו קבצים מתוך המערכת שלי והוא יגיד מה דעתו ואיך ליעל אותה, כיוון שלכאן אני לא הולך להעלות את כל המערכת מן הסתם...

Erez | TrustMedia.co.il 15-02-09 22:17

מחלקות מאוד עוזרות בגלל כמה סיבות ביניהם:משתני מחלקה,הגדרות מחלקה(ציבורית/פרטית),ובכללי הקוד יותר מסודר ונוח ועד שלא תנסה לא תדע

Shay Ben Moshe 15-02-09 22:20

ציטוט:

נכתב במקור על ידי EAStyle (פרסם 698448)
מחלקות מאוד עוזרות בגלל כמה סיבות ביניהם:משתני מחלקה,הגדרות מחלקה(ציבורית/פרטית),ובכללי הקוד יותר מסודר ונוח ועד שלא תנסה לא תדע

אממ הבעיה היא שאני לא מבין כל כך איך להשתמש, לא מבחינת איך לכתוב אלא איך לנצל את זה שזה יעזור לי. אני בקושי בונה לי פונקציות ואני לא מבין איך מחלקה תעזור לי, מה לשים זה, איזה משתנים יכולים להשתמש במחלקה בשביל להיות מועילים וכו'.


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

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