PDA

View Full Version : سوال: چرا فرم من کار نمی کنه؟



m_feyz
چهارشنبه 25 شهریور 1388, 11:18 صبح
با سلام به همه دوستان.
من تازه شروع به برنامه نویسی php کردم. یک فرم رو ایجاد کردم که یه سری اطاعات اولیه رو می گیره و صفحه بعد اونارو نمایش میده. هر دو صفحه رو تو هاستم آپلود کردم (صفحه فرم و صفحه نمایش اطلاعات وارد شده در فرم) اما وقتی اطلاعات رو وارد می کنم و کلید ارسال رو می زنم در صفحه بعد چیزی نشون نمی ده. علتش چیه؟ کد هر دو صفحه رو در زیر می بینید:
ابتدا کد صفحه فرم

<html>
<head>
<title>HTML Form</title>
</head>
<body>
<form action="HandleForm.php" method="post">
First Name <input type="text" name="FirstName" size="20"><br>
Last Name <input type="text" name="LastName" size="40"><br>
E-mail Address <input type="text" name="Email" size="60"><br>
Comments <textarea name="Comments" rows="5" cols="40"></textarea><br>
<input type="submit" name="SUBMIT" value="Submit!"><br>
</form>
</body>
</html>
حالا کد صفحه نمایش اطلاعات به نام HandleForm

<html>
<head>
<title>Form Results</title>
</head>
<body>
<?php
$address=="Torbat-e-heydarieh"
print "your first name is $FirstName<br>\n";
print "your lastname is $LastName<br>\n";
print "your E-mail address is $Email<br>\n";
print "This is what you had to say:<br>\n $Comments<br>\n";
print "$address<br>\n";
?>
</body>
</html>

payamsp
چهارشنبه 25 شهریور 1388, 12:43 عصر
چيزي كه شما نوشتي زماني درست كار مي كنه كه register globals فعال باشه اما چون اين تنظيم پي اچ پي از نظر امنيتي مشكل داره روي هاست ها غير فعاله .

afi_program
پنج شنبه 26 شهریور 1388, 13:52 عصر
جوابتون اونیه که tarhebartar گفته.باید مقادیری که فرستادی به این صفحه دریافت کنی که چون با post فرستادی باید با همون بگیری.

m_feyz
پنج شنبه 26 شهریور 1388, 15:37 عصر
چون بایستی مقدار رو از REQUEST یا POST و یا GET بگیری , چون method شما post هست مقادیر رو ایجوری بگیر:


$_POST['inputName']

همونطور که گفتی کد php رو به صورت زیر تغییر دادم ولی بازم کار نکرد:

<html>
<head>
<title>Form Results</title>
</head>
<body>
<?php
$address=="Torbat-e-heydarieh"
print "your first name is $_POST['FirstName']<br>\n";
print "your lastname is $_POST['LastName']<br>\n";
print "your E-mail address is $_POST['Email']<br>\n";
print "This is what you had to say:<br>\n $_POST['Comments']<br>\n";
print "$address<br>\n";
?>
</body>
</html>

afi_program
پنج شنبه 26 شهریور 1388, 16:18 عصر
$name=$_POST['inputname'];
موفق باشی

mehdibarati
پنج شنبه 26 شهریور 1388, 17:03 عصر
$address=="Torbat-e-heydarieh"
دو تا مشکل داره، اول اینکه باید از "=" به جای "==" استفاده کنی و دوم اینکه ";" رو یادت رفته آخرش بذاری!

afi_program
پنج شنبه 26 شهریور 1388, 17:09 عصر
به نکته ریزی اشاره کردی.از نظر ما که دور مونده بود:لبخند:
موفق باشی

s_salavati2002
پنج شنبه 26 شهریور 1388, 18:12 عصر
یک جمع بندی از گفته های دوستان
I. برای استفاده از پارامترهای ارسالی درخواست ها چند آرایه پیشفرض داره :


1.$_GET['VariableName']
2.$_POST['VariableName']
3.$_REQUEST['VariableName']

1و2 . برای استفاده از post و get است.
3. هم get و هم post و هم کوکی ها را شامل می شود. که اولویت با1. کوکی 2. post و 3. get
است

II. اون متغیری که شما استفاده کردید برای وقتی است که در php.ini متغیر register_globals مقدار on داشته باشد.(برای درک این مطلب پیشنهاد می کنم این کار رو انجام بدی)

III. = برای مقدار دهی و == یک عبارت شرطی است
مثال :

$a=2==2;
echo $a;

مقدار 1 چاپ شده که مشخص می کند عبارت 2==2 صحیح است.

m_feyz
جمعه 27 شهریور 1388, 09:50 صبح
ممنونم از همتون. جوابمو با کمک شما دوستان گرفتم.

danijoon
یک شنبه 29 شهریور 1388, 01:44 صبح
s_salavati2002 اگه 2==2 صحیحه باید 2 چاپ بشه
ولی شما درست میگی

s_salavati2002
یک شنبه 29 شهریور 1388, 14:29 عصر
s_salavati2002 اگه 2==2 صحیحه باید 2 چاپ بشه
ولی شما درست میگی
من نفهمیدم چی گفتی
ولی true همون 1
و false همون 0
اول 2==2 چک میشه بعد میره تو a