من تازه با پي اچ پي كار را شروع كرده ام

bamdaddk

New Member
در شروع كار به يك مشكل بزرگ برخورده ام. اگر كسي ميتونه لطفا به من كمك كنه
يك فرم طراحي كردم كه يك متغير را مي گيرد به يك فايل پي اچ پي ارسال مي كند . فايل پي اچ پي بايد اين متغير را بگيرد و چاپ كنده. كاري بسيار ساده. اما اين اتفاق نمي افتد و پيغام مي دهدكه متغير قبلا تعريف نشده . اين جواب در لوكال هاست داده ميشود بر روي سرور هم متغير ها خالي چاپ مي شوند. غلط املايي هم وجود ندارد زيرا عين متن از روي ايبوك برداشته شده است.
چكار بايد بكنم

ضمنا تو محيط نوشتن اين نامه اصلا نميتونم انگليسي تايپ كنم بايد چكار كنم
:mad: متن فايل اچتي ام ال
<html>
<head>
<title>HTML FORM </title>
</head>
<body>
<form action="handleform.php" method="post" >
<p>First Name
<INPUT type= TEXT name="firstname" size="20">
<br>
<input type="submit" name="Submit" value="Submit">
<input name="Reset" type="reset" id="Reset" value="Reset">
</form>
</body>
</html>





:mad:
متن فايل پي اچ پي



<html>
<head>
<title>Form Results</title>
<body>
<?php

/* This page recieve and handle the data generated by "form.html". */
print " your first name is $firstname . <br> \n";
print " Yourlast name is $lastname . <br> \n";
print " your e-mail addres is $email . <br> \n";
print "this is what you had to say: <br> \n $comments <br> \n";
?>
</body>
</html>
 

mazoolagh

Active Member
در فايل php.ini شما مقدار register_globals=off هست. بهتره بذاري همينطور بمونه و بجاش كدت رو اصلاح كني:
کد:
print "your first name is". $_REQUEST['firstname'] ."<br> \n";
 

bamdaddk

New Member
ضمن تشكر از پاسخ شما
من اصلا هر نو متغييري را كه در پي اچ پي تعريف مي كنم پيغام خطا داده مي شود. علت چيست؟

http://www.ouraman.com/php/email.php

يك فرم ساده جهت ارسال ميل طراحي كردم كار نمي كند ؟ راه حلي به ذهنتان مي رسد.
 

mazoolagh

Active Member
bamdaddk گفت:
ضمن تشكر از پاسخ شما
من اصلا هر نو متغييري را كه در پي اچ پي تعريف مي كنم پيغام خطا داده مي شود. علت چيست؟
http://www.ouraman.com/php/email.php
يك فرم ساده جهت ارسال ميل طراحي كردم كار نمي كند ؟ راه حلي به ذهنتان مي رسد.

هر دو سوال كلي و مبهمه! يكي يكي و واضح با شرح كامل كد و مشكل و پيغام خطا بپرس!
 

bamdaddk

New Member
با سلام
ضمن تشكر از پاسخ هاي سريع شما
من مشكلم در php اين هست كه هر متغيري كه در يك فايل HTML معرفي مي كنم و قرار است كه در يك فايل PHP استفاده شود مثلا چاپ گردد با پيغام


Notice: Undefined variable: lastname in E:\------- P h P\php2000\handleform.php on line 9
Yourlast name is .

مواجه مي شوند كد نمونه آن را هم قبلا برا شما ارسال كردم كه شما گفتين متغير Reg-global را تغيير ندم و كد را اصلاح كنم و كد را اصلاح كردم ولي همچنان با پيغام خطاي بالا روبرو شدم.
البته در حالت reg-global=on اين پيغام خطا ظاهر نمي شود ولي شما گفتين كه اين متغير را تغيير ندم. پس چكار كنم.

سئوال دوم در مورد يك سند قابل ايميل بود كه كد كامل آن



<?php
$PageTitle = "Sending Emails";
require ("header.php");
if ($BeenSubmitted) {
if ($MailTo) {
if (mail($MailTo, $Subject, $Body, "From: $MailFrom")) {
print ("<B><CENTER><FONT COLOR=BLUE>Your email has been successfully sent!</FONT></CENTER></B>\n");
} else {
print ("<B><CENTER><FONT COLOR=RED>Your email was not successfully sent due to a system error!</FONT></CENTER></B>\n");
}
} else {
print ("<B><CENTER><FONT COLOR=RED>Please enter the recipient's mail to address!</FONT></CENTER></B>\n");
}
}
?>
<FORM ACTION="email.php" METHOD=POST>
Recipient's Email Address: <INPUT TYPE=TEXT NAME="MailTo" SIZE="50"><BR>
Your Email Address: <INPUT TYPE=TEXT NAME="MailFrom" SIZE="50"><BR>
Email Subject: <INPUT TYPE=TEXT NAME="Subject" SIZE="80"><BR>
Email Body:<TEXTAREA NAME="Body" ROWS="10" COLS="50"></TEXTAREA><P>
<INPUT TYPE=HIDDEN NAME=BeenSubmitted VALUE=TRUE>
<INPUT TYPE=SUBMIT NAME="SUBMIT" VALUE="Submit!">
</FORM>
<?php
require ("footer.php");
?>



