PDA

View Full Version : لود url خاص در پنجره iframe به وسیله php



mahdi.manian
شنبه 16 شهریور 1392, 16:54 عصر
با سلام.

دوستان من می خواهم یک صفحه ای با php و html درست کنم که وقتی در مرورگر کاربر روی یک لینک کلیک می کند که آدرس آن بر فرض مثال site.com/?page است در پنجره iframe یک آدرس دیگر لود شود مثلا site.com/theme.

در حقیقت من چنین صفحه ای می خواهم:
http://demo.rockettheme.com/?template=corvus

این لینک را هم ببینید:
http://demo.rockettheme.com/?template=stratos


اگر دو لینک بالا را نگاه کنید، متوجه خواهید شد که اینجا ما یک فایل index.php داریم که بعد از علامت سوال یک عبارتی قرار دارد که آن به لینک دیگری وصل است و با رفتن به این لینک، لینک دیگری را در آیفریم لود می کند.

در ساخت این صفحه مشکی ندارم، اما این که چطوری این آدرس ها را بسازم مثلا همین ?template=stratos را نمی دانم چه کار کنم که وقتی کاربر به این آدرس برود، لینک خاصی را در iframe لود کند؟

با تشکر.

MMSHFE
یک شنبه 17 شهریور 1392, 09:24 صبح
بطور کلی هرموقع با ?/ مواجه شدین، بدونید که فایل index.php توی اون پوشه داره کارها رو انجام میده. مثلاً الآن سایت rockettheme.com اومده توی پوشه demo خودش (که مربوط به SubDomain به همین نام هست) یک فایل index.php گذاشته که مقدار template رو با Get میگیره و برحسب اون، قالب مناسب رو پیدا میکنه و نشون میده.

mahdi.manian
پنج شنبه 21 شهریور 1392, 02:06 صبح
میشه کد نمونه بگذارید؟ دقیق متوجه نشدم!

ممنون.

mahdi.manian
جمعه 22 شهریور 1392, 22:41 عصر
دوستان میشه راهنمایی کنید؟

AliRezaPro
جمعه 22 شهریور 1392, 23:53 عصر
جناب شهرکی کاملا بهتون توضیح دادند , یه صفحه ی index ی وجود داره که مقادیر به اون فرستاده میشه , این صفحه مقادیر رو میگیره و طبق اون مقدار بهتون خروجی مناسب میده
مثلا :

<form method="post" action="<?php

echo $_SERVER["PHP_SELF"] . "?template=stratos";

?>">
<input type="submit" value="submit"/>

</form>
و


if (isset($_GET['template']))
{
switch($_GET['template']){
case "value1":
echo "do something";
case "stratos":
echo "do something";
.
.
.
.
}
}

mahdi.manian
یک شنبه 24 شهریور 1392, 21:34 عصر
ممنون.

ببیند من برنامه نویس حرفه ای نیستم! برای همین این کد ها را دقیق نفهمیدم! برنامه نویسی وی بی دات نت بیشتر از پی اچ پی کار کردم ...

میشه بیشتر توضیح بدید؟

