PDA

View Full Version : مشکل نفرستادن اطلاعات به ایمیل



refugee
چهارشنبه 18 اردیبهشت 1392, 08:41 صبح
سلام دوستان .

همه چی درسته و ایمیل هم میفرسته بهم , ولی اون اطلاعات داخل فرم رو نمیاره .. ببینید :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>تماس با ما</title>
</head>
<body style="font-family:tahoma; font-size:12px">
<?php

// در اینجا متغیر ها رو که از فرم دریافت میشن تعریف می کنیم

//متغیر دریافت آی پی مخاطب

@$ip= $_SERVER['REMOTE_ADDR'];

//متغیر دریافت نام و نام خانوادگی

@$Name = addslashes($_POST['Name']);

//متغیر دریافت پست الکترونیک مخاطب

@$EMail = addslashes($_POST['Email']);

//متغیر دریافت موضوع پیام

//@$Title = addslashes($_POST['Title']);

//متغیر دریافت متن پیام

@$Message = addslashes($_POST['Text']);

// در اینجا فرم رو اعتبار سنجی می کنیم یعنی فیلدهایی رو که پر کردن اونها رو اجباری کردید تعریف می کنید

// اعتبار سنجی اینکه فیلد نام و نام خانوادگی خالی نباشد
/*
if (strlen($name) == 0 )

{

die("لطفا نام و نام خانوادگی خود را وارد نمایید");

}

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

if (! preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/', $email))

{

die("آدرس پست الکترونیک شما معتبر نمی باشد لطفا آن را بررسی نموده و دوباره امتحان کنید");

}

//اعتبار سنجی اینکه فیلد پست الکترونیک خالی نباشد (بهتر است این بخش را پاک نکنید)

if (strlen($email) == 0 )

{

die("لطفا آدرس پست الکترونیک خود را وارد نمایید");

}

//اعتبارسنجی برای اینکه موضوع وارد شده باشد

if (strlen($Title) == 0 )

{

die("لطفا موضوع خود را وارد نمایید");

}

//اعتبار سنجی اینکه متن پیام وارد شده باشد

if(strlen($text)==0)

{

die("لطفا متن پیام را وارد نمایید");

}
*/
//بخش ارسال مشخصات به ایمیل شما

$header = "From: $Email\n"

. "Reply-To: $Email\n";
$header .= "Content-Type: text/html; charset=UTF-8\n";
$subject = '=?UTF-8?B?'.base64_encode($Name).'?=';
$email_to = "afg_host@yahoo.com";
$message = "آی پی مخاطب: $ip".""

. "نام و نام خانوادگی: $Name".""

. "پست الکترونیک: $Email".""

//. "موضوع پیام: $Title".""

. "متن پیام: $Text"."";

@mail($email_to, $subject ,$message ,$header ) ;

//درصورتی که فرم به درستی تکمیل شده باشد پیام زیر برای مخاطب نمایش داده می شود

echo(" با تشکر ، پیام شما با موفقیت ارسال گردید");

?>
</body>
</html>


اینم اچ تی ام ال فرمش

کد HTML:
<form action="http://apelo.ir/demo/contact.php" method="post" name="contact" onsubmit="return checkform()" >
<input type="hidden" name="e-mail" value="afg_host@yahoo.com" />
<table>
<tr>
<td><input type="text" name="name" value="نام و نام خانوادگی" class="name" onfocus="if(this.value == 'نام و نام خانوادگی')this.value = '';" onblur="if(this.value == '');" /></td>
<td><input type="email" name="email" value="Info@moqim.com" class="email" onfocus="if(this.value == 'Info@moqim.com')this.value = '';" onblur="if(this.value == '');" /></td>
</tr>
<tr>
<td colspan="2"><textarea onfocus="javascript:if (this.value =='در اين قسمت متن خود را بنويسيد.'){ this.value = ''}" name="text" class="text-m" >در اين قسمت متن خود را بنويسيد.</textarea></td>
</tr>
</table>
<input type="submit" name="submit" value="فرستادن" class="submit-c" />
</form>
کسی میتونه کمکم کنه ؟

من فکر میکنم مال نام ها باشه
بصورت حرف بزگ و کوچیک هم وارد کردم نشد : مثلا : $name
va ya

$Name

refugee
چهارشنبه 18 اردیبهشت 1392, 14:48 عصر
کسی بلد نیست ؟

plague
چهارشنبه 18 اردیبهشت 1392, 20:51 عصر
انقد کدت بی نظمه که نمیشه نگاش کرد حداقل تو تگ کد میزاشتی !
حتما تو کدای html یه چیزی داری
پاک کن یچیز ساده بزار جاش ببین اگه ارسال شد بعد کم کم کد های html رو جایگزین کن ببین کدومشون مشکل ایجاد میکنه

refugee
چهارشنبه 18 اردیبهشت 1392, 20:55 عصر
انقد کدت بی نظمه که نمیشه نگاش کرد حداقل تو تگ کد میزاشتی !
حتما تو کدای html یه چیزی داری
پاک کن یچیز ساده بزار جاش ببین اگه ارسال شد بعد کم کم کد های html رو جایگزین کن ببین کدومشون مشکل ایجاد میکنه

تو تگ گذاشته بودم ... ظاهرا خراب شده :لبخندساده:

فکر نمیکنم مال تو اچ تی ام ال باشه , چون وقتی بررسی میکنه صحیح است و مشکل ینمیگیره و ارسال میشه ...

باید از قسمت چاپ باشه

plague
چهارشنبه 18 اردیبهشت 1392, 21:25 عصر
منظور از html متن پیامی بود که ارسال میشه
انقد شیر تو شیر بود که من فکر کردم پیام html میفرستی
اول اینکه اگه نمیخای کدای html بفرستی لازم نیست که هدر رو ست کنی
دوم اینکه اون علامت @ رو از اول تابع ارسال ایمیل بردار که اگه ارروری داره متوجهش بشی
سوم اینکه متن پیام ایمیل رو یکبار قبل از اینکه ایمیل رو ارسال کنید اکو کن که مطمئن بشی پیامی که میره خالی نیست به هر دلیل یا مشکلی نداره

sh.n.n786
پنج شنبه 19 اردیبهشت 1392, 08:41 صبح
درود
کدتو کامل بزار این چیه ؟ آخه !!! :متفکر:
منتظر جواب هم هستی ؟

nsco_nsco
پنج شنبه 19 اردیبهشت 1392, 12:55 عصر
اگر می خوای به ایمیلت متغییر ارسال کنی این طوری بنویس مثلا متغییر فلا ن :
$xx
را بزار
.$xx.
می فرسته اگر مشکلت رو درست فهمیده باشم

refugee
پنج شنبه 19 اردیبهشت 1392, 17:50 عصر
تشکر از دوستان , مشکل رو خودم رفع کردم .

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

من اینو ننوشته بودم : $_POST

و برای اینکه از طریق post دریافت میکرد باید نوشته میشد .

قبل از ایمیل و نام و متن اونو زدم درست شد .