PDA

View Full Version : سوال: انتقال به صفحات دیگر



rezaee2
جمعه 21 مهر 1391, 07:42 صبح
سلام

من میخوام بعد از فشردن یه دکمه که باعث اجرای یکسری دستورات میشه (ارسال فرم تماس با ما به ایمیل) وقتی دستورات ارسال ایمیل انجام شده بره به یه صفحه دیگه و پیام تشکر نشون بده

از دستور زیر توی ارسال ایمیلم استفاده کردم کار نمیکنه...

از دستور ریدارکت هم خواستم استفاده کنم چون برای جای دیگه ای نیاز دارم بازم کار نمیکرد


<?php
// multiple recipients
$recipient = 'xxx@xxxxxxxx.com';

// subject
$subject = 'سابجکت';
$message = $_POST['name'] . ' ' . $_POST['name'];


$headers = "From: Mysite<noreply@example.com>\r\n";


return mail($recipient, $subject, $message, $headers);


header ("Location: page.html");
exit;


?>


مشکل چیه؟؟

درضمن ایمیل ارسال میشه اما یه صفحه سفید توی همون آدرس دستورات ایمیل میمونه...

soroush.r70
جمعه 21 مهر 1391, 09:07 صبح
اینا رو تست کن.


echo'
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script> alert(" پیغام شما با موفقيت ارسال شد.");</script>
<meta http-equiv="refresh" content="1;url=contact.php" />
';
die();


یا


echo '<script type="text/javascript">window.location = "thanks.php";</script>';
exit;

mamali-mohammad
جمعه 21 مهر 1391, 12:35 عصر
شما روی local تست میکنی پس جواب نمیده
روی هاست تست کن کار میکنه

djsaeedkhan
جمعه 21 مهر 1391, 13:41 عصر
سلام
اگر میخاید تست کنید. من ازین استفاده می کنم. البته مثل روش دوستمون هست ولی آدرس کامل جایی که باید بره رو گذاشتم.

<script language="javascript" type='text/javascript'>window.location.href="<?php echo $_SERVER['REQUEST_URI']."&ted=".$count_insert;?>";</script>

rezaee2
جمعه 21 مهر 1391, 13:49 عصر
شما روی local تست میکنی پس جواب نمیده
روی هاست تست کن کار میکنه
دوست عزیز شما یکم دقت بفرمایید میبینید که گفتم ایمیل ارسال میشه..

این خودش گواه بر اینه که وبسرویس فعاله و معمولا کمتر کسی رو لوکال وبسرویس داره

من روی هاست دارم تست میکنم...

تشکر از نتیجه گیری داهیانه (داحیانه؟؟!)

rezaee2
جمعه 21 مهر 1391, 14:02 عصر
دوستان هیچ کدوم ج نداد...

تو پی اچ پی یه صفحه عوض کردن اینقد داستان داره؟؟؟؟


من الان کد رو توی تگهای پی اچ پی میزنم.. از اچ تی ام ال استفاده نکردم... یعنی توی اون صفحه که پست رو میگیره اصلا تگ اچ تی ام ال نیست
فقط پی اچ پی
ربطی داره؟؟؟

djsaeedkhan
جمعه 21 مهر 1391, 14:10 عصر
سلام
شما کل کد های صفحه رو بذارید که بشه تصحیح کرد و نظر داد

mamali-mohammad
جمعه 21 مهر 1391, 14:31 عصر
داداش یه موردی رو حتما توجه کن
کد های php و مخصوصا دستور header حتما باید خارج از تگ <html> و بالای اون قرار بگیره
این نکته رو رعایت کردی ؟

rezaee2
جمعه 21 مهر 1391, 15:57 عصر
کدهای صفحه اصلی اینه:
توی فرم این تکس باکسها و باتن هستن ک



<body>

<form action="mail.php" method="post" name="form1" id="form1">
<input type="text" name="name" id="name">
<input type="text" name="text" id="text">
<input name="Submit" type="submit" class="btn" id="reset" value=" ">
</</form

</body>


این خلاصه شده کد هست
یعنی جدولها و ... رو از صفحه حذف کردم


اما این کل محتوای mail.php:


<?php
// multiple recipients
$recipient = 'myemail@test.com';

// subject
$subject = 'uعنوان';
$message = $_POST['name'] . ' ' . $_POST['password'];


$headers = "From: namfam<noreply@example.com>\r\n";


return mail($recipient, $subject, $message, $headers);


?>

saeed_htb
جمعه 21 مهر 1391, 17:36 عصر
دوست عزیز از این تابع استفاده کنید ببینید جواب می گیرید؟ هرچند که مشابه دستورات دوستان عزیز هست


<?php
function redirectPage($url) {
if (!headers_sent ()) {
header("Location: $url", true, 301);
} else {
echo "<meta http-equiv='refresh' content='0;URL=$url' />";
}
exit();
}
?>

rezaee2
جمعه 21 مهر 1391, 20:21 عصر
منظورتون توی صفحه میل.پی اچ پی هست دیگه؟

