PDA

View Full Version : مبتدی: مشکل در دکمه submit



scofield007
سه شنبه 19 آذر 1392, 18:07 عصر
درود مجدد بر دوستان

دوستان قطعه کد زیر رو نوشتم ولی هنگام زدن دکمه submit هیچ عملی اتفاق نمی افته.به نظر شما مشکل کد از کجاس؟؟



<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Form</title>
</head>

<body>
<form action="form.php" method="post">
<p><strong>Text Field:</strong></p><br />
<textarea name="text1" cols="90" rows="10" wrap="virtual" ></textarea></form><br />
<p><strong>Function:</strong></p>
<input type="radio" name="fun" value="md5" />MD5<br/>
<input type="radio" name="fun" value="strlen" />Length of string<br />
<input type="radio" name="fun" value="reverse" />Reverse String<br />
<input type="radio" name="fun" value="uppercase" />Make uppercase<br />
<input type="radio" name="fun" value="lowercase" />Make lowercase<br />
<input type="radio" name="fun" value="upcase" />Make first letter of words uppercase<br />
<input type="submit" value="Submit" name="submit" />
</body>
</html>




<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Form</title>
</head>

<body>
<?
if (($_POST['test1'] == "") || ($_POST['fun'] == ""))
{
header("Location: form.html");
exit;
}
$result = $_POST['fun']($_POST['text1']);
echo $result;
?>
<p><a href="form.html">Go again!!</a></p>
</body>
</html>

nadi_1368
سه شنبه 19 آذر 1392, 19:33 عصر
تگ فرم ببین کجا بستی........

MRmoon
سه شنبه 19 آذر 1392, 20:04 عصر
خوب وقتی فرم رو بعد از اولین textarea بستی میخوای ارسال بشه عایا؟

scofield007
سه شنبه 19 آذر 1392, 23:20 عصر
ممنون دوستان
درست میگید
حواسم نبود

scofield007
سه شنبه 19 آذر 1392, 23:25 عصر
وقتی دکمه submit رو میزنم به جای اینکه مثلا md5 جمله رو به من بده صفحه دوباره لود میشه.
مشکلش چیه؟
پ.ن:خط 14 فایل php دقیقا چه کاری انجام میده؟

trasilver
چهارشنبه 20 آذر 1392, 00:33 صبح
خوب کدتون یکم مشکل داشت. من صحیحش رو براتون میذارم اینجا :
form.html :

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Form</title>
</head>

<body>
<form action="form.php" method="post">
<p><strong>Text Field:</strong></p><br />
<textarea name="text1" cols="90" rows="10" wrap="virtual" ></textarea><br />
<p><strong>Function:</strong></p>
<input type="radio" name="fun" value="md5" />MD5<br/>
<input type="radio" name="fun" value="strlen" />Length of string<br />
<input type="radio" name="fun" value="reverse" />Reverse String<br />
<input type="radio" name="fun" value="uppercase" />Make uppercase<br />
<input type="radio" name="fun" value="lowercase" />Make lowercase<br />
<input type="radio" name="fun" value="upcase" />Make first letter of words uppercase<br />
<input type="submit" value="Submit" name="submit" /></form>
</body>
</html>
form.php :

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Form</title>
</head>

<body>
<?php
if (($_POST['text1'] == "") || ($_POST['fun'] == ""))
{
header("Location: form.html");
exit;
}
$result = $_POST['fun']($_POST['text1']);
echo $result;
?>
<p><a href="form.html">Go again!!</a></p>
</body>
</html>
لاین 14 میاد مثلا طرف md5 رو انتخاب می کنه نوشتش رو تبدیل به hash md5 می کنه.
کدتون هم مشکلاتش یکی از تگ form بود که بعد از textarea بسته بودید یکیش این بود از <? برای آغاز php استفاده کرده بودید چون ممکنه short tag توی php.ini off باشه و کد php شما اجرا نمیشه. پس سعی بکنید بیشتر از <?php شروع بکنید برای شروع تگ های php
یکی دیگه هم از مشکلاتش در لاین 9 فایل php شما بود که جای استفاده از اسم textarea شما که text1 بود نوشته بودید test1 که این باعث میشه همیشه مقدار test1 خالی باشه و به فایل html شما برگرده.
موفق باشی.

scofield007
چهارشنبه 20 آذر 1392, 18:15 عصر
ممنون.خط 14 دقیقا چه کاری انجام میده؟
ما به کاربر اجاره انتخاب 5 نوع عملیات دادیم که یکیش md5 هست.خط 14 چطور این 5 کار رو انجام میده؟
در صورتی که من تست کردم فقط 2 مورد اول کار می کرد(md5 - length of string)