مي باشد. قرار است كه يك ايميل ارسال كند كه اين كار صورت نميگيرد و هيچ پيغامي داده نمي شود.
چه مشكلي وجود دارد.

ضمنا : من اگر يك كانال ارتباطي سريعتير با شما داشتم كه بيشتر بتونم وقتتون رو بگير خيلي بهتر مي شد البته براي من.

مجددا از اينكه وقت گذاشتين متشكرم
 

mazoolagh

Active Member
اينكه register_globals=off باشه يك توصيه ايمني هست و واقعا بهتره كه همينطور بذاري بمونه و متغيرهاي پست شده در فرمها رو بجاي XXX$ بصورت
PHP:
$_REQUEST['XXX']
استفاده كن (دقيقا بهمين شكل با رعايت حروف بزرگ و كوچك تا خطاي undefined variable ظاهر نشه)


ضمنا در مورد روش ارسال ايميل در php بارها در همين انجمنها بحث شده كه مراجعه به اونها مسلما سريعتر كارت رو راه ميندازه.
 

shafiei7

New Member
سلام دوست عزیز شما باید این دستور رو در فایل .hdaccess واقع در پوشه www یا puplic_html خود در آخر تمامی دستورات وارد کنی تا ایرورهای پی اچ پی درست شود در غیر اینصورت بایستی یک سری دستورات اضافی به برنامه php خود اضافه کنی که احتمالا آشنایی چندانی نداری بهتره همین فایل رو ویرایش بکنی.
دستور: php_value register_globals 1

در صورتی وجود هر گونه مشکل میتوانید از قسمت ارتباط با ما سایت من کمک بگیرید: http://www.mihantop.com
 

yakoza

Well-Known Member
این کد شماست
PHP:
<?php
$PageTitle = "Sending Emails";
require ("header.php");
if ($BeenSubmitted) {
if ($MailTo) {
if (mail($MailTo, $Subject, $Body, "From: $MailFrom")) {
print ("<B><CENTER><FONT COLOR=BLUE>Your email has been successfully sent!</FONT></CENTER></B>\n");
} else {
print ("<B><CENTER><FONT COLOR=RED>Your email was not successfully sent due to a system error!</FONT></CENTER></B>\n");
}
} else {
print ("<B><CENTER><FONT COLOR=RED>Please enter the recipient's mail to address!</FONT></CENTER></B>\n");
}
}
?>
<FORM ACTION="email.php" METHOD=POST>
Recipient's Email Address: <INPUT TYPE=TEXT NAME="MailTo" SIZE="50"><BR>
Your Email Address: <INPUT TYPE=TEXT NAME="MailFrom" SIZE="50"><BR>
Email Subject: <INPUT TYPE=TEXT NAME="Subject" SIZE="80"><BR>
Email Body:<TEXTAREA NAME="Body" ROWS="10" COLS="50"></TEXTAREA><P>
<INPUT TYPE=HIDDEN NAME=BeenSubmitted VALUE=TRUE>
<INPUT TYPE=SUBMIT NAME="SUBMIT" VALUE="Submit!">
</FORM>
<?php
require ("footer.php");
?>

اینم کدی که من یکم توش تغییرات دادم
PHP:
<?php
$PageTitle = "Sending Emails";
require ("header.php");
if (isset($_POST['SUBMIT'])) {
    if (isset($_POST['MailTo'])) {
        if (mail($_POST['MailTo'], $_POST['Subject'], $_POST['Body'], "From:" . $_POST['MailFrom'])) {
            print ("<B><CENTER><FONT COLOR=BLUE>Your email has been successfully sent!</FONT></CENTER></B>\n");
        } else {
            print ("<B><CENTER><FONT COLOR=RED>Your email was not successfully sent due to a system error!</FONT></CENTER></B>\n");
        }
    } else {
        print ("<B><CENTER><FONT COLOR=RED>Please enter the recipient's mail to address!</FONT></CENTER></B>\n");
    }
}
?>
<FORM ACTION="" METHOD="POST">
Recipient's Email Address: <INPUT TYPE=TEXT NAME="MailTo" SIZE="50"><BR>
Your Email Address: <INPUT TYPE=TEXT NAME="MailFrom" SIZE="50"><BR>
Email Subject: <INPUT TYPE=TEXT NAME="Subject" SIZE="80"><BR>
Email Body:<TEXTAREA NAME="Body" ROWS="10" COLS="50"></TEXTAREA><P>
<INPUT TYPE=HIDDEN NAME=BeenSubmitted VALUE=TRUE>
<INPUT TYPE=SUBMIT NAME="SUBMIT" VALUE="Submit!">
</FORM>
<?php
require ("footer.php");
?>


امیدوارم مشکلتون حل بشه

قربان شما ناصر
 

جدیدترین ارسال ها

بالا