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

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

Kfir.G 20-04-08 16:53

PHP | בעיות עם זמן טעינה בדפדפנים מסויימים
 
שלום,
יש לי דף בPHP שלוקח לו בערך 10~20 שניות להטען. בFF וOpera הכל עובד מצויין אבל בIE הוא מציג לי משום מה 404...

מה עושים כדי לפתור את העניין? (לא תשובות של לשנות הגדרות בIE כי אני לא יכול להגיד לגולשים לשנות הגדרות...)

תודה מראש,
כפיר

Tomer 20-04-08 16:55

- מנחש את הדף -

- מנחש גם את הקוד -

אתה מתבקש להוסיף את הפרטים האלו במהרה.

Kfir.G 20-04-08 17:06

ציטוט:

נכתב במקור על ידי Tomer (פרסם 625932)
- מנחש את הדף -

- מנחש גם את הקוד -

אתה מתבקש להוסיף את הפרטים האלו במהרה.

קישור לעמוד
הערה - הheader יעביר אתכם לעמוד 404 אם אין לכם את התוכנה veohtv
קוד מקור הרלוונטי
PHP קוד:

<?php
session_start
();
if(isset(
$_SESSION['legal']) && $_SESSION['legal'] == true)
{
    
$link $_SESSION['link'];
    
$preg "***";
    if(
preg_match($preg,$link,$match) == false
        
|| ($page file_get_contents($link)) == false
        
|| strstr($page,"***"))
        echo 
"הכתובת שהוכנסה שגויה!";
    else
    {
        
$src $match[1];
        
$preg "***";
        
preg_match($preg,$page,$match);
        
$version $match[1];
        
$js file_get_contents("***".$version);
        
$preg "***";
        
preg_match($preg,$js,$match);
        
$code $match[1];
        
header("Location: ***");
        echo 
"<script>window.close()</script>";
    }
}
else
    echo 
"חלה שגיאה!";
?>

ה*** החליפו תכנים שאני לא מעוניין לשתף..

הערה:
veohtv עובדת בIE, נבדק, ולכן זאת לא הבעיה

Tomer 20-04-08 17:15

אצלי אני מקבל "חלה שגיאה", שלפי הקוד אומרת שה SESSION לא קיים.

כנראה שה Internet Explorer לא מזהה את ה VEOH, ולכן נכנס לתנאי שמעביר לעמוד 404. תדבג (debug) את הקוד, ותברר למה זה קורה, או מה גורם לתוכנה לא לפעול.

Kfir.G 20-04-08 17:19

ציטוט:

נכתב במקור על ידי Tomer (פרסם 625944)
אצלי אני מקבל "חלה שגיאה", שלפי הקוד אומרת שה SESSION לא קיים.

כנראה שה Internet Explorer לא מזהה את ה VEOH, ולכן נכנס לתנאי שמעביר לעמוד 404. תדבג (debug) את הקוד, ותברר למה זה קורה, או מה גורם לתוכנה לא לפעול.

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

יש דרך לגרום לIE שהעמוד כן עובד ולא להציג 404? אולי לשלוח לו header כלשהו או משהו בסגנון..

Kfir.G 20-04-08 21:36

הערה
ההקפצה אושרה על ידי תומר

בדקתי ומצאתי פתרון לבעיה שלי עם JavaScript. מה שעשיתי היה להדפיס את השורה
קוד:

<script type="text/javascript">
לפני התחלת הרצת קוד הPHP כך שIE ידע שבאמת יש תוכן בעמוד והמשיך לטעון אותו עד לסיום פעולת הקוד ואז הוספתי
קוד:

window.location="***";</script>
אני בכל זאת מעוניין בפתרון בעזרת header. יש דרך לשלוח מידע כלשהו לדפדפן (לא טקסט כדי שאוכל לשלוח header) כדי שהוא ידע שהעמוד באמת נטען ולא שהוא לא קיים?

תודה מראש,
כפיר

Daniel 20-04-08 22:33

אולי,
header("Content-Type: ".$x);

Kfir.G 20-04-08 23:46

ציטוט:

נכתב במקור על ידי MasterT (פרסם 626067)
אולי,
header("Content-Type: ".$x);

ניסיתי עם charset וכקובץ php לא עובד... :(
עוד רעיונות מישהו?

BlueNosE 21-04-08 01:56

נסה - ob_flush();

Kfir.G 21-04-08 09:34

חיפשתי בגוגל לגבי ob_flush() ומצאתי את התגובה הבאה באתר של PHP

ציטוט:

This will work for IE 7.0 :)

Do not use within <PRE> tag because of the extra spaces send

function hardFlush() {
// Like said in PHP description above, some version of IE (7.0 for example)
// will not 'update' the page if less then 256 bytes are received
// Send 250 characters extra
echo ' ';
echo ' ';
echo ' ';
echo ' ';
echo ' ';
flush();
ob_flush();
}
(יש שם הרבה יותר רווחים שהפורום מסיבה כלשהי חתך)
מה שלא הבנתי בדיוק היה איפה אני מכניס לפה את שליחת הheader שלי... כי אחרי ob_flush אני לא יכול :(

תודה מראש,
כפיר


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

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