saeed_htb
جمعه 21 مهر 1391, 21:00 عصر
منظورتون توی صفحه میل.پی اچ پی هست دیگه؟

آره دوست عزیز صفحه میل.پی اچ پی شما به این صورت تغییر می کند.


<?php
function redirectPage($url) {
if (!headers_sent ()) {
header("Location: $url", true, 301);
} else {
echo "<meta http-equiv='refresh' content='0;URL=$url' />";
}

}
// multiple recipients
$recipient = 'xxx@xxxxxxxx.com';

// subject
$subject = 'سابجکت';
$message = $_POST['name'] . ' ' . $_POST['name'];


$headers = "From: Mysite<noreply@example.com>\r\n";


return mail($recipient, $subject, $message, $headers);




redirectPage("page.html) ;
?>

rezaee2
جمعه 21 مهر 1391, 22:30 عصر
آره دوست عزیز صفحه میل.پی اچ پی شما به این صورت تغییر می کند.


<?php
function redirectPage($url) {
if (!headers_sent ()) {
header("Location: $url", true, 301);
} else {
echo "<meta http-equiv='refresh' content='0;URL=$url' />";
}

}
// multiple recipients
$recipient = 'xxx@xxxxxxxx.com';

// subject
$subject = 'سابجکت';
$message = $_POST['name'] . ' ' . $_POST['name'];


$headers = "From: Mysite<noreply@example.com>\r\n";


return mail($recipient, $subject, $message, $headers);




redirectPage("page.html) ;
?>




این ارورر رو میده
Parse error: syntax error, unexpected $end in /home/navidweb/public_html/mydomain.com/myfolder/mail.php on line 29

saeed_htb
جمعه 21 مهر 1391, 22:47 عصر
دوست عزیز اون اینترهای آخر صفحه رو بردار اصلا چون قرار نیست توی این صفحه اچ تی ام ال داشته باشیم اینجوری بنویس
چون توی صفحه کد اچ تی ام ال نداریم می تونیم که تگ پی اچ پی رو نبندیم تا این مشکلات پیش نیاد



<?php
function redirectPage($url) {
if (!headers_sent ()) {
header("Location: $url", true, 301);
} else {
echo "<meta http-equiv='refresh' content='0;URL=$url' />";
}

}
// multiple recipients
$recipient = 'xxx@xxxxxxxx.com';
// subject
$subject = 'سابجکت';
$message = $_POST['name'] . ' ' . $_POST['name'];
$headers = "From: Mysite<noreply@example.com>\r\n";
return mail($recipient, $subject, $message, $headers);
redirectPage("page.html") ;

rezaee2
دوشنبه 24 مهر 1391, 15:12 عصر
دوست عزیز اون اینترهای آخر صفحه رو بردار اصلا چون قرار نیست توی این صفحه اچ تی ام ال داشته باشیم اینجوری بنویس
چون توی صفحه کد اچ تی ام ال نداریم می تونیم که تگ پی اچ پی رو نبندیم تا این مشکلات پیش نیاد



<?php
function redirectPage($url) {
if (!headers_sent ()) {
header("Location: $url", true, 301);
} else {
echo "<meta http-equiv='refresh' content='0;URL=$url' />";
}

}
// multiple recipients
$recipient = 'xxx@xxxxxxxx.com';
// subject
$subject = 'سابجکت';
$message = $_POST['name'] . ' ' . $_POST['name'];
$headers = "From: Mysite<noreply@example.com>\r\n";
return mail($recipient, $subject, $message, $headers);
redirectPage("page.html") ;




دوست عزیز متاسفانه اینم کار نکرد...

آیا باید توی صفحه ای که تابع پست رو استفاده میکنم دنبال اشکال باشم
یا تو فایل میل
یا کجا سرور؟
رو سرور که یه سایت فعاله.. اگه قرار باشه این تابع ساده کار نکنه که بعیده...

راه دیگه ای نیست؟
چیکار کنم؟

rahime
شنبه 09 شهریور 1392, 14:21 عصر
یه سر به این سایت بزن خیلی ساده و قشنگ همشو توضیح داده

رضا قربانی
شنبه 09 شهریور 1392, 16:14 عصر
اینجارو یه دید بزن . نحوه ارسال ایمیل رو یاد بگیر :
http://barnamenevis.org/showthread.php?345742-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D9%BE%D8%B4%D8%AA%DB%8C%D8%A8%D8%A7%D9%86%DB%8C-%D8%B3%D8%A7%DB%8C%D8%AA&highlight=%D8%A7%D8%B1%D8%B3%D8%A7%D9%84+%D8%A7%DB %8C%D9%85%DB%8C%D9%84
اینجا هم یه سر بزن تا جزییات کامل بیاد دستت :
http://barnamenevis.org/showthread.php?388683-%D8%A7%D8%B4%DA%A9%D8%A7%D9%84-%D8%AF%D8%B1-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%A7%DB%8C%D9%85%DB%8C%D9%84&highlight=%D8%A7%D8%B1%D8%B3%D8%A7%D9%84+%D8%A7%DB %8C%D9%85%DB%8C%D9%84

موفق باشید