الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تمرير المتغيرلت في Url بين الاطرات Frames باستخدام Php

بدأه ayadsat في 16 مايو 2009 · 13 رد · 1,224 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخوتي الاعزاء السلام عليكم ورحمة الله وبركاتة

قمت ببرمجة صفحة تحتوي على ثلاث اطارات كما مبين بالصورة المرفقة.

اطار رقم 1 يحتوي على شجرة ال dtree المعروفة عند ضغط على احد صفحات هذه الشجرة فان محتويات هذه الصفحة تظهر في اطار رقم 2 وتظهر أيضا مجموعة من ال options في الاطار رقم 3 . السؤال هو كيف يمكن تمرير متغير معين مرتبط مع link خاص باأحدى هذه صفحات الشجره الى الاطار رقم 3 الاجراء عملية ما ؟

في الصورة المرفقه هناك رابط باللون الاحمر احتاج ان امرر قيمة s_id الى الاطار رقم 3 .

gwW87268.jpg

وشكرا لكم لتعاونكم معنا

#2

ارجوكم اخوتي الرد على هذه الموضوع جدا مهم بالنسبة لي علما اني استخدمت ال session ولكن لن تنفع وذلك عند الضغط على رابط معين يتجاهل اي كود بعد تنفيذ هذا الرابط

#3

انصحك باستخدام الحقول المخفية hidden values داخل الفريم الثابت وخزن فيها ما تريد

ثم

parent.frames.rightframe.document.getElementById('hidden1').value=str1;
#4

شكرا اخي العزيز على الرد

ولكن اين يتم وضع الكود ؟ وهل تنفع الحقول المخفيه في تمرير قيمة مرتبطه برابط معين علما ان هذا الرابط موجود داخل تعريف الداله بلون الاحمر :

echo "d.add({$row[0]},{$row[2]},'{$row[1]}','$directory{$page}?action=directory&s_id={$row[0]}','null','right') ";

هذا الكود اعلاه الخاص بعرض شجره كاملة والرابط

$directory{$url}?action=directory&s_id={$row[0]}

الخاص بعرض الصفحات هذه الشجره.

على سبيل المثال

http://localhost/final_code/Introduction.h...tory&s_id=4

والقيمه التي تحتاج ان امررها هي قيمة s_id الى الاطار رقم 3

هنا الكود الخاص ببناء الشجرة tree.php

 $query = "SELECT  id, name, parant_code, page FROM tree ORDER BY parant_code DESC";
$result = mysql_query($query);
echo '<script type="text/javascript" src="dtree.js"></script>';
echo "<TABLE width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td>".
	'<div class="dtree">
	 <p><a href="java script: d.openAll();">open all</a> | <a href="java script: d.closeAll();">close all</a></p>';
echo "<script type=\"text/javascript\"><!--
			   d = new dTree('d');
	   d.add(0,-1,'Example of Photoshop');";
   $i=0;
   while ($row = mysql_fetch_row ($result)) {
		  $directory="http://localhost/final_code/";
		  $page=row[3];
		 echo "d.add({$row[0]},{$row[2]},'{$row[1]}','$directory{$url}?action=directory&s_id={$row[0]}','null','content'); ";
		  }
echo "document.write(d);
	 //--></script></div></td></tr></table>";

هنا السكربت الخاص index.php

<?
echo '<frameset cols="30%, 70%">';
echo '<frame name="tree" src="tree.php" marginwidth="10" marginheight="10" scrolling="auto" frameborder="1">';
echo '<frameset rows="80%,*">';
echo '<frame name="right" src=""  marginwidth="10" marginheight="10" scrolling="auto" frameborder="0">';
echo '<frame name="bottom" SRC="feedback.php">';
echo '</frameset>';
echo '</frameset>';
?>

واخيرا الاطار رقم 3

echo "
<form action=\"option.php?page=".($s_id)."\" method=\"post\" ><ul>";
echo "<input type=\"hidden\" name=\"child\" value=\"$row1[0]\" />";
echo '<big>Learning Attempt</big><br>';
echo '<input type="radio" name="attempt" value="2" checked> Low';
echo '<input type="radio" name="attempt" value="1"> Moderate';
echo '<input type="radio" name="attempt" value="0"> High';
echo '<br>';
echo '<br>';
echo '<big>Learning Time</big><br>';
echo '<input type="radio" name="time" value="2" checked> Short';
echo '<input type="radio" name="time" value="1"> Medium';
echo '<input type="radio" name="time" value="0"> Long';
echo '<br>';
echo '<br>';
echo '<big>Learning Score</big><br>';
echo '<input type="radio" name="score" value="0" checked> Low';
echo '<input type="radio" name="score" value="1"> Average';
echo '<input type="radio" name="score" value="2"> High';
echo '<br>';
echo '<input name="submit" type="submit" value="Do it">';
echo '</form>';
?>

واتمنا اخي العزيز ان تساعدني في هذا الموضوع حقيقة تعبت كثيرا ولم اجد الحل المناسب

شكرا جزيلا

#6

حاسس الموضوع أسهل من هيك بكثير !!

إنت بدك تمرر رابط لإطار معين صح ؟

إذا كان الأمر على هذا الأساس فهو سهل جدا

قم بإعطاء إسم لكل إطار لنفرض انك تريد أن تمرر رابط إلى الإطار الثالث وإسمه e3 من خﻻل أي إطار آخر تكتب بالرابط

<a href='a.php?a=1&b=2' target='e3'>click here</a>

أما إذا الأمر بخصوص تمرير متغيرات الجلسه فهذا أمر آخر

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#7

شكرا اخي على مرورك

