امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
اساتید PHP  ببینید این فرم چی مشگلی داره
نویسنده پیام
بابا برقی آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
Sad  اساتید PHP  ببینید این فرم چی مشگلی داره
این فرمو من نوشتم نمیدونم چرا تو سرور که نمیکنه تو لوکال هاست کار میکنه نمیدونم چرا

این یک فرم دریافت اعتراض به نمراته که اطلاعات و به ایمیل می فرسته من زیاد پی اچ پی بلد نیستم اینم از روی برنامه های مختلف جمع کردم

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

این کد قسمت HTML که قسمت دریافت اطلاعاته

[align=left]
کد:
<%@ Language=javascirpt %> <html dir="rtl">

<head>

<meta name="VI60_defaultClientScript" content="VBScript">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>فرم اعتراض به نمرات</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="javascirpt" type="text/javascirpt">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
  

</head>

<body background="line2.gif">
<div id="Layer3" style="position:absolute; left:740; top:90; width:150; height:468; z-index:3; background-color: #657AD7; layer-background-color: #657AD7; border: 1px none #000000">
</div>
<div id="Layer2" style="position:absolute; left:716px; top:90px; width:24px; height:21px; z-index:4">
  <img src="1.gif" width="24" height="24"></div>
<div id="Layer4" style="position:absolute; left:72; top:145; width:642; height:458; z-index:13">
    
  <div style="width: 587; border:2px dashed #0932FF; padding: 10;  height:279">
    <form name="form1" action="mail.php" method="POST">

        <input type=hidden size="20" name="email_address" value="Quiz@neyshabur-tech.org">
        <font face="Tahoma"><font size="2"><br>
نام دانشجو  :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>
        
<input type="text" size="40"
        name="email_from"><font size="2"><br>  
        </font>  
<input type=hidden size="20"
        name="email_name" value="info@ele.ir"><font size="2">رشته :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>
<input type="text" size="15"
        name="Rast"><font size="2"><br>
نام درس :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>
<input type="text" size="15"
        name="dar" >
<br>
        <font size="2">نام استاد :</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font>

<input type="text" size="15"
        name="Aos"><font size="2"><br>
        <font face="Tahoma">نمره مورد اعتراض : </font>&nbsp;</font><input type="text" size="5"
        name="num"></font><p><font size="2" face="Tahoma">توضيحات :
<br></font><textarea name="Tow" rows="5"
        cols="40"></textarea> </p>
</div>
    <p align="right"><input type="submit" name="submit" value="ارسال" dir="rtl">
    <font face="Tahoma">
    <input type="reset" name="Reset" value="پاك كردن فرم" dir="rtl" style="font-family: t"></font></p>
    <p align="right">&nbsp;</p>
    <p align="right"><font face="Tahoma"><font size="2">ب</font><a href="http://www.neyshabur-tech.org/"><font size="2">ارگشت
    به سايت آموزشكده</font></a></font></p>
</form>
  </div>    
</div>
<div id="Layer1" style="position:absolute; left:129px; top:7px; width:761px; height:85px; z-index:1">
  <table width="760" height="83" border="0" align="right" cellpadding="0" cellspacing="0">
    <tr>
      <td width="343" background="b.gif">&nbsp;</td>
      <td width="257" background="b.gif">&nbsp;</td>
      <td width="160" align="center" background="b.gif">&nbsp;</td>
    </tr>
  </table>
</div>
<div id="Layer5" style="position:absolute; left:131; top:105; width:598; height:26; z-index:14">
  <span lang="fa"><b><font face="Tahoma" size="2">فرم اعتراض به نمرات&nbsp; </font></b>
  </span></div>
<div id="Layer6" style="position:absolute; left:136; top:635; width:542; height:26; z-index:15">
  <p class="MsoNormal" dir="RTL" style="text-align: right; direction: rtl; unicode-bidi: embed; font-family: Tahoma; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; margin-bottom: .0001pt">
  &nbsp;</p>
  </div>
</body>
</html>
اینک کد قسمت PHP یا همون سمت سرورش


کد:
<?php
//Handle Input here
//Check if $submit has a value of "Go" - The Validator
//if($submit=="Go"){
    //The Processor
   echo("<br>".$email_address);
echo("<br>".$email_from);
echo("<br>".$email_name );
echo("<br>".$Rast);
echo("<br>".$dar );
echo("<br>".$Aos );
echo("<br>".$num );
echo("<br>".$Tow );


$mail_subject = "etraz email" ;
$body = " نام دانشجو : ". $email_from . " <==>  " . " رشته : " . $Rast ." <==> " . " نام درس : " . $dar ." <==> " . " نام استاد : " . $Aos ." <==> " . " نمره : " . $num ." <==> " . " توضيحات :  " . $Tow ;
$xheaders = "";
$xheaders = "From: " . $email_name . " <" . $email_from . ">\r\n";
$xheaders .= "X-Sender: <" . $email_from . ">\r\n";
$xheaders .= "X-Mailer: PHP\r\n";
$xheaders .= "X-Priority: 6\r\n";
$xheaders .= "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8\r\nContent-transfer-encoding: 8bit";