من $_SERVER["PHP_SELF"] را متوجه نشدم. این چیکار می کنه؟ همچنین در کد دوم (isset($_GET['template'] این قالب را از کجا میگیره؟ بعد تازه لینک اصلی خود قالب را کجا باید وارد کنیم؟ منظورم این است که لینیکی که قراره قالب از اونجا توی iframe لود بشه کجا قرار میگیره؟

میشه کد کاملی بگذارید که داخلش دو تا قالب قرار داده شده باشه؟ ممنون.

mahdi.manian
یک شنبه 24 شهریور 1392, 21:50 عصر
دوستان در حقیقت دو لینک زیر را ببینید:
http://w3schools.com/ajax/getcustomer.asp?q=ALFKI
http://w3schools.com/ajax/getcustomer.asp?q=NORTS

اگر نگاه کنید این ها در این فایل getcustomer.asp دو جدول قرار داده اند که با لینک ?q= میشه هر کدامش را لود کرد. من دقیقا همین را می خواهم.

من می خواهم چند iframe در این فایل index.php بگذارم که هر کدام را با یک آدرس خاص بتوان لود کرد.

البته این لینک هایی که گذاشتم asp هستند و من با php می خواهم.


با تشکر.

mahdi.manian
سه شنبه 26 شهریور 1392, 12:04 عصر
دوستان میشه راهنمایی کنید؟

افشین66
سه شنبه 26 شهریور 1392, 12:32 عصر
یک همچین چیز می خوای دیگه ؟؟؟؟



<?php
$value1='ALFKI';
$value2='NORTS';
?>

<iframe width="300" height="400" src="http://w3schools.com/ajax/getcustomer.asp?q=<?php echo $value1; ?>"></iframe>

<iframe width="300" height="400" src="http://w3schools.com/ajax/getcustomer.asp?q=<?php echo $value2; ?>"></iframe>




حتی اینجوری هم میتونی به iframe مقدار بدی


<iframe width="300" height="400" src="index.php?v=<?php $value1; ?>&v2=<?php echo $value2; ?>"></iframe>

mahdi.manian
چهارشنبه 27 شهریور 1392, 11:22 صبح
نه نه ببینید من نمی خوام کاربر آدرس را توی مرورگر بتونه ببینه.

مثلا شما همین آدرس را ببینید:
http://w3schools.com/ajax/getcustomer.asp?q=NORTS

این ?q=NORTS میاد یک آدرس خاصی را لود می کنه.

حالا من هم می خوام دقیقا مثل این لینک:
http://demo.rockettheme.com/?template=corvus

که یک آدرس خاصی را در پنجره iframe لود می کنه را لود کنم.

هدف از این کار این است که کاربر آدرس اصلی دمو را نتونه ببینه و فقط با آدرس هایی مانند آدرس های بالا که قبلش علامت سوال هست به لینک دمو دسترسی داشته باشه.


با تشکر منتظرم.

افشین66
چهارشنبه 27 شهریور 1392, 12:39 عصر
الان متوجه شدم !!!! شما می تونی کارهای زیادی انجام بدی . دوتاشو من میگم

استفاده از curl


<?php

$url='http://demo.rockettheme.com/?template=corvus';
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
echo $data;

?>


استفاده ار file_get_content


echo file_get_contents('http://demo.rockettheme.com/?template=corvus');


تو کد php هرکدوم بگذار url مورد نظرت برات لود میکنه !!!! فقط css براش تنظیم کن !!!!

ali abedian
چهارشنبه 27 شهریور 1392, 12:40 عصر
به جای عبارتGET در فرم ، از عبارت POST استفاده کن
اون وقت اون عبارتها هم دیده نمیشن

AliRezaPro
چهارشنبه 27 شهریور 1392, 18:53 عصر
نه نه ببینید من نمی خوام کاربر آدرس را توی مرورگر بتونه ببینه.

مثلا شما همین آدرس را ببینید:
http://w3schools.com/ajax/getcustomer.asp?q=NORTS

این ?q=NORTS میاد یک آدرس خاصی را لود می کنه.

حالا من هم می خوام دقیقا مثل این لینک:
http://demo.rockettheme.com/?template=corvus

که یک آدرس خاصی را در پنجره iframe لود می کنه را لود کنم.

هدف از این کار این است که کاربر آدرس اصلی دمو را نتونه ببینه و فقط با آدرس هایی مانند آدرس های بالا که قبلش علامت سوال هست به لینک دمو دسترسی داشته باشه.


با تشکر منتظرم.

خوب شما این آدرس را از یک صفحه ایی که درست میکنید و میفرستید در صفحه ی مقصد یا $_POST ان را دریافت کنید و در iframe لود کنید , با این همه توضیحات این صفحه بعید میدونم مشکلتون دیگه حل نشده باشه

ali abedian
جمعه 29 شهریور 1392, 17:22 عصر
دوستان منظور این آقا این هست که چون نمیخواد در آدرس اصلی ، همچین چیزی دیده بشه:
http://www.website.com/search.php?q=picture
برای همین این راه به ذهنش رسیده که میتونه با ifram قرار دادن در صفحه و لود کردن صفحه نهایی توی این iframe میتونه اون آدرس رو مخفی کنه..
در صورتی که راه اصلی ش همونطور که گفتم اینه که به جای GET از POST استفاده کنی برای ارسال اطلاعات به صفحه نهایی
اینطوری آدرس به صورت زیر نمایش داده میشه و شما هم به هدف خودت میرسی دوست خوبم:
http://www.website.com/search.php

ali abedian
دوشنبه 01 مهر 1392, 13:22 عصر
سوالی دارم در مورد همین POST
من در حالت عادی اطلاعات رو از یه صفحه به صفحه دیگه ، خارج از فرم می فرستم به این صورت
http://www.website.com/search.php?q=1
چطور میتونم حارج از یک فرم این اطلاعات رو با بدون اینکه مشاهده بشن (در نوار آدرس) ارسال کنم؟

itm7.com
جمعه 08 آذر 1392, 15:59 عصر
سلام

می خواستم https را در iframe لود کنم. مثلاٌ می خوام URL زیر در iframe لود بشود.

<frame src="https://www.google.com" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />


حتی اگه هزینه هم داشت ، پرداخت میشه

itm7.com
یک شنبه 10 آذر 1392, 15:04 عصر
چطور شد ؟ آیا کسی از دوستان انجام میده برای بنده

aran3m
یک شنبه 18 آبان 1393, 11:27 صبح
خیر نمیشههههههههههههههههههههه ه