رفع مشکل فراخوانی فرم

mohsen162

Member
با سلام خدمت دوستان من با ترکیب چند تا برنامه مثل فرونت پیج ,.... این کدها رو تولید کردم اما کار نمیکنه هر چی میگردم باز نمیتونم مشکلشو حل کنم لطفا راهنمایی بفرمایید
کد:
<?php
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">\n";
echo "<form method=\"post\" action=\"mod.php\">\n";
echo"انتخاب شهر\n";
echo "<p><select size=\"1\" name=\"set\">\n";
echo "<option value=\"ارومیه\">ارومیه</option>\n";
echo "<option value=\"کرمان\">کرمان</option>\n";
echo "<option value=\"بوشهر\">بوشهر</option>\n";
echo "<option value=\"تبریز\">تبریز</option>\n";
echo "<option value=\"زاهدان\">زاهدان</option>\n";
echo " </select></p>\n";
echo "</form>\n";
?>
<?php
switch($_post["set"])
{
case  "ارومیه":
$name_sity="اروميه" ;
break;
case"کرمان":
$name_sity="کرمان";
break;
case"بوشهر":
$name_sity="بوشهر";
break;
case"تبریز":
$name_sity="تبريز";
break;
case"زاهدان":
$name_sity="زاهدان";
break;
};
?>
<?php
echo name_sity ;
?>
 
آخرین ویرایش:

Masoud1365

مدیر انجمن
اول که charset رو به utf-8 تغئیر بدید.
دوم که چرا کدهای html اینقدر سخت به کار گرفتید ؟
کار نمیکنه یعنی ارور میده ؟ متغیرت خالی هست ؟ صفحه سفید میاد ؟ سیاه میاد ؟ یا ... ؟
 

Masoud1365

مدیر انجمن
راستی کلا ساختار سوئیچ کیس که به کار بردید رو نفهمیدم برای چی هست ! ( منظورم اینه که کلا نیازی بهش نیست ! )
 

mohsen162

Member
ممنون از راهنمایتون اما این یک نمونه کار است می خواستم بدونم کجا مشکل داره
تو آخر کد من یک echoدادم که خروجی ازش بگیرم بعد از switch اما کار نمیکنه
من از ترکیب برنامه ها این کدو درست کردم برای همین مشکل بنظر میرسه
 

P.H.P

Member
سلام

وقتی select میکنی اتفاق خاصی هم می افته؟

اول باید از طریق onchange بعد از انتخاب submit بشه که بتونه مقدار رو ارسال کنه، از طریق ایجکس هم میتونی که دیگه نیازی به لود صفحه نباشه

برای switch هم یه شرط قرار بده که در صورتی که عمل post انجام شده بود چک کنه (نیازی نیست ولی بزاری بهتره)

خط آخر echo name_sity علامت $ رو فراموش کردی

موفق
 

mohsen162

Member
آقا خیلی ممنون نه هیچ اتفاقی نمیفته همین مشکل منه
این ایجکس که گفتین میشه آموزشو معرفی کنید
بعد این کدی است که تو بدنه یک ماژول جوملا قرار میگیره می تونید بگید چطوری میشه با انتخاب کاربر کار کنه
یک دنیا ممنون میشم زود جواب بدین
 

Masoud1365

مدیر انجمن
آقا شما ایجکس رو بی خیال شو ( تا بخوایی اینو یاد بگیری خیلی طول میکشه ).
اشکالی که کد شما داره اینه که فرمتون دکمه submit نداره که مقادیر رو ارسال کنه !
شما توی همین انجمن هم وقتی یه پستی رو اضافه میکنید تا دکمه ارسال پاسخ رو نزنید که فرمتون ارسال نمیشه !
 

P.H.P

Member
از onchange استفاده کن به این صورت

کد:
<select size="1" name="set" onchange="this.form.submit()">

این کد باعث میشه وقتی که یک مورد انتخاب شد یا تغییر کرد فرمت submit بشه بدون استفاده از دکمه

موفق
 

MIMi King

Member
بفرما کد اصلاح شده :
PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form method="post" action="frmmaj.php">
<center><h1>انتخاب شهر</h1></center>
<p><select size="1" name="set" onchange="this.form.submit()">
<option value="انتخاب کنید">انتخاب کنید</option>
<option value="ارومیه">ارومیه</option>
<option value="کرمان">کرمان</option>
<option value="بوشهر">بوشهر</option>
<option value="تبریز">تبریز</option>
<option value="زاهدان">زاهدان</option>
</select></p>
</form>

<?php
if(isset($_POST['set'])){
switch($_POST['set'])
{
case "ارومیه":
$name_sity="اروميه" ;
break;
case "کرمان":
$name_sity="کرمان";
break;
case "بوشهر":
$name_sity="بوشهر";
break;
case "تبریز":
$name_sity="تبريز";
break;
case "زاهدان":
$name_sity="زاهدان";
break;
}
echo $name_sity ; }
?>


اشکالات کد... :

1.بعد از switch که ; نمی گذارن.. که شما گذاشته بودی..
2. این کدی که نوشته بودی عملا" قابل استفاده نبود، چون سابمیت نداشت!
3.در این کد انتخاب ارومیه عملا" غیر ممکن بود.
4.در آخر توی چاپ متغیر $ فراموش شده بود...
5. طولانی بودن زیاد کد...
 

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

بالا