ABA


"נתקעתי בעניין קטן במשתנים ב PHP ו IFRAME"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #13768 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13768
DiSHi
חבר מתאריך 21.4.02
1699 הודעות
   21:15   09.04.08   
אל הפורום  
  נתקעתי בעניין קטן במשתנים ב PHP ו IFRAME  
 
   עבר עריכה לאחרונה בתאריך 09.04.08 בשעה 21:35 על-ידי akoka (מפקח)
 
**יש בעיה ברוטר אני לא מצליח להציג את הקוד במלואו אז העלתי את הקוד המלא לכאן:
http://rotter.name/User_files/nor/47fd08f527dcdab4.txt

יש לי דף (נקרא לו y.php) ובו יש IFRAME (הקובץ של ה IFRAME, נקרא לו x.php)
בתוך ה IFRAME (בקובץ x.php) יש את הפקודה הבאה:


<?
$num = "0";

if($_GET['scroll'] != ''){
$num = $_GET['scroll'];
}

echo "
<body bgcolor='#000000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0' onload='window.scrollTo(0,$num);' >";
?>

אם עושים x.php?scroll=200
הדף נגלל ל200 והכל טוב ויפה.

עכשיו בדף הראשי (אם שכחתם קוראים לו y.php)
שם נמצא גם ה IFRAME
יש את הפקודה הבאה:


<?
$num = $_GET['scroll'];
?>

אני רוצה לעשות דבר כזה
y.php?scroll=200
ומתי שעושים את זה.. אני רוצה שה IFRAME הוא זה שיתעדכן..

אבל משום מה ה IFRAME לא לוקח את המספר מה: scroll=200

מה הסיבה לכך ומה אפשר לעשות?

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


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  ערכת לך שייראו את הסוגריים המרובעות ולא ממש הבנתי את הבעיה akoka 09.04.08 21:42 1
     תודה.. והבעיה: DiSHi 09.04.08 22:44 4
     ואיך אני יכול לעשות את זה? DiSHi 09.04.08 22:41 3
         ככה: Ice Cold  10.04.08 16:02 5
             תודה אבל יש בעיה קטנה.. DiSHi 11.04.08 12:53 6
                 ניסיתי לערוך את הסקריפט שפותח את הפריים: DiSHi 12.04.08 13:02 7
                     ככה: Ice Cold  12.04.08 14:35 8
                         תודה רבה עובד מצויין.. תתחדש על האייפון.. DiSHi 12.04.08 16:57 9
                             :) אני אזכור את זה :) Ice Cold  13.04.08 01:17 10

       
akoka

   21:42   09.04.08   
אל הפורום  
  1. ערכת לך שייראו את הסוגריים המרובעות ולא ממש הבנתי את הבעיה  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DiSHi
חבר מתאריך 21.4.02
1699 הודעות
   22:44   09.04.08   
אל הפורום  
  4. תודה.. והבעיה:  
בתגובה להודעה מספר 1
 
   יש לי 2 דפים
דף ראשי
ובתוכו איפריים

אני רוצה שבכניסה לדף הראשי עם הפקודה
?scroll=500
האיפריים יקפוץ לנקודה 500

הבעיה שאני רושם את זה ככה הוא מפנה את ה SCROLL=500 לעמוד הראשי ולא לאיפריים. איך אני מכוון אותו שיפנה לאיפריים.?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DiSHi
חבר מתאריך 21.4.02
1699 הודעות
   22:41   09.04.08   
אל הפורום  
  3. ואיך אני יכול לעשות את זה?  
בתגובה להודעה מספר 2
 
   מתי שהפריים נפתח הוא נפתח כ
x.php

עכשיו איך אני יכול להעביר לו SCROLL בכתובת?
להוסיף לו scroll=$num ב SRC של ה IFRAME?

זה אמור לעבוד לא?

אבל עכשיו אם אני עושה את זה.. פה מתחיל הקטע הקשה..

באיפריים שלי יש 3 כפתורים.. מה שאומר שיש 3 דפים..
זה x.php ועוד 2 נוספים.. נקרא להם a.php ו b.php..
יש לי בעמוד הראשי (y.php) סקריפט שפותח איפריים
לדוגמא:
y.php?d=x.php
ואז ככה זה פותח את האיפריים שאני רוצה..
אבל איך אני אומר לו מה לעשות עם ה SCROLL

חשבתי על איזה תנאי בדף הראשי (y.php)

--

שאם הוא מקבל מספר דרך $num
אז להעביר את $num ל IFRAME..

--

או משהו בסגנון..
זה אפשרי?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   16:02   10.04.08   
אל הפורום  
  5. ככה:  
בתגובה להודעה מספר 3
 

<IFRAME src="y.php?d=x.php&scroll=$num"></IFRAME>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DiSHi
חבר מתאריך 21.4.02
1699 הודעות
   12:53   11.04.08   
אל הפורום  
  6. תודה אבל יש בעיה קטנה..  
בתגובה להודעה מספר 5
 
   ערכתי לאחרונה בתאריך 11.04.08 בשעה 13:03 בברכה, DiSHi
 
עשיתי ככה בשורת כתובת

http://.../y.php?d=x.php&scroll=1000

