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

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

BBman 17-05-06 21:15

[שו"ת] FAQ לשפות תיכנות
 
קדימה , רכזו את שאלותיכם , ותשובותיכם .

שאלות בירוק - php, asp
סגול - HTML
אדום - c/c++/c#
שחור - visual basic

שאלה : כיצד אני יכול לבדוק את הערך הגדול ביותר במערך/קבוצת משתנים ?תשובה : ע"י הפונקציה Max :

תחילה , נכתוב מערך חדש :

PHP קוד:

$array[$key]; 

ואז נכתוב :
PHP קוד:

max($array); 

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

פונקציה זו עובדת גם עם מס' פרמטרים או משתנים , לדוגמא :

PHP קוד:

$a=10;
$b=222;
$c=30;
    echo 
max($a,$b,$c); 

ידפיס כמובן את b.

או :


PHP קוד:

    echo max(22,333,222,1,23,); 

ידפיס את 333.

eXtaZa 17-05-06 21:18

רעיון טוב!
ואני מציע לך לשנות מהירוק הבהיר הזה לזה:
כמו פה...
כי צריך לסמן את הירוק הבהיר כדי לראות טוב...

BBman 17-05-06 21:22

צודק =]

mlnn 17-05-06 21:30

PHP: איך מבטלים דיווח על שגיאות?
תוסיפו את זה בתחילת הטקסט:
PHP קוד:

error_reporting(0); 


BlueNosE 18-05-06 06:47

איך שולחים עוגיות גם לאחר שכתבנו פלט לדף?
כתבו בתחילת הדף
PHP קוד:

ob_start(); 

ובסופו (לא חובה):
PHP קוד:

ob_end_flush(); 

תהנו

(לא רק לעוגיות- לכל היידר קיים)

RayZ 18-05-06 09:33

כל הכבוד עומר.. ^^ וכולם.
(אני לא מתכנת..)

BBman 18-05-06 17:16

שאלה : כיצד אפשר לחסום ip ?דבר ראשון , לבנות טבלא של SQL במסד הנתונים.
שנית , לכתוב :

PHP קוד:

$ip=$_SERVER['REMOTE_ADDR']; 

ואז להכניס את המשתנה ip לרשימה , בעזרת INSERT , לקרוא את כל המס' בעזרת SELECT והשאר, ואז להציב תנאי משוואה.

להלן הקוד המלא :

PHP קוד:

<?php
    
include("db.php");
    
$ip    =    $_SERVER['REMOTE_ADDR'];
    
$query    =    mysql_query("INSERT INTO `details` (`ip`) VALUES('$ip')");
    
$select    =    mysql_query("SELECT * FROM `details`");
    while(
$result    =    mysql_fetch_array($select))
    {
        
$iplist    =    $result['ip'];

        if(
$ip    ==    $iplist)
        {
            die(
'האדמין חסם אותך');
        }
        else;
    }

            
?>

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

meshuga 18-05-06 17:20

ציטוט:

נכתב במקור על ידי BBman
שאלה : כיצד אפשר לחסום ip ?דבר ראשון , לבנות טבלא של SQL במסד הנתונים.
שנית , לכתוב :

PHP קוד:

$ip=$_SERVER['REMOTE_ADDR']; 

ואז להכניס את המשתנה ip לרשימה , בעזרת INSERT , לקרוא את כל המס' בעזרת SELECT והשאר, ואז להציב תנאי משוואה.

להלן הקוד המלא :

PHP קוד:

<?php
    
include("db.php");
    
$ip    =    $_SERVER['REMOTE_ADDR'];
    
$query    =    mysql_query("INSERT INTO `details` (`ip`) VALUES('$ip')");
    
$select    =    mysql_query("SELECT * FROM `details`");
    while(
$result    =    mysql_fetch_array($select))
    {
        
$iplist    =    $result['ip'];

        if(
$ip    ==    $iplist)
        {
            die(
'האדמין חסם אותך');
        }
        else;
    }

            
?>

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

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


אגב, האשכול ננעץ.

BBman 18-05-06 17:21

מה הבעיה איתה ? אני מודע לחסרונות , אך היא פשוטה ביותר ונוחה ע"פ דעתי.

עריכה :

סבבה שי =] הביקורת נתקבלה , אך אני חולק על דעתך לגבי הלימוד , לא הייתי שולח פוסטים סתם, חשבתי על הדרך הפשוטה ביותר , והמובנת שכמו שאמרת מותאמת למערכות קטנות יותר, תיקונים יתקבלו.
אבל האמת , אני לא מבין גדול ב-ip וחסימות , צודק, אך לגבי ה-php שלי , לא חושב שתיהיה בעיה ללמד, יש לי מספיק ידע.

