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

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

BlueNosE 01-03-07 16:32

האם אתם -באמת- מתכנתים כמו שצריך?
 
שלום, אני רוצה לדבר איתכם על נושא בתכנות שנראה לכם כמובן מאליו.
במקרה הזה אני אדבר על PHP, אבל זה תקף לכל השפות באינטרנט - JS, ASP וכו'.

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

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

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

קוד בPHP שיראה כך:
PHP קוד:

if ($_GET['id'] == 3)
echo 
"addfh"

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

הסינטקס הנכון הוא
PHP קוד:

if ((!empty ($_GET['id'])) and ($_GET['id'] == 3))
/*OR*/
if ((isset ($_GET['id'])) and ($_GET['id'] == 3)) 

ואני שואל - האם אתם באמת מתכנתים ככה?
כדי לבדוק את זה, תכתבו בתחילת הקוד
error_reporting (E_ALL);

RS324 01-03-07 16:37

חשבת להגדיר EROR_REPORTING במערכת ? ככה שבכל אופן גם אם יש NOTICE
הוא יתעלם מהם ?

BlueNosE 01-03-07 16:38

ציטוט:

נכתב במקור על ידי RS324 (פרסם 430914)
חשבת להגדיר EROR_REPORTING במערכת ? ככה שבכל אופן גם אם יש NOTICE
הוא יתעלם מהם ?

חשבתי, והחלטתי שהרבה יותר חכם ונכון לתכנת בסינטקס נכון.

Derey22 01-03-07 16:44

לא הבנתי כל כך מה אתה רוצה באשכול אבל חשוב גם לחסום html
$_GET['id'] .
ותודה

BlueNosE 01-03-07 16:47

^^^
לא מדבר על HTML בהקשר כלשהו.
ציטוט:

נכתב במקור על ידי RS324 (פרסם 430914)
חשבת להגדיר EROR_REPORTING במערכת ? ככה שבכל אופן גם אם יש NOTICE
הוא יתעלם מהם ?

אגב, תעשה סקר ותברר מי מאלה שלא כותב בסינטקס נכון משתמש בERROR_REPORTING, ותגיע לסכום ששואף ל0.

x-ray 01-03-07 17:03

מעטים מאוד האנשים שכותבים בצורה נכונה,
אני אישית שאני עובד למטרות פרטיות שלי לא כותב כך..

Derey22 01-03-07 17:09

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

RS324 01-03-07 17:20

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 430923)
^^^
לא מדבר על HTML בהקשר כלשהו.


אגב, תעשה סקר ותברר מי מאלה שלא כותב בסינטקס נכון משתמש בERROR_REPORTING, ותגיע לסכום ששואף ל0.

ותעשה סקר כמה אנשים פה מתמודדים ע register_globals ועם magic_qoutes ותגיע גם לסכום השואף ל 0

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

if($_GET['id'] == 3)
{
echo 
'hey fucker';


זה יעבוד בכל שרת... מניסיון...

x-ray 01-03-07 17:20

ציטוט:

נכתב במקור על ידי derey22 (פרסם 430945)
עכשיו שאני מבין יותר תהודעה שלך,אני ישתמש בזה,

זו הייתה רק דוגמא,יש עוד 1001 אפשרויות כאלה..

BlueNosE 01-03-07 17:25

ציטוט:

נכתב במקור על ידי RS324 (פרסם 430952)
אם אני עושה
PHP קוד:

if($_GET['id'] == 3)
{
echo 
'hey fucker';


זה יעבוד בכל שרת... מניסיון...

http://www.hill.4save.net/Huh.php
הקוד שלך מועתק 1:1, עם הוספת תווי <?php ?>.

אגב, בקשר לREGISTER_GLOBALS:
המודעות לדעתי עלתה קצת בקשר לזה, בכל מקרה אני אף פעם לא מאתחל משתנה GET משום מקום.

בקשר לMAGIC QUOTES, אני משתמש במשהו אחר בשביל לבצע פעולת סינון.

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

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


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

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