كلا اخي انا احتاج ان امرر قيمة مرتبطه برابط معين على سبيل المثال حسب الرابط الذي اضفته انت:

وهو كيف يتم تمرير قيمة b وهي 2 الى اطار e3 علما ان قيمة b تاخذ اكثر من قيمة اي كلما ضغطنا على هذا الرابط تتغير قيمة b وتذهب الى اطار e3

حاولت في متغيرات الجلسات ولكن لم تفلح لان قيمة b تتغير مع الضغط على الرابط بحيث يقوم متغير الجلسات بخزن قيم b قبل الضغط على هذا الرابط.

وارجو منكم مساعدتي وجزاكم الله خيرا

bastr3 كتب:
حاسس الموضوع أسهل من هيك بكثير !!

إنت بدك تمرر رابط لإطار معين صح ؟

إذا كان الأمر على هذا الأساس فهو سهل جدا

قم بإعطاء إسم لكل إطار لنفرض انك تريد أن تمرر رابط إلى الإطار الثالث وإسمه e3 من خﻻل أي إطار آخر تكتب بالرابط

<a href='a.php?a=1&b=2' target='e3'>click here</a>

أما إذا الأمر بخصوص تمرير متغيرات الجلسه فهذا أمر آخر

#8

للأسف لم أفهم مطلبك ... أرجو التوضيح أكثر وشكرا

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#9

سوف اوضح لك اخي العزيز

يوجد لدي اطارين احدهم اسمه tree يحتوي على شجرة من الصفحات والاخر اسمه feedback على سبيل المثال:

اذا اردت ان تضغط على احد روابط الشجره في اطار tree كما موضح ادناه

http:\\localhost\final_code\lesson1.htm?action=directory$s_id=4

احتاج ارسال قيمة ال s_id الى الاطار feedback لغرض طباعة هذه القيمه داخل الاطار feedback مثلا

علما ان كل صفحه لها رابط مختلف عن الاخر وبقيمه s_id مختلفة

شكرا لك اخي العزيز

bastr3 كتب:
للأسف لم أفهم مطلبك ... أرجو التوضيح أكثر وشكرا
#10

برضو مش واضحة الفكرة ....

هل تريد إرسال متغير إلى أكثر من نافذه عند ضغط أي لينك ؟

يعني لما تضغط على الرابط بالشجره رح يفتح الرابط بنفس الفريم وبنفس الوقت رح يرسل متغير لفريم فيدباك ؟؟؟؟؟

إذا كان الجواب نعم فهذا يعتمد على الجافاسكريبت تحتاج لعمل داله تقوم بفتح الروابط بناء على المتغيرات المرسله

سأوضح بمثال بعد التأكد من المطلب

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#11

نعم اخي الكريم احتاج ارسال المتغير الى نافذة واحده وهي نافذة الفيدباك اعتقد انك وضحت الفكرة

نعم عندما اضغط على الرابط بالشجره رح يفتح الرابط في فريم اسمه tree وبنفس الوقت رح يرسل متغير لفريم فيدباك

ممكن توضح لي او تضع الي الطريقة باستخدام الجافا سكربت انا لست خبير بهذه اللغة

حقيقا انا اشكر جهودك معي بارك الله فيك اخي العزيز

bastr3 كتب:
برضو مش واضحة الفكرة ....

هل تريد إرسال متغير إلى أكثر من نافذه عند ضغط أي لينك ؟

يعني لما تضغط على الرابط بالشجره رح يفتح الرابط بنفس الفريم وبنفس الوقت رح يرسل متغير لفريم فيدباك ؟؟؟؟؟

إذا كان الجواب نعم فهذا يعتمد على الجافاسكريبت تحتاج لعمل داله تقوم بفتح الروابط بناء على المتغيرات المرسله

سأوضح بمثال بعد التأكد من المطلب

#12

الصفحة الرئيسيه :

<html>
<head>
<title>"Three-frame" example</title>

<frameset cols="*,150">

    <frameset rows="104,*">

        <frame name="top" src="top.html" noresize scrolling=no
                         marginheight=5 marginwidth=5>
        <frame name="main" src="welcome.html" noresize scrolling=auto
                         marginheight=5 marginwidth=5>

    </frameset>

    <frame name="right" src="right.html">

</frameset>

</html>

صفحة التري أو اليمين أو الشجرة

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Hello!</title>
</head>

<body>

<a href='java script:' onclick='open_target("http://www.yahoo.com","http://www.google.com","http://www.arabteam2000.com");'>link 1</a> <br />
<script>
 function open_target(top,right,main){
   if(top){ window.open((top), 'top'); }
   if(right){ window.open((right), 'right'); }
   if(main){ window.open((main), 'main'); }
 }
</script>
</body>

</html>

تم تجربة المثال وهو يعمل بإذن الله

المثال مرفق frames.zip

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#13

شكرا اخي العزيز bastr3 على المجهود الاكثر من رائع ولكن اخي اين الكود الخاص بارسال المتغير الى الفريم الفيدباك

بارك الله فيك اخي

#14
اقتباس
شكرا اخي العزيز bastr3 على المجهود الاكثر من رائع ولكن اخي اين الكود الخاص بارسال المتغير الى الفريم الفيدباك

بارك الله فيك اخي

عند الضغط على الرابط يقوم بإرسال متغيرات لأي فريم تريد وأنا في المثال أرسل رابط مختلف لكل فريم فتفتح صفحة جووجل في الفريم أﻷول وصفحة ياهوو في الفريم الثاني والمنتدى في الفريم الثالث .... هذه متغيرات تم إرسالها !!

ماذا تريد بالضبط ؟

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…