echo("<br><b>گزارش ارسال اعتراض</b><hr>");
if(mail($email_address, $mail_subject,  $body , $xheaders))
   echo(" <b>با موفقيت فرستاده شد</b>" . "<br>اطلاعات ارسال شده: " .  "<br> " . $body );
  
else
    echo("<b>خطا در هنگام ارسال</b> "  );
  

?>


تو رو خدا کمک کنید
(آخرین ویرایش در این ارسال: ۰۸-اردیبهشت-۱۳۸۵, ۰۹:۴۹:۳۳، توسط بابا برقی.)
۰۸-اردیبهشت-۱۳۸۵, ۰۹:۴۷:۰۴
ارسال‌ها
پاسخ
PouriaAmid آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 272
موضوع‌ها: 15
تاریخ عضویت: شهریور ۱۳۸۳

تشکرها : 34
( 311 تشکر در 133 ارسال )
ارسال: #2
RE: اساتید PHP  ببینید این فرم چی مشگلی داره
اين کد مشکلی نداره عزيز
احتمالاً host شما اجازه استفاده از ميل service رو نميده واسه همين فرستاده نميشه
البته من بعيد ميدونم ولی خوب راه ديگه ای به نظر من نميرسه
موفق باشی

Root is not accessible
۰۹-اردیبهشت-۱۳۸۵, ۱۱:۲۷:۳۸
وب سایت ارسال‌ها
پاسخ
بابا برقی آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: اساتید PHP  ببینید این فرم چی مشگلی داره
ممنون از لطفنون به خاطر وقتی که گذاشتید
جواب اینو توی فرم سایت Iranphp گرفتم
اینم لینکش
http://www.iranphp.net/index.php?option=...topic=90.0

موفق باشید
۰۹-اردیبهشت-۱۳۸۵, ۱۱:۴۹:۲۸
ارسال‌ها
پاسخ
ashkan آفلاین
بنيانگذار سايت
******

ارسال‌ها: 1,553
موضوع‌ها: 80
تاریخ عضویت: آبان ۱۳۸۲

تشکرها : 0
( 140 تشکر در 87 ارسال )
ارسال: #4
RE: اساتید PHP  ببینید این فرم چی مشگلی داره
يه برنامه ارسال ميل هست تو سايت فكر كنم از اون استفاده كني بهتر باشه

آشنایی با نظریه زبان باعث شد تا بفهمم کامپیوتر اونی نیست که من میدونم.
۰۹-اردیبهشت-۱۳۸۵, ۱۲:۵۸:۳۱
وب سایت ارسال‌ها
پاسخ
بابا برقی آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: اساتید PHP  ببینید این فرم چی مشگلی داره
مشگل من از ارسال ایمیل نبود بلکه از این بود که اطلاعات از فرم دریافت اطلاعات به سرور یا همون فایل پی اچ پی نمیرسید که با راهنمایی که دوستان در سایت ایران پی اچ پی کردند مشگل رفع شد
از تمام عزیزان در سایت ایران ویچ هم ممنونم
۰۹-اردیبهشت-۱۳۸۵, ۱۶:۴۹:۲۴
ارسال‌ها
پاسخ
NabiKAZ آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 520
موضوع‌ها: 48
تاریخ عضویت: اسفند ۱۳۸۲

تشکرها : 6
( 60 تشکر در 46 ارسال )
ارسال: #6
RE: اساتید PHP  ببینید این فرم چی مشگلی داره
سلام
داشتم از این ورا رد میشدم که گفتم یه ابراز وجود بکنم .

در مورد $_POST که راه حل مشکل شما بود ، یه توضیح کامل تر میدم شاید مفید باشه .

در فایل پیکربندی PHP یه فایل به نام php.ini وجود داره ، در این فایل یک متغییر به نام register_global وجود دارد که میتونه مقدار off یا on به خودش بگیره .
در صورتی که این مقدار off باشه، نیازی نیست که توسط $_POST متغییر به نوعی تعریف بشه ، و مستقیما میشه از متغییر ها در php استفاده کرد. اما چنانچه این متغییر مقدار on داشته باشه بایستی که تمامی متغییر هایی که از فرم html به php ارسال میشن به نوعی تعریف بشن! منظور از تعریف همون استفاده از $_POST است .

