-
طراحي صفحه regist و save
با سلا دوستان عزيز ميبخشيد اگر اين پست رو ساختم چون من پست ديگه ايي به اين نام نديدم
ممنون ميشم اگه کمکم کنيد
من دو تا صفحه تو dreamweaver طراحي کردم به نامهاي regist.php و save.php
تو صفحه رجيست کاربر اطلاعاتي نظير نام ، نام خانوادگي، آدرس ايميل ، نشاني ، تلفن و جنسيت رو وارد ميکنه و بعد از اينکه دکمه تاييد رو ميزنه اطلاعات به صفحه save.php منتقل ميشه و اونجا اطلاعات دوباره نوشته ميشه و ازش پرسيده ميشه آيا اطلاعات رو تاييد ميکنيد؟
همه چيز درسته ولي مشکل من اينجاست که وقتي طرف جنس زن زو انتخاب ميکنه جنسيت رو مينويسه زن و وقتي مرد رو هم انتخاب ميکنه بازم مينويسه زن
ممنون ميشم اگه کمکم کنيد. واسه فهم بيشتر کد اين دو صفحه رو هم اينجا مينويسم ميتونيد توي localhost خودتون تستش کنيد و خودتون ببينيد.
کد صفحه regist.php :
[PHP]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>form vorood etelaat</title>
</head>
<body>
<form action="save.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="303" border="0" align="center" cellpadding="2" cellspacing="0">
<caption>
لطفا فرم مربوطه را کامل کنيد
</caption>
<tr>
<td width="190" align="right" scope="col"><label for="tfname"></label>
<input type="text" name="tfname" id="tfname" /></td>
<td width="105" align="left" scope="col"><label>نام</label> </td>
</tr>
<tr>
<td align="right"><label for="tffamily"></label>
<input type="text" name="tffamily" id="tffamily" /></td>
<td align="left"><label>نام خانوادگي</label> </td>
</tr>
<tr>
<td align="right"><label for="tfadres"></label>
<input type="text" name="tfmail" id="tfmail" /></td>
<td align="left"><label>ايميل</label> </td>
</tr>
<tr>
<td align="right"><label for="tffamily"></label>
<input type="text" name="tftell" id="tftell" /></td>
<td align="left"><label>تلفن</label> </td>
</tr>
<tr>
<td align="right"><label for="tfadres"></label>
<input type="text" name="tfadres" id="tfadres" /></td>
<td align="left"><label>نشاني</label> </td>
</tr>
<tr>
<td align="right"><p>
<input type="radio"name="---"value="mail"/><label>مرد</label>
</p>
<p>
<input type="radio" name="---"value="famail" />
<label> زن </label>
</p></td>
<td align="left">جنسيت </td>
</tr>
<tr>
<td align="right"><input type="submit" value="ارسال" />
<input type="reset" name="button2" id="button2" value="حذف مشخصات" /></td>
<td align="left"> </td>
</tr>
</table>
</form>
</body>
</html>[/PHP]
کد صفحه save.php :
[PHP]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="regist.php.css" rel="stylesheet" type="text/css" />
<style type="text/css">
</style>
</head>
<body>
<?php
$name=($_POST["tfname"]);
$family = $_POST["tffamily"];
$adres = $_POST["tfadres"];
$mail = $_POST["tfmail"];
$tell = $_POST["tftell"];
$---=""
?>
<form>
<table width="371" border="0" align="center" cellpadding="2" cellspacing="0">
<caption>
آيا صحت اطلاعات را تاييد ميکنيد؟
</caption>
<tr>
<td width="207" align="center" scope="col"><label for="text1"><label><?php print($name);?></label></label></td>
<td width="156" scope="col"><label>نام:</label> </td>
</tr>
<tr>
<td align="center"><label for="text2"><label><?php print($family);?></label></label></td>
<td><label>نام خانوادگي:</label> </td>
</tr>
<tr>
<td align="center"><label for="text3"><label><?php print($mail);?></label></label></td>
<td>ايميل:</td>
</tr>
<tr>
<td align="center"><label for="text4"></label><label><?php print($tell);?></label></td>
<td><label>شماره موبايل</label> </td>
</tr>
<tr>
<td align="center"><label for="textfield6"></label><label><?php print($adres);?></label></td>
<td><label>نشاني</label> </td>
</tr>
<tr>
<td align="center"><label for="textfield6"></label><label><?php if(radio[famial].cheked)
print("زن");
else
print("مرد");?></label></td>
<td><label>جنسيت</label> </td>
</tr>
<tr>
<tr>
<td align="center"><input type="submit" name="button" id="button" value="بله" />
<input name="button2" type="submit" id="button2" value="بازگشت به صفحه قبل" action="regist.php"/></td>
<td> </td>
</tr>
</table>
</form>
<form id="form1" name="form1" method="get" action="regist.php">
</form>
</body>
</html>[/PHP]
-
ببنید اگه برای input های radio از یک نام استفاده کرده باشید نباید تو سمت سرور مشکلی وجود داشته باشه
ولی اگه از نامهای مجزا استفاده کنید باید برای هر کدام یک دریافت داشته باشید مثل بقیه فیلدهای فرم
در کل بهتر اینکه که برای هر کدوم یک نام مجزا انتخاب کنید که احیاناً به مشکلی برنخورید
ولی برای این نوع استفاده میتونید از یک نام برای input های radio استفاده کنید
به این تکه کد توجه کنید:
[PHP]<html>
<form method="post" action="<?php $_SEVER['PHP_SELF']?>">
<input type="radio" name="x" value="male"/><label>male</label>
<input type="radio" name="x" value="female" /><label>female</label>
<input type="submit" />
</form>
</html>
<?php
echo $_POST['x'];
?>[/PHP]اگه شما به اینصورت عمل کنید دیگه نیازی به چک کردن نیست
-
ببخشيد اين کدها رو تو localhost خودتون تست کرديد؟
منظور من اين بود که وقتي کاربر اطلاعات رو وارد ميکنه تو صفحه save.php همواره جنسيت رو مينويسه زن.
شايدم من متوجه منظورتون نشدم. اگه ميشه بيشتر توضيح بديد کجاي کدنويسيم غلطه؟:41:
-
احتمالا value رو یکی دادین. دقیقا همین کدی که zibatarin nam دادن رو گذاشتین؟
-
ببخشيد اين کدي که ايشون گفتند رو من گذاشتم حالا تو صفحه save.php ميخوام اگه جنس مرد رو انتخاب کرده تو يه ليبل بنويسه مرد و اگه زن رو انتخاب کرده بنويسه زن
خودم يه کد گذاشتم ولي غلطه ميتونيد کدي که من گذاشتمو بالاي صفحه تو صفحه save.php ببينيد
ممنون ميشم اگه در مورد کدي که بايد بزارم يه توضيحي بديد.
-
اون دو تا فیلد که برای جنسیت گذاشتی رو سمت سرور با همون اسم تو صفحه save.php تحویل بگیر، یعنی به این صورت:
[PHP]$x = $_POST['x'];[/PHP]بعدش تو قسمتی که میخوای نشون بدی یعنی این قسمت :
[PHP]<tr>
<td align="center"><label for="textfield6"></label><label><?php print($x);?></label></td>
<td><label>جنسيت</label> </td>
</tr>[/PHP]این کد تصحیح شده رو بنویس
-
ممنون درستش کردم
صفحه regist.php رو که تغيير ندادم ولي صفحه save.php رو به صورت زير تغيير دادم درست شد.
save.php :
[PHP]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="regist.php.css" rel="stylesheet" type="text/css" />
<style type="text/css">
</style>
</head>
<body>
<?php
{
$name=($_POST["tfname"]);
$family = $_POST["tffamily"];
$adres = $_POST["tfadres"];
$mail = $_POST["tfmail"];
$tell = $_POST["tftell"];
$x = $_POST["---"];
}
?>
<form>
<table width="371" border="0" align="center" cellpadding="2" cellspacing="0">
<caption>
آيا صحت اطلاعات را تاييد ميکنيد؟
</caption>
<tr>
<td width="207" align="center" scope="col"><label for="text1"><label><?php print($name);?></label></label></td>
<td width="156" scope="col"><label>نام:</label> </td>
</tr>
<tr>
<td align="center"><label for="text2"><label><?php print($family);?></label></label></td>
<td><label>نام خانوادگي:</label> </td>
</tr>
<tr>
<td align="center"><label for="text3"><label><?php print($mail);?></label></label></td>
<td>ايميل:</td>
</tr>
<tr>
<td align="center"><label for="text4"></label><label><?php print($tell);?></label></td>
<td><label>شماره موبايل</label> </td>
</tr>
<tr>
<td align="center"><label for="textfield6"></label><label><?php print($adres);?></label></td>
<td><label>نشاني</label> </td>
</tr>
<tr>
<td align="center"><label for="textfield6"></label><label><?php if($x=="famail")
print"زن";
else
print"مرد";
?></label></td>
<td><label>جنسيت</label> </td>
</tr>
<tr>
<tr>
<td align="center"><input type="submit" name="button" id="button" value="بله" />
<input name="button2" type="submit" id="button2" value="بازگشت به صفحه قبل" action="regist.php"/></td>
<td> </td>
</tr>
</table>
</form>
<form id="form1" name="form1" method="get" action="regist.php">
</form>
</body>
</html>[/PHP]
-
کد شما درسته ولی احتیاج نیست از شرط استفاده کنید:
[PHP]<?php if($x=="famail")
print"زن";
else
print"مرد";
?>[/PHP]
چون در هر لحظه فقط یک value ارسال میشه و با چاپ کردن همون $x شما نتیجه میگیرید
-
دوست عزيز در صفحه save.php همونطور که ميبيني button بازگشت به صفحه قبل وجو داره يعني اگه گزينه ايي رو اشتباه وارد کرده بود توسط اين دکمه برگرده صفحه قبل من اين button رو اينجوري تعريف کردم:
[PHP]<input name="button2" type="submit" id="button2" value="بازگشت به صفحه قبل" action="back to regist.php"/>[/PHP]
ولي کار نميکنه مشکل چيه؟
بازم ممنون
-
به این صورت :
[HTML]<input type="button" value="بازگشت" onClick="history.go(-1);return true;"/>[/HTML]
-