درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
با سلام
دوستان گرامی یک کد Php نیاز دارم به طور مثال چندین متغییر میخواهیم تعریف کنیم که آدرس فایلی در آن تعریف شده باشد
به طور مثال :
کد PHP:
<?php
$site1 = "http://www.site1.com";
$site2 = "http://www.site2.com";
$site3 = "http://www.site3.com";
$site4 = "http://www.site4.com";
?>
خوب الان میخواهیم در صورتیکه در مروگر تایپ کنیم
http://www.site.com/?site1
در صفحه پی اچ پی که داریم در جایی که تعریف کرده ایم متغییری که در مرورگر ارسال کردیم جایگزین شود.
کد HTML:
<script type='text/javascript'>
file: "<?php ?>",
</script>
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
سلام،
اگه منظورتون اینه که می خواین از یو آر ال (متود get) اطلاعات رو بگیرید، آدرس رو باید به این شکل بنویسید:
http://localhost/index.php?site=site1
و فایل index.php
کد PHP:
<?php
$site1 = "http://www.site1.com";
$site2 = "http://www.site2.com";
$site3 = "http://www.site3.com";
$site4 = "http://www.site4.com";
if(isset($_GET['site'])){
$site = $_GET['site'];
switch($site){
case 'site1' :
$requested_site = $site1;
break;
case 'site2' :
$requested_site = $site2;
break;
case 'site3' :
$requested_site = $site3;
break;
case 'site4' :
$requested_site = $site4;
break;
default:
$requested_site = 'uknown';
break;
}
echo $requested_site;
}
اگر تعداد متغیرهاتون زیاده، می تونید از حلقه ها استفاده کنید.
یک روش دیگه هم استفاده از متغیر متغیر (دو تا علامت دلار) هست:
کد PHP:
<?php
$site1 = "http://www.site1.com";
$site2 = "http://www.site2.com";
$site3 = "http://www.site3.com";
$site4 = "http://www.site4.com";
if(isset($_GET['site'])){
$site = $_GET['site'];
echo $$site;
}
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
با سلام
دوست عزیز ممنون بابت پاسختون
متغییر ها حدود 50 ادرس فایل هست
در ضمن من میخواهم صفحه که درست میکنم به صورت زیر آدرس را بهش ارسال کنم
به طور مثال صفحه آدرس باشه http://localhost/index.php الان وقتی میخواهم متغییر مورد نظر را به فایل پی اج پی بفرستیم به صورت ?site1 باشه یعنی علامت سوال اسم متغییر مورد نظر که الان مثلا site2 , site1 و..
یعنی به صورت زیر :
کد HTML:
http://localhost/index.php?site1
http://localhost/index.php?site2
یک کد بود که از آدرس دریافت میکنه
کد PHP:
$_SERVER['QUERY_STRING'];
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
کد PHP:
<?php
$squrl = null;
$urls = [
'site1' => 'file1',
'site2' => 'file2',
'site3' => 'file3',
];
if(isset($_GET))
foreach ($_GET as $k=>$v) {
if (array_key_exists($k,$urls)) {
$squrl = @$urls[$k];
break;
}
} else echo 'n';
if($squrl) echo '<script type="text/javascript">
file: "'.$squrl.'",
</script>';
?>
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
با سلام
دوست گرامی به خط 3 که کد
$urls = [
در آن قرار دارد خطا می دهد!
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
نقل قول:
نوشته اصلی توسط
gigarayaneh
با سلام
دوست گرامی به خط 3 که کد
$urls = [
در آن قرار دارد خطا می دهد!
php 7 جواب میدهد.
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
نقل قول:
نوشته اصلی توسط
gigarayaneh
با سلام
دوست گرامی به خط 3 که کد
$urls = [
در آن قرار دارد خطا می دهد!
به جای
کد PHP:
$urls = [
'site1' => 'file1',
'site2' => 'file2',
'site3' => 'file3',
];
از
کد PHP:
$urls = array( 'site1' => 'file1', 'site2' => 'file2', 'site3' => 'file3', );
استفاده کنین
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
دوستان عزیز کد به صورت زیر درست شد!
کد PHP:
<script type="text/javascript">
<?php
$squrl = null;
$urls = array(
'site1' => 'file1',
'site2' => 'file2',
'site3' => 'file3',
);
if(isset($_GET))
foreach ($_GET as $k=>$v) {
if (array_key_exists($k,$urls)) {
$squrl = @$urls[$k];
break;
}
} else echo 'n';
if($squrl) echo '
file: "'.$squrl.'",
';
?>
</script>
با کمال تشکر از دوستان عزیز
الان یه سوال در صورتیکه ما به صورت زیر آدرس را وارد کنیم
کد HTML:
http://localhost/index.php?site1
به صورت صحیح موارد که در متغییر ها قرار داده ایم قرار داده میشود
الان یک سوال اگه آدرس را به صورت
کد HTML:
http://localhost/index.php
وارد کنیم یعنی بدون ?site1 میخواهیم یه آدرس را به صورت دیفالت نشان دهد. یعنی در صورتیکه بدون پارمتر باشد و یا اینکه پارامتر ها اشتباه باشه یه آدرس را به صورت دیفالت جایگزین شده باشد
با کمال تشکر
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
کد PHP:
<script type="text/javascript">
<?php
$squrl = null;
$urls = array(
'site1' => 'file1',
'site2' => 'file2',
'site3' => 'file3',
);
if(isset($_GET)) :
foreach ($_GET as $k=>$v) {
if (array_key_exists($k,$urls)) {
$squrl = @$urls[$k];
break;
}
} else echo 'n';
if($squrl) echo '
file: "'.$squrl.'",
';
else:
echo 'file: "defaultURL"';
endif;
?>
</script>
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
ممنون دوست عزیز وقتی کد جدید را در نرم افزار Adobe Dreamweaver قرار می دهم لاین 15 و 19 خطا میگیره و وقتی روی هاست آپلود میکنم پیغام خطا برای همین خطوط اعلام میکنه
ممنون میشم کد را تصحیح کنید
با تشکر
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
کد:
<script type="text/javascript">
<?php
$squrl = null;
$urls = array(
'site1' => 'file1',
'site2' => 'file2',
'site3' => 'file3',
);
if( ! empty($_GET))
{
foreach ($_GET as $k=>$v)
{
if (array_key_exists($k,$urls))
{
$squrl = @$urls[$k];
break;
}
}
if($squrl) echo 'file: "'.$squrl.'",';
}
else
{
echo 'file: "defaultURL"';
}
?>
</script>
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
خوابم میاد چشمام نمیبینه چی تایپ میکنم، تست کنید :
کد PHP:
<script type="text/javascript">
<?php
$squrl = null;
$urls = array(
'site1' => 'file1',
'site2' => 'file2',
'site3' => 'file3',
);
if(isset($_GET)) {
foreach ($_GET as $k=>$v) {
if (array_key_exists($k,$urls)) {
$squrl = @$urls[$k];
break;
}
}
if($squrl) echo 'file: "'.$squrl.'",';
} else echo 'file: "defaultURL"';
?>
</script>
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
کد قرار داده شده توسط rezaonline.net جواب نداد!
کد قرار داده شده توسط دوست عزیز T.Toosi با کمی تغییر جواب داد.
یعنی الان با کد زیر در صورتیکه اشتباه متغییر ها را ارسال کنیم باز دیفالت را نمایش می دهد و در صورتیکه متغییر صحیح باشد آنرا نمایش می دهد
کد PHP:
<script type="text/javascript">
<?php
$squrl = null;
$urls = array(
'site1' => 'file1',
'site2' => 'file2',
'site3' => 'file3',
);
if(isset($_GET))
foreach ($_GET as $k=>$v) {
if (array_key_exists($k,$urls)) {
$squrl = @$urls[$k];
break;
}
}
if($squrl) echo 'file: "'.$squrl.'",';
else
{
echo 'file: "defaultURL",';
}
?>
</script>
لطفا چک کنید کد بالا از نظر صحیح بودن کد ها مشکلی ندارد
با تشکر
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
با سلام
از دوستانی که لطف کردن و در تاپیک مشکل ما را برطرف کردن کمال تشکر را داریم
کد زیر :
کد PHP:
<script type="text/javascript">
<?php
$squrl = null;
$urls = array(
'site1' => 'file1',
'site2' => 'file2',
'site3' => 'file3',
);
if(isset($_GET))
foreach ($_GET as $k=>$v) {
if (array_key_exists($k,$urls)) {
$squrl = @$urls[$k];
break;
}
}
if($squrl) echo 'file: "'.$squrl.'",';
else
{
echo 'file: "defaultURL",';
}
?>
</script>
مشکل را برطرف کرده ولی یک مشکلی داریم در کد بالا تعریف کرده ایم
متغییر 'site1' برابر است با 'file1' است حال اگه بخواهیم متغییر 'site1' برابر چندین فایل باشد یعنی تعریف کنیم
کد PHP:
'site1' => 'file1',
'site1' => 'file1-2',
'site1' => 'file1-3',
'site1' => 'file1-4',
حال وقتی متعیر 'site1' را فراخوانی میکنم به صورت راندوم یکی از آدرس های file1 یا file1-2 یا file1-3 یا file1-4 را در هر بار فراخوانی به صورت راندوم قرار دهد.
با تشکر
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
کد:
<script type="text/javascript">
<?php
$squrl = null;
$urls = array(
'site1' => array('file1', 'file1-2', 'file1-3'),
'site2' => 'file2',
'site3' => 'file3',
);
if(isset($_GET))
foreach ($_GET as $k=>$v) {
if($k == 'site1') {
$rand = array_rand($v, 1);
$squrl = $v[$rand[0]];
break;
}
if (array_key_exists($k,$urls)) {
$squrl = @$urls[$k];
break;
}
}
if($squrl) echo 'file: "'.$squrl.'",';
else
{
echo 'file: "defaultURL",';
}
?>
</script>
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
T.Toosi عزیز با کمال تشکر از پاسخگویی شما
در کد بالا فکر کنم درصوتیکه site1 چند متغییر داشته باشد به صورت راندم نمایش داده میشود
در کل من میخواهم هر کدام یک از متغییر ها که تعریف میکنم به صورت متغییر باشد و شرایط زیر باشد
در صورتیکه متغییر به صورت زیر باشد
'site2' => 'file2', همان file2 نمایش داده شود ولی اگه چندین مورد بود آنها را به صورت راندوم نمایش داده شود و محدودیتی در تعداد نداشته باشد به طور مثال:
کد PHP:
'site1' => array('file1', 'file1-2'),
'site2' => array('file2'),
'site3' => array('file3', 'file3-2', 'file3-3', 'file3-4'),
'site4' => array('file4', 'file4-2', 'file4-3'),
'site5' => array('file5', 'file5-2', 'file5-3', 'file5-4', 'file5-5'),
به طور کلی متغیر تعرف شده مساوی یک آدرس یا چندین آدرس باشد و محدودیت در این مورد نباشد و در صورت داشتن یک آدرس آنرا نمایش داده و در صورت داشتن چندین آدرس یکی را به صورت راندوم انتخاب نماید
کد PHP:
<?php
$squrl = null;
$urls = array(
'site1' => array('file1', 'file1-2'),
'site2' => array('file2'),
'site3' => array('file3', 'file3-2', 'file3-3', 'file3-4'),
'site4' => array('file4', 'file4-2', 'file4-3'),
'site5' => array('file5', 'file5-2', 'file5-3', 'file5-4', 'file5-5'),
);
if(isset($_GET))
foreach ($_GET as $k=>$v) {
if($k == 'site1') {
$rand = array_rand($v, 1);
$squrl = $v[$rand[0]];
break;
}
if (array_key_exists($k,$urls)) {
$squrl = @$urls[$k];
break;
}
}
if($squrl) echo 'file: "'.$squrl.'",';
else
{
echo 'file: "defaultURL",';
}
?>
لطفا کد بالا را تصحیح کنید تا موارد فوق را بتوانیم انجام دهیم
سپاس
پاسخ : درخواست کد پی اچ پی گرفتن متغییر از آدرس سایت
کد PHP:
$squrl = null;
$urls = array(
'site1' => array('file1', 'file1-2'),
'site2' => array('file2'),
'site3' => array('file3', 'file3-2', 'file3-3', 'file3-4'),
'site4' => array('file4', 'file4-2', 'file4-3'),
'site5' => array('file5', 'file5-2', 'file5-3', 'file5-4', 'file5-5'),
);
if(isset($_GET))
foreach ($_GET as $k=>$v) {
if (array_key_exists($k,$urls)) {
$rand = array_rand($urls[$k], 1);
$squrl = $urls[$k][$rand];
break;
}
}
if($squrl) echo 'file: "'.$squrl.'",';
else
{
echo 'file: "defaultURL",';
}
?>