להבא , אני יעזור בחלקים השולטים שבי =]

:)

meshuga 18-05-06 17:29

ציטוט:

נכתב במקור על ידי BBman
מה הבעיה איתה ? אני מודע לחסרונות , אך היא פשוטה ביותר ונוחה ע"פ דעתי.

עריכה :

סבבה שי =] הביקורת נתקבלה , אך אני חולק על דעתך לגבי הלימוד , לא הייתי שולח פוסטים סתם, חשבתי על הדרך הפשוטה ביותר , והמובנת שכמו שאמרת מותאמת למערכות קטנות יותר, תיקונים יתקבלו.
אבל האמת , אני לא מבין גדול ב-ip וחסימות , צודק, אך לגבי ה-php שלי , לא חושב שתיהיה בעיה ללמד, יש לי מספיק ידע.

להבא , אני יעזור בחלקים השולטים שבי =]

:)

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

$check_q=mysql_query("SELECT COUNT(`ip`) AS `count` FROM `details` WHERE `ip`='$ip'");
$check=mysql_fetch_array($check_q);
if(
$check["count"]>0)
    echo 
"אתה חסום";
else
    echo 
"מה שבא לך"

או
PHP קוד:

$check_q=mysql_query("SELECT `ip` FROM `details` WHERE `ip`='$ip'");
$check=mysql_num_rows($check_q);
if(
$check>0)
    echo 
"אתה חסום";
else
    echo 
"מה שבא לך"

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


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

בכל מקרה כמו שאמרתי, הרעיון של האשכול מצויין.

miniature 18-05-06 17:30

בצבעים שם שכחת JS..

BBman 18-05-06 17:40

ציטוט:

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

$check_q=mysql_query("SELECT COUNT(`ip`) AS `count` FROM `details` WHERE `ip`='$ip'");
$check=mysql_fetch_array($check_q);
if(
$check["count"]>0)
    echo 
"אתה חסום";
else
    echo 
"מה שבא לך"

או
PHP קוד:

$check_q=mysql_query("SELECT `ip` FROM `details` WHERE `ip`='$ip'");
$check=mysql_num_rows($check_q);
if(
$check>0)
    echo 
"אתה חסום";
else
    echo 
"מה שבא לך"

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

סבבה עכשיו עוד שאלה נוספה לשו"ת |Lol|

שאלה : כיצד ניתן להציג תוכן של הודעה נגיד בפורום , בבועה ? ממש כמו ב-vb? פשוט מאוד :

PHP קוד:

<?php
    
include("db.php");
    
$ip    =    $_SERVER['REMOTE_ADDR'];
    
$select    =    mysql_query("SELECT * FROM `details`");
    while(
$result    =    mysql_fetch_array($select))
    {
        
$msg    =    $result['msg'];
        
$id    =    $result['id'];
        
$title    =    $result['title'];
        echo 
"
        <a href=\"show.php?id=$id\" title=\"$msg\">$title</a>"
;
    }

            
?>

miniature - צודק , נחשיב את js כסגול.

eLad 18-05-06 17:44

ציטוט:

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

$check_q=mysql_query("SELECT COUNT(`ip`) AS `count` FROM `details` WHERE `ip`='$ip'");
$check=mysql_fetch_array($check_q);
if(
$check["count"]>0)
    echo 
"אתה חסום";
else
    echo 
"מה שבא לך"

או
PHP קוד:

$check_q=mysql_query("SELECT `ip` FROM `details` WHERE `ip`='$ip'");
$check=mysql_num_rows($check_q);
if(
$check>0)
    echo 
"אתה חסום";
else
    echo 
"מה שבא לך"

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


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

בכל מקרה כמו שאמרתי, הרעיון של האשכול מצויין.

אני יכול להציע דרך אחרת? :)

השיטה שלך בעצם תבדוק כל פעם האם מצאת את ה IP והאם אתה כבר בסוף הרשימה (כלומר EOF)

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

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

במידה ומצאת רק אז אתה בודק אם אתה בסוף הרשימה. במידה וכן, אז אין לך את ה IP הזה.
במידה ואתה לא בסוף הרשימה אז יש לך כבר את ה IP הזה בחסומים.

כמובן בסוף אתה צריך למחוק את ה IP שהוספת אותו ידנית.

BlueNosE 18-05-06 18:45

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