וב SRC רשמתי כמו שאמרת.. (חוץ משינוי קטן.. הוצאתי את ה

y.php?d=

כי עם זה זה בכלל לא עבד.. ועכשיו זה ככה:

<IFRAME src="x.php?scroll=$num"></IFRAME>

וזה פותח לי את הדף.. פותח את הפריים קופץ לנקודה 1000 (עד לפה הכל טוב..) ואז מרפרש את הפריים שקופץ שוב לנקודה 0.
יש דרך להגיד לו שלא יתרענן?


--עריכה

בערך הבנתי מה הבעיה אבל את הפתרון אני לא יודע..

הוא פותח את הדף y.php
שבתוכו יש את הפריים
אז כרגיל הוא מרענן את הפריים.. ובגלל שהוא מבקש את ה $num אז הוא מקבל אותו וקופץ לנקודה הרצויה
ואז הוא מקבל את הפקודה

?d=x.php

שאומרת לו לפתוח שוב את הדף X PHP
אז הוא שוב פותח אותו רק שהפעם הוא לא לוקח איתו את ה $num..

אולי צריך להוסיף/לערוך משהו בסקריפט שפותח את הפריים ( ?d= )

זה הקוד:


<script type="text/javascript">
function loadframe(){
if(window.location.replace)
window.frames.I1.location.replace(get('d'));
else
window.frames.I1.location.href=get('d');
}
function get(key_str) {
var query = window.location.search.substr(1);
var pairs = query.split("&");
for(var i = 0; i < pairs.length; i++) {
var pair = pairs.split("=");
if(unescape(pair) == key_str)
return unescape(pair);
}
return null;
}
if (location.search&&get('d')!=null)
if ( typeof window.addEventListener != "undefined" )
window.addEventListener( "load", loadframe, false );
else if ( typeof window.attachEvent != "undefined" )
window.attachEvent( "onload", loadframe );
else {
if ( window.onload != null ) {
var oldOnload = window.onload;
window.onload = function ( e ) {
oldOnload( e );
loadframe();
};
}
else
window.onload = loadframe;
}
</script>


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DiSHi
חבר מתאריך 21.4.02
1699 הודעות
   13:02   12.04.08   
אל הפורום  
  7. ניסיתי לערוך את הסקריפט שפותח את הפריים:  
בתגובה להודעה מספר 6
 
   הסקריפט הבא:


<script type="text/javascript">
function loadframe(){
if(window.location.replace)
window.frames.I1.location.replace(get('d'));
else
window.frames.I1.location.href=get('d');
}
function get(key_str) {
var query = window.location.search.substr(1);
var pairs = query.split("&");
for(var i = 0; i < pairs.length; i++) {
var pair = pairs.split("=");
if(unescape(pair) == key_str)
return unescape(pair);
}
return null;
}
if (location.search&&get('d')!=null)
if ( typeof window.addEventListener != "undefined" )
window.addEventListener( "load", loadframe, false );
else if ( typeof window.attachEvent != "undefined" )
window.attachEvent( "onload", loadframe );
else {
if ( window.onload != null ) {
var oldOnload = window.onload;
window.onload = function ( e ) {
oldOnload( e );
loadframe();
};
}
else
window.onload = loadframe;
}
</script>

ועשיתי אותו ככה:


<script type="text/javascript">
function loadframe(){
if(window.location.replace)
window.frames.I1.location.replace?scroll=<? echo $num; ?>(get('d'));
else
window.frames.I1.location.href=get('d');
}
function get(key_str) {
var query = window.location.search.substr(1);
var pairs = query.split("&");
for(var i = 0; i < pairs.length; i++) {
var pair = pairs.split("=");
if(unescape(pair) == key_str)
return unescape(pair);
}
return null;
}
if (location.search&&get('d')!=null)
if ( typeof window.addEventListener != "undefined" )
window.addEventListener( "load", loadframe, false );
else if ( typeof window.attachEvent != "undefined" )
window.attachEvent( "onload", loadframe );
else {
if ( window.onload != null ) {
var oldOnload = window.onload;
window.onload = function ( e ) {
oldOnload( e );
loadframe();
};
}
else
window.onload = loadframe;
}
</script>

ועכשיו זה עובד.. קופץ לנקודה שאני רוצה אבל..
זה רושם שגיאה למטה..
Line: 14 Char: 55
Error: Expected ':'
URL: y.php

שורה 14 זה השורה שערכתי:


window.frames.I1.location.replace?scroll=<? echo $num; ?>(get('d'));

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   14:35   12.04.08   
אל הפורום  
  8. ככה:  
בתגובה להודעה מספר 7
 
ערכתי לאחרונה בתאריך 12.04.08 בשעה 14:36 בברכה, Ice Cold
 

window.frames.I1.location.replace("<?=$_GET["d"]?>?scroll=<?=$num?>");


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
DiSHi
חבר מתאריך 21.4.02
1699 הודעות
   16:57   12.04.08   
אל הפורום  
  9. תודה רבה עובד מצויין.. תתחדש על האייפון..  
בתגובה להודעה מספר 8
 
   עזרת לי הרבה פעמים..
עכשיו ההזדמנות שלי לעזור לך..
אם תצטרך עזרה באייפון דבר איתי..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   01:17   13.04.08   
אל הפורום  
  10. :) אני אזכור את זה :)  
בתגובה להודעה מספר 9
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net