PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : این دستور به چه صورته؟



sardarn
December 4th, 2011, 16:09
سلام
در زبان PHP و HTML می خوام در صورتی که یک شرطی برقرار شد کاربر به صفحه a.php هدایت بشه.
کدش به چه صورت می شه؟

ممنون

m3hdi
December 4th, 2011, 17:02
<?php
if (2==2);
header('Location: http://www.example.com/');
?>

sardarn
December 4th, 2011, 17:24
با این انجام دادم نشد
البته چون آدرس هرجه ممکنه یه جایی به شه به این صورت زدم


<?php
if (2==2);
header('Location: a.php');
?>


اشتباهه؟
با این کار به هیچ صفحه ای نمی ره

m3hdi
December 4th, 2011, 18:05
با این انجام دادم نشد
البته چون آدرس هرجه ممکنه یه جایی به شه به این صورت زدم


<?php
if (2==2);
header('Location: a.php');
?>


اشتباهه؟
با این کار به هیچ صفحه ای نمی ره

بله دستور اشتباهه
به این صورت باید استفاده کنید

<?php
if (2==2);
header('Location: /a.php');
?>

sardarn
December 4th, 2011, 18:29
هر دو نوع تست کردم نشد

---------- Post added at 06:29 PM ---------- Previous post was at 06:26 PM ----------

در html به چه صورت می شه؟

Woshka
December 4th, 2011, 18:53
<?php
if (2==2){
header('Location: /a.php');
}
?>

m3hdi
December 4th, 2011, 18:55
دوست عزیز دستورات درست هستند ;)
شما باید از جاوا اسکریپت استفاده کنید

موفق باشید

---------- Post added at 06:55 PM ---------- Previous post was at 06:54 PM ----------



<?php
if (2==2){
header('Location: /a.php');
}
?>

یک خط کامند نیازی به }{ نداره :)

Woshka
December 4th, 2011, 18:58
دوست عزیز دستورات درست هستند ;)
شما باید از جاوا اسکریپت استفاده کنید

موفق باشید

---------- Post added at 06:55 PM ---------- Previous post was at 06:54 PM ----------



یک خط کامند نیازی به }{ نداره :)


<?php
if ($a > $b)
echo "a is bigger than b";
?>

Often you'd want to have more than one statement to be executed conditionally. Of course, there's no need to wrap each statement with an if clause. Instead, you can group several statements into a statement group. For example, this code would display a is bigger than b if $a is bigger than $b, and would then assign the value of $a into $b:
<?php
if ($a > $b) {
echo "a is bigger than b";
$b = $a;
}
?>

ایز این کد


<?php
if (2==2){
header('Location: /a.php');
}
?>



و یا این کد می توانید استفاده کنید

<?php
if (2==2)
header('Location: /a.php');

?>

m3hdi
December 4th, 2011, 19:02
<?php
if ($a > $b)
echo "a is bigger than b";
?>

Often you'd want to have more than one statement to be executed conditionally. Of course, there's no need to wrap each statement with an if clause. Instead, you can group several statements into a statement group. For example, this code would display a is bigger than b if $a is bigger than $b, and would then assign the value of $a into $b:
<?php
if ($a > $b) {
echo "a is bigger than b";
$b = $a;
}
?>

ایز این کد


<?php
if (2==2){
header('Location: /a.php');
}
?>



و یا این کد می توانید استفاده کنید

<?php
if (2==2)
header('Location: /a.php');

?>

با عرض پوزش خودتون یک بار دیگه بخونید
موفق باشید

Woshka
December 4th, 2011, 19:05
m3hdi جان بعد ز پردانتز بسته سمی کلون هستش که باعث خطا میشه
یا سمیکلون رو بردار یا پرانتز بزار با سمیکلون

m3hdi
December 4th, 2011, 19:09
m3hdi جان بعد ز پردانتز بسته سمی کلون هستش که باعث خطا میشه
یا سمیکلون رو بردار یا پرانتز بزار با سمیکلون

بنده با سیمیکالون هم کار می کنم مشکلی نیست
این دستور یعنی برای شما اجرا نمیشه ؟

<?php
if (2==2);
header('Location: http://google.com/');
?>

sardarn
December 4th, 2011, 19:15
بنده با سیمیکالون هم کار می کنم مشکلی نیست
این دستور یعنی برای شما اجرا نمیشه ؟

<?php
if (2==2);
header('Location: http://google.com/');
?>

توی فایلی ساختم و این رو گذاشتم کار کردم اما توی یه صفحه که خودش کد داشت گذاشتم نشد.اصل فایل رو براتون پ.خ کردم چک کنید

Woshka
December 4th, 2011, 19:27
در لینک زیر این کد رو گذاشتم
Google (http://woshka.com/php-samples/redirection.php)


<?php
if (2==2)
header('Location: http://google.com/');
?>

sardarn
December 4th, 2011, 19:37
من خودم هم توی یک فایل جدا گانه گذاشتم شد اما توی یک کدی که داشتم گذاشتم و نشد

---------- Post added at 07:37 PM ---------- Previous post was at 07:32 PM ----------

مشکل به کمک نمایش مشخصات: m3hdi - انجمن تخصصی وب هاستینگ ایران (http://www.webhostingtalk.ir/member/13141) حل شد
ممنون از همگی

Rezash
December 10th, 2011, 03:27
سلام

بنده با سیمیکالون هم کار می کنم مشکلی نیست
این دستور یعنی برای شما اجرا نمیشه ؟

<?php
if (2==2);
header('Location: http://google.com/');
?>
دستور اجرا مي شه اما شرط شما عملا بلا استفاده هست.وقتي در پايان پرانتز ; ميذاريد دستور بعدي جدا از شرط محاسبه ميشه ، يعني شرط تمام شده و دستور بعدي چه شرط درست باشه چه خير اجرا ميشه.


$r = false;
if($r)
die('r is true');
die('r is false');

و

$r = false;
if($r);
die('r is true');
die('r is false');
بعد از اجرا تفاوت به وضوح مشخص هست.
مشكل حل شده اما در مورد header
- توجه كنيد كه قبل از دستورات هدر هيچ خروجي اي نبايد داشته باشيم (مخصوصا charset رو چك كنيد.)
- دستورات هدر بعضا حساس هستند و يك اسپس اشتباه مي تونه مانع عملكرد صحيحشون بشه
ريداركت با جا وا اسكريپت


document.location = 'http://www.google.com';