eLad 18-05-06 19:20

ציטוט:

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

לא הבנתי..

BlueNosE 18-05-06 19:46

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

eLad 18-05-06 20:08

ציטוט:

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

לפעמים צריך לצאת מהקופסא ולחשוב טיפה אחרת

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

BBman 24-05-06 21:48

כיצד אפשר להציג את x הפריטים האחרונים ? (למשל , הצגת 10 ההודעות האחרונות בפורום) :

הוספת תנאי ORDER BY ו LIMIT :

PHP קוד:

$repr=mysql_query("SELECT * FROM `tblname` ORDER BY `id` DESC LIMIT 5") or die(mysql_error()); 

את ה-id אפשר להחליף בכל שדה הנועד לסידור ומיון, ואת 5 אפשר להחליף בכל מס' אינטגרלי.

adiga000 01-06-06 21:46

ציטוט:

נכתב במקור על ידי BlueNosE
איך שולחים עוגיות גם לאחר שכתבנו פלט לדף?
כתבו בתחילת הדף
PHP קוד:

ob_start(); 

ובסופו (לא חובה):
PHP קוד:

ob_end_flush(); 

תהנו

(לא רק לעוגיות- לכל היידר קיים)

גם לסיישן?

-VladK- 02-06-06 05:38

ציטוט:

נכתב במקור על ידי adiga000
גם לסיישן?

לסשן יש session_start או משהו כזה...לא זוכר איך קוראים לו...בעעע לא סובל לעבוד עם סשנים! קוקיז שולט :D

adiga000 02-06-06 07:26

לא אבל אם נשלח פלט הסיישן לא יעובד..
בגלל זה אני שואל אם זה עובד גם על סיישן כדי שהסישןן יעבוד

eXtaZa 02-06-06 09:35

נראה לי שזה עובד גם על סשיין.. אני זוכר שניסיתי פעם וזה עבד... :)

ariel40 21-06-06 23:10

PHP: הורדתי WAMP5, מכאן, איך אני ממשיך? איך אני מפעיל דברים שבניתי בPHP על מחשבי?

BlueNosE 22-06-06 13:47

ציטוט:

נכתב במקור על ידי ariel40
PHP: הורדתי WAMP5, מכאן, איך אני ממשיך? איך אני מפעיל דברים שבניתי בPHP על מחשבי?

תשובה:
אתה נכנס לתיקייה שהתקנת, כמו למשל c:\Program Files\wamp
אתה מעלה את הקובץ שאתה צריך.
אתה ניגש לתיקייה ככה:
http://127.0.0.1/xxxx.php
או ככה:
http://localhost:80/xxxx.php
וזהו =]

הכומר 05-07-06 02:14



מה הפקודה שאם לוחצים עליה הדף חוזר לעמוד הקודם?

miniature 05-07-06 02:26

ציטוט:

נכתב במקור על ידי Yup.co.il


מה הפקודה שאם לוחצים עליה הדף חוזר לעמוד הקודם?

דרך א':
HTML קוד:

history.go(-1)
דרך ב':
HTML קוד:

history.back()

הכומר 05-07-06 13:29

ציטוט:

נכתב במקור על ידי miniature
דרך א':
HTML קוד:

history.go(-1)
דרך ב':
HTML קוד:

history.back()

אתה בטוח שזה לPHP?

Elad-A 05-07-06 13:34

ציטוט:

נכתב במקור על ידי Yup.co.il
אתה בטוח שזה לPHP?

זה ב JS אך אפשר לשלב את זה בPHP..

miniature 09-07-06 05:23

איך אפשר לקבל את הURL שבשורת הכתובת?

RS324 09-07-06 05:51

ציטוט:

נכתב במקור על ידי miniature
איך אפשר לקבל את הURL שבשורת הכתובת?

PHP קוד:

$_SERVER['QUERY_STRING'

זה?

miniature 09-07-06 06:04

ציטוט:

נכתב במקור על ידי RS324
PHP קוד:

$_SERVER['QUERY_STRING'

זה?

לא..
אני מתכוון למשהו כמו $PHP_SELF רק שיוציא את כל הכתובת..

RS324 09-07-06 06:13

יש לך REQUEST_URI
SCRIPT_NAME
ORIG_PATH_TRANSLATED
ORIG_PATH_INFO
כל אחד מוציא משהו אחר
הכי פשוט
echo "<pre>";
print_r($_SERVER);

ותראה מה אתה צריך

miniature 09-07-06 06:29

תודה =]


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

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