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

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

-VladK- 29-05-06 15:48

בעיה עם HEADERS
 
שלום.
אוקיי ניסיתי לעשות אבטחה קטנטנה...
היא בנויה מ-2 בדיקות עיקריות...אם המשתמש השתמש בGET...ואם הGET שהוא השתמש הוא GET שאני הגדרתי אותו כזמין לשימוש...אוקיי הכל טוב ויפה אבל נגיד ואני נכנס לעמוד עם GET שהגדרתי אותו כלא זמין...הPHP אמור להעביר אותי לעמוד מסוים אבל הוא אומר שהHEADERS כבר נשלחו אבל הבעיה היא שאין לי כלום לפניו (חוץ מ-2 IFים...)
הנה הקוד:
PHP קוד:

<?php
define 
("PHP_FILE"true);
if(isset(
$_GET['act'])) {
    if((
$_GET['act'] != "idx") and ($_GET['act']!= "register") and ($_GET['act']!= "login") and ($_GET['act']!= "forums") and ($_GET['act']!= "manage") and ($_GET['act']!= "funny") and ($_GET['act']!= "mondial") and ($_GET['act']!= "pics")) {
        
header('location:index.php?act=idx');
        exit;
    } elseif(
$_GET['act'] == "idx") {
        require 
'header.php';
        echo 
$glContent;

    } elseif(
$_GET['act'] == "manage") {
        require 
'header.php';
        echo 
"פאנל משתמש";

    } elseif(
$_GET['act'] == "mondial") {
        require 
'header.php';
        echo 
"מונדיאל";

    } elseif(
$_GET['act'] == "pics") {
        require 
'header.php';
        echo 
"תמונות";

    } elseif(
$_GET['act'] == "login") {
        require 
'header.php';
        echo 
"עמוד התחברות";

    } elseif(
$_GET['act'] == "forums") {
        require 
'header.php';
        echo 
"תרום כניסה לפורום";

    } elseif(
$_GET['act'] == "funny") {
        require 
'header.php';
        echo 
"דחקות";

    } elseif(
$_GET['act'] == "register") {
        require 
'header.php';
        echo 
"עמוד הרשמה";
    }
} else {
    require 
'header.php';
    echo 
$glContent;
}
require 
'footer.php';
?>


Builderbox 29-05-06 16:44

תנסה את זה:

PHP קוד:

<META http-equiv="REFRESH\" content=\"0; URL=index.php?act=idx\"> 


-VladK- 29-05-06 16:50

תודה גבר גבר...חחח

eXtaZa 29-05-06 16:53

במקום כל הelseif , אתה יכול להשתמש בswitch ...

-VladK- 29-05-06 16:56

ציטוט:

נכתב במקור על ידי eXtaZa
במקום כל הelseif , אתה יכול להשתמש בswitch ...

מה ההבדל? מה רע בELSEIF?

eXtaZa 29-05-06 17:02

במקום כל הזמן בelseif לעשות:
קוד:

$_GET['act']==...$_GET['act']==...
אז עושים פשוט ככה בswitch :
PHP קוד:

switch($_GET['act']){
    case 
'bla1':
        echo 
"blablablabla";
    case 
'bla2':
        echo 
"bla2bla2bla2";


יותר פשוט לא? |קורץ|

BBman 29-05-06 17:02

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

-VladK- 29-05-06 17:08

ציטוט:

נכתב במקור על ידי eXtaZa
במקום כל הזמן בelseif לעשות:
קוד:

$_GET['act']==...$_GET['act']==...
אז עושים פשוט ככה בswitch :
PHP קוד:

switch($_GET['act']){
    case 
'bla1':
        echo 
"blablablabla";
    case 
'bla2':
        echo 
"bla2bla2bla2";


יותר פשוט לא? |קורץ|

אההההם לא הקובץ לא...וכבר פטרו לי תבעיה (בצורה קצת שונה)...ובקשר להודעה של eXtaZa חחח צודק...טוב אז אני ישתמש בSWITCH ...

eXtaZa 29-05-06 17:18

תשתמש בdefault במקום else וגם הסוף כל case שים break .
הינה מדריך לשימוש בswitch (גם אם לא תבין כל כך טוב , תראה כבר לפי הדוגמאות|winky| )

-VladK- 29-05-06 17:36

ציטוט:

נכתב במקור על ידי eXtaZa
תשתמש בdefault במקום else וגם הסוף כל case שים break .
הינה מדריך לשימוש בswitch (גם אם לא תבין כל כך טוב , תראה כבר לפי הדוגמאות|winky| )

חחחח ידעתי כבר איך השתמש בSWITCH אבל לא ממש הבנתי למה הוא משמש

eXtaZa 29-05-06 17:39

"ובקשר להודעה של eXtaZa חחח צודק..." , נדמה לי שרשמת את זה לא?
זה יותר פשוט להשתמש בזה. רשום לך למה בהודעה שרשמתי לך. (בתגובה ה9)


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

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