حال اشکال از اونجا ناشی میشه که احتمالا بر روی سیستم شما به صورت local این متغییر به صورت off می باشد. و بر روی سرور on ! پس ناچارید که متغییرها رو توسط $_POST تعریف نمائید. تا بر روی سرور هم کار کنه . البته در حال حاظر بر روی اکثر سرور ها این متغییر به صورت on است ، و این بر میگرده به مسائل امنیتی.
در ابتدای پیدایش php ، مقدار off برای متغییر فوق الذکر یک حسن محسوب میشد چون برنامه نویس رو از تعریف متغییر ها بی نیاز میکرد. ولی بعد از مدتی این حسن شد خوراک هکر ها و از اون استفاده های سوء شد ، بنابراین به این نتیجه رسیدند که به صورت پیشفرض این متغییر رو به حالت on در بیارند.
همیشه سعی کنید در ابتدای برنامه ها از $_POST استفاده کنید.
البته اینها هم هستند:
$_POST اگر اطلاعات به روش post ارسال میشوند.
$_GET اگر اطلاعات به روش get ارسال میشوند.
$_REQUEST اگر اطلاعات به روش post و یا get و یا هر دو ارسال میشوند.
$_SERVER برای استفاده از متغییرهای پیشفرض و تعریف شده در php
و...

مثال:
$x = $_POST['x'];
(خودتون چپ به راست کنید)

امیدوارم تجربیات شخصیم مفید بوده باشه.
تشکر
نبی

(آخرین ویرایش در این ارسال: ۱۴-اردیبهشت-۱۳۸۵, ۰۲:۳۳:۲۰، توسط NabiKAZ.)
۱۴-اردیبهشت-۱۳۸۵, ۰۲:۲۶:۴۹
وب سایت ارسال‌ها
پاسخ
بابا برقی آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #7
Big Grin  RE:  اساتید PHP  ببینید این فرم چی مشگلی داره
NabiKAZ نوشته است:سلام
داشتم از این ورا رد میشدم که گفتم یه ابراز وجود بکنم .

در مورد $_POST که راه حل مشکل شما بود ، یه توضیح کامل تر میدم شاید مفید باشه .

در فایل پیکربندی PHP یه فایل به نام php.ini وجود داره ، در این فایل یک متغییر به نام register_global وجود دارد که میتونه مقدار off یا on به خودش بگیره .
در صورتی که این مقدار off باشه، نیازی نیست که توسط $_POST متغییر به نوعی تعریف بشه ، و مستقیما میشه از متغییر ها در php استفاده کرد. اما چنانچه این متغییر مقدار on داشته باشه بایستی که تمامی متغییر هایی که از فرم html به php ارسال میشن به نوعی تعریف بشن! منظور از تعریف همون استفاده از $_POST است .

حال اشکال از اونجا ناشی میشه که احتمالا بر روی سیستم شما به صورت local این متغییر به صورت off می باشد. و بر روی سرور on ! پس ناچارید که متغییرها رو توسط $_POST تعریف نمائید. تا بر روی سرور هم کار کنه . البته در حال حاظر بر روی اکثر سرور ها این متغییر به صورت on است ، و این بر میگرده به مسائل امنیتی.
در ابتدای پیدایش php ، مقدار off برای متغییر فوق الذکر یک حسن محسوب میشد چون برنامه نویس رو از تعریف متغییر ها بی نیاز میکرد. ولی بعد از مدتی این حسن شد خوراک هکر ها و از اون استفاده های سوء شد ، بنابراین به این نتیجه رسیدند که به صورت پیشفرض این متغییر رو به حالت on در بیارند.
همیشه سعی کنید در ابتدای برنامه ها از $_POST استفاده کنید.
البته اینها هم هستند:
$_POST اگر اطلاعات به روش post ارسال میشوند.
$_GET اگر اطلاعات به روش get ارسال میشوند.
$_REQUEST اگر اطلاعات به روش post و یا get و یا هر دو ارسال میشوند.
$_SERVER برای استفاده از متغییرهای پیشفرض و تعریف شده در php
و...

مثال:
$x = $_POST['x'];
(خودتون چپ به راست کنید)

امیدوارم تجربیات شخصیم مفید بوده باشه.
تشکر
نبی


واقعا جالب بود خیلی استفاده کردیم
۱۴-اردیبهشت-۱۳۸۵, ۰۶:۳۹:۳۵
ارسال‌ها
پاسخ
NabiKAZ آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 520
موضوع‌ها: 48
تاریخ عضویت: اسفند ۱۳۸۲

تشکرها : 6
( 60 تشکر در 46 ارسال )
ارسال: #8
RE:   اساتید PHP  ببینید این فرم چی مشگلی داره
بابا برقی نوشته است:واقعا جالب بود    خیلی استفاده کردیم

قابلی نداشت عزیز دل برادر ! ;)

۱۴-اردیبهشت-۱۳۸۵, ۰۹:۰۵:۲۰
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  فرومم با آواتار مشکل داره و ارور میده mohandes_milad 1 1,876 ۱۳-آبان-۱۳۸۵, ۱۱:۵۶:۲۴
آخرین ارسال: NabiKAZ

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS