PDA

View Full Version : سوال: ارسال با کلید



mahbeh
یک شنبه 08 شهریور 1388, 00:19 صبح
سلام. من ترم اخرمه پروژه پایانیم طراحی سایت کاریابییه.
یه صفحه برای ثبت نام اطلاعات کارجو طراحی کردم.باید یه سری اطلاعاتو چک می کنه اگر درست بود میره صفحه بعد پیغام میده عضو شدین.
چه جوری کلید اگه اطلاعات درست بود میره صفحه بعد؟

saeid99
یک شنبه 08 شهریور 1388, 09:01 صبح
سلام...
من نحوه ورود اطلاعات رو در دیتا بیس میگم..
روال کار اینه که شما یه صفحه داری که دارای یک form با متد get یا post هستش و دارای action خاص که آدرس صفحه ی مورد نظر شما میباشد....و داخل form شما چندین textbox,... وجود داره به همراه دکمه ای از نوع submit ...
پس از پر کردن فرم و فشردن دکمه submit صفحه مورد نظر به سمت آدرسی که در action وارد کردید روانه میشه و در اون صفحه action هست که شما باید اطلاعات رو چک کنید اگه درست بود که در دیتا بیس ذخیره شه در غیر این صورت پیغام خطای مورد نظرتون رو بده...
به 4 لینک زیر حتما دید بنداز...
http://www.w3schools.com/php/php_forms.asp

http://www.w3schools.com/php/php_get.asp

http://www.w3schools.com/php/php_post.asp

http://www.w3schools.com/php/php_mysql_insert.asp

__ziXet__
یک شنبه 08 شهریور 1388, 11:36 صبح
سلام. من ترم اخرمه پروژه پایانیم طراحی سایت کاریابییه.
یه صفحه برای ثبت نام اطلاعات کارجو طراحی کردم.باید یه سری اطلاعاتو چک می کنه اگر درست بود میره صفحه بعد پیغام میده عضو شدین.
چه جوری کلید اگه اطلاعات درست بود میره صفحه بعد؟
به نظرم پاسخ سعید کامل بود.
حالا من یه سوال داشتم!
این چه درسی هست که شما برداشتی ؟ php کار میکنین؟
ترمی چندی؟ درس اختیاری بوده؟

mahbeh
یک شنبه 08 شهریور 1388, 14:14 عصر
سلام دوباره فک می کنم سوالمو بد پرسیدم. صفحه ثبت ناممو میذارم.
این قسمت فرممه :

<fieldset dir="rtl">
<legend>
<b>اطلاعات شناسنامه اي وفردي</b>
</legend>
<form id="form1" name="form1" method="post" action="" dir="ltr">
<table width="718" border="0">
<tr>
<td align="right"><label><input type="text" name="family" /></label></td>
<td align="right"><h4>:نام خانوادگی <font color="#CC0000"> *</font></td>
<td width="219" align="right"><label><input type="text" name="name"></label></td>
<td width="86" align="right"><h4>:نام <font color="#CC0000"> *</font></td>
</tr>
<tr>

</tr>
<tr>
<td align="right"><label><input type="text" name="sh" /></label></td>
<td align="right"><h4>:شماره شناسنامه <font color="#CC0000"> *</font></td>
<td align="right"><label> <input type="text" name="fathername" /></label></td>
<td align="right"><h4>:نام پدر <font color="#CC0000"> *</font></td>
</tr>
<tr>
</tr>
<tr>
<td align="right"><label><input name="tavalod" type="text" />
</label></td><td align="right"><h4>:تاریخ تولد <font color="#CC0000"> *</font></td>
<td align="right"><label><input type="text" name="tavalod" /></label></td>
<td align="right"><h4>:محل تولد<font color="#CC0000"> *</font></td>
</tr>
&nbsp;
<tr>
</tr>
<tr>
<td align="right"><label>
<input name="v" type="radio" value="mojarad" />:مجرد
<input name="v" type="radio" value="taahol" checked="checked"/>: متاهل </label></td>
<td align="right"><h4>:وضعیت تاهل <font color="#CC0000"> *</font></td>
<td align="right"><label><h4>
<input name="r" type="radio" value="zan" /></label> : زن <label>
<input name="r" type="radio" value="mard" checked="checked"/> : مرد </label></td>
<td align="right"><h4>:جنسيت <font color="#CC0000"> *</font></td>
</tr>
<tr>
</tr>
<tr>
<td align="right"><label>
<input type="text" name="code" />
</label></td>
<td align="right"><h4>:کد ملی <font color="#CC0000"> *</font></td><br /></tr></table>
</form>
</fieldset><br />

<fieldset dir="rtl">
<legend>
<b>مدارك تحصيلي</b>
</legend>
<form name="form2" method="post" action="" dir="ltr>
<table>
<tr>
<td align="right"><label><h4>
<select name="madrak">
<option>ديپلم</option>
<option>فوق ديپلم</option>
<option>كارشناسي</option>
<option>كارشناسي ارشد</option>
<option>دكترا</option>
</select>
</label></td>
<td align="right"><h4>:اخرین مدرک تحصیلی <font color="#CC0000"> *</font></td>
</tr></table>
</form></fieldset >



<fieldset dir="rtl">
<legend>
<b>امنيت</b>
</legend>

<form name="form3" method="post" action="" dir="ltr><table>
<tr>

</tr>
<tr>
<td width="262" align="right"><label>
<input type="text" name="post" //>
</label></td>
<td width="133" align="right"><h4>:پست الكترونيك <font color="#CC0000"> *</font></td>
<td width="262" align="right"><label>
<input type="text" name="tell" //>
</label></td>
<td width="133" align="right"><h4>:شماره تماس <font color="#CC0000"> *</font></td>
</tr>

<tr>
</tr>
<tr>

<td align="right"><label>
<input type="password" name="pass" />
</label></td>
<td align="right"><h4>:رمز عبور <font color="#CC0000"> *</font></td>
<td align="right"><label>
<input type="text" name="user" />
</label></td>
<td align="right"><h4>:نام کاربری <font color="#CC0000"> *</font></td>
</tr>
<tr>

</tr>
<tr>
<td align="right"><label>
<input type="password" name="pass2" />
</label></td>
<td align="right"><h4>:تکرار رمز عبور <font color="#CC0000"> *</font></td>
<td align="right"><label>
<input type="text" name="pass2" />
</label></td>
</tr>

<p><div align="right">
<td align="right"><label>
<input type="submit" name="S" value="ثبت" /> </label></td>
</p></div> </table></fieldset>
</form>
</td>
</body>
</html>


اگه تو action ادرس صفحه بعدو بنویسم که تا کلیدو بزنه میره صفحه بعد چه اطلاعات درست باشه چه غلط چیزی چک نمیشه.

اینم قسمت ورود اطلاعات به دیتا بیس:

<?php

//*********************************
if (isset($_POST['S']))
{
if(isset($_POST["name"])) $name=$_POST['name'];
if(isset($_POST["family"])) $family=$_POST['family'];
if(isset($_POST["fathername"])) $fathername=$_POST['fathername'];
if(isset($_POST["tavalod"])) $tavalod=$_POST['tavalod'];
if(isset($_POST["sh"])) $sh=$_POST['sh'];
if(isset($_POST["sh"])) { $sh=$_POST['sh']; $len=strlen($sh) ;
for ($i=0;$i<$len;$i++) if($sh[$i]<'0' || $sh[$i]>'9') { print "شماره شناسنامه شما اشتباه است"; break;}
// $h=$sh+0; if($h==0) print "error";
}
if(isset($_POST["r"])) $r=$_POST['r'];
if(isset($_POST["v"])) $r=$_POST['v'];
if(isset($_POST["code"])) $code=$_POST['code'];
if(isset($_POST["code"])) { $c=$_POST['code']; $len1=strlen($c) ;
for ($i=0;$i<$len1;$i++) if($c[$i]<'0' || $c[$i]>'9') { print "كد ملي را درست وارد كنيد"; break;}
// $h=$sh+0; if($h==0) print "error";
}
if (strlen ($code) >'10' || strlen($code) <'5' ){echo "<h3 align='above'>کد ملی اشتباه است"; echo "<br>";}
if(isset($_POST["madrak"])) $madrak=$_POST['madrak'];
if(isset($_POST["tell"])) $tell=$_POST['tell'];
if(isset($_POST["tell"])) { $t=$_POST['tell']; $len2=strlen($t) ;
for ($i=0;$i<$len2;$i++) if($t[$i]<'0' || $t[$i]>'10') { print "شماره تماس شما اشتباه است"; break;}
// $t=$_POST['tell']; if( $t
}
if(isset($_POST["post "])) $post=$_POST['post'];
//if(!valid_email($post)) { print"problem mail"; }
//*************************
if(isset($_POST["user"])) $user=$_POST['user'];
if(isset($_POST["pass"])) $pass=$_POST['pass'];
if(isset($_POST["pass2"])) $pass2=$_POST['pass2'];
if (strlen($pass) < 6) {echo"<h3> رمز عبور باید بیشتر از 6 کاراکتر باشد";echo "<br>";}
if($pass!=$pass2){print "رمز عبور يكسان نمي باشد لطفا دوباره وارد نمائيد";}
//if (strcmp( $pass , $pass2 =0) ) { echo "رمز عبور اشتباه است دوباره وارد نمائید.";echo "<br>";}
if (strlen($name) == 0 or strlen($family) == 0 or strlen($fathername) == 0 or strlen($tavalod) == 0 or strlen($r) == 0 or strlen($code) == 0 or strlen($madrak) == 0 or strlen($user) == 0 or strlen($pass) == 0 or strlen($pass2) == 0)
{
echo "<h3> لطفا خانه هاي ستاره دار را پر نماييد";
exit;
}
$link=mysql_connect("localhost", "root", "");
mysql_select_db("karjo",$link);
$query1="INSERT INTO `k2`( `name` , `family` ,`fathername` , `tavalod` , `sh` , `r`, `v` , `code` , `madrak` , `tell` ,`post` , `user` , `pass` , `pass2` )
values( '$name' , '$family' , '$fathername' , '$tavalod', '$sh' , '$r' , '$v' , '$code' , '$madrak' , '$tell', '$post' , '$user' , '$pass' , '$pass2' )";
mysql_query($query1,$link);
}

حالا می خوام مثلا چک کنه کد ملی 10 رقمییه اگه درست بود(همه اطلاعات) بره صفحه بعد.
ممنون میشم اگه کمکم کنید.

narsic
یک شنبه 08 شهریور 1388, 15:00 عصر
با سلام از تابع strlen استفاده کنید .



<fieldset dir="rtl">
<legend>
<b>اطلاعات شناسنامه اي وفردي</b>
</legend>
<form id="form1" name="form1" method="post" action="" dir="ltr">
<table width="718" border="0">
<tr>
<td align="right"><label><input type="text" name="family" /></label></td>
<td align="right"><h4>:نام خانوادگی <font color="C#‎C0000"> *</font></td>
<td width="219" align="right"><label><input type="text" name="name"></label></td>
<td width="86" align="right"><h4>:نام <font color="C#‎C0000"> *</font></td>
</tr>
<tr>

</tr>
<tr>
<td align="right"><label><input type="text" name="sh" /></label></td>
<td align="right"><h4>:شماره شناسنامه <font color="C#‎C0000"> *</font></td>
<td align="right"><label> <input type="text" name="fathername" /></label></td>
<td align="right"><h4>:نام پدر <font color="C#‎C0000"> *</font></td>
</tr>
<tr>
</tr>
<tr>
<td align="right"><label><input name="tavalod" type="text" />
</label></td><td align="right"><h4>:تاریخ تولد <font color="C#‎C0000"> *</font></td>
<td align="right"><label><input type="text" name="tavalod" /></label></td>
<td align="right"><h4>:محل تولد<font color="C#‎C0000"> *</font></td>
</tr>
&nbsp;
<tr>
</tr>
<tr>
<td align="right"><label>
<input name="v" type="radio" value="mojarad" />:مجرد
<input name="v" type="radio" value="taahol" checked="checked"/>: متاهل </label></td>
<td align="right"><h4>:وضعیت تاهل <font color="C#‎C0000"> *</font></td>
<td align="right"><label><h4>
<input name="r" type="radio" value="zan" /></label> : زن <label>
<input name="r" type="radio" value="mard" checked="checked"/> : مرد </label></td>
<td align="right"><h4>:جنسيت <font color="C#‎C0000"> *</font></td>
</tr>
<tr>
</tr>
<tr>
<td align="right"><label>
<input type="text" name="code" />
</label></td>
<td align="right"><h4>:کد ملی <font color="C#‎C0000"> *</font></td><br /></tr></table>
</form>
</fieldset><br />

<fieldset dir="rtl">
<legend>
<b>مدارك تحصيلي</b>
</legend>
<form name="form2" method="post" action="" dir="ltr>
<table>
<tr>
<td align="right"><label><h4>
<select name="madrak">
<option>ديپلم</option>
<option>فوق ديپلم</option>
<option>كارشناسي</option>
<option>كارشناسي ارشد</option>
<option>دكترا</option>
</select>
</label></td>
<td align="right"><h4>:اخرین مدرک تحصیلی <font color="C#‎C0000"> *</font></td>
</tr></table>
</form></fieldset >



<fieldset dir="rtl">
<legend>
<b>امنيت</b>
</legend>

<form name="form3" method="post" action="" dir="ltr><table>
<tr>

</tr>
<tr>
<td width="262" align="right"><label>
<input type="text" name="post" //>
</label></td>
<td width="133" align="right"><h4>:پست الكترونيك <font color="C#‎C0000"> *</font></td>
<td width="262" align="right"><label>
<input type="text" name="tell" //>
</label></td>
<td width="133" align="right"><h4>:شماره تماس <font color="C#‎C0000"> *</font></td>
</tr>

<tr>
</tr>
<tr>

<td align="right"><label>
<input type="password" name="pass" />
</label></td>
<td align="right"><h4>:رمز عبور <font color="C#‎C0000"> *</font></td>
<td align="right"><label>
<input type="text" name="user" />
</label></td>
<td align="right"><h4>:نام کاربری <font color="C#‎C0000"> *</font></td>
</tr>
<tr>

</tr>
<tr>
<td align="right"><label>
<input type="password" name="pass2" />
</label></td>
<td align="right"><h4>:تکرار رمز عبور <font color="C#‎C0000"> *</font></td>
<td align="right"><label>
<input type="text" name="pass2" />
</label></td>
</tr>

<p><div align="right">
<td align="right"><label>
<input type="submit" name="S" value="ثبت" /> </label></td>
</p></div> </table></fieldset>
</form>
</td>
</body>
</html>


اگه تو action ادرس صفحه بعدو بنویسم که تا کلیدو بزنه میره صفحه بعد چه اطلاعات درست باشه چه غلط چیزی چک نمیشه.

اینم قسمت ورود اطلاعات به دیتا بیس:

<?php

//*********************************
if (isset($_POST['S']))
{
if(isset($_POST["name"])) $name=$_POST['name'];
if(isset($_POST["family"])) $family=$_POST['family'];
if(isset($_POST["fathername"])) $fathername=$_POST['fathername'];
if(isset($_POST["tavalod"])) $tavalod=$_POST['tavalod'];
if(isset($_POST["sh"])) $sh=$_POST['sh'];
if(isset($_POST["sh"])) { $sh=$_POST['sh']; $len=strlen($sh) ;
for ($i=0;$i<$len;$i++) if($sh[$i]<'0' || $sh[$i]>'9') { print "شماره شناسنامه شما اشتباه است"; break;}
// $h=$sh+0; if($h==0) print "error";
}
if(isset($_POST["r"])) $r=$_POST['r'];
if(isset($_POST["v"])) $r=$_POST['v'];
if(isset($_POST["code"])) $code=$_POST['code'];
if(isset($_POST["code"])) { $c=$_POST['code']; $len1=strlen($c) ;
for ($i=0;$i<$len1;$i++) if($c[$i]<'0' || $c[$i]>'9') { print "كد ملي را درست وارد كنيد"; break;}
// $h=$sh+0; if($h==0) print "error";
}
if (strlen ($code) >'10' || strlen($code) <'5' ){echo "<h3 align='above'>کد ملی اشتباه است"; echo "<br>";}
if(isset($_POST["madrak"])) $madrak=$_POST['madrak'];
if(isset($_POST["tell"])) $tell=$_POST['tell'];
if(isset($_POST["tell"])) { $t=$_POST['tell']; $len2=strlen($t) ;
for ($i=0;$i<$len2;$i++) if($t[$i]<'0' || $t[$i]>'10') { print "شماره تماس شما اشتباه است"; break;}
// $t=$_POST['tell']; if( $t
}
if(isset($_POST["post "])) $post=$_POST['post'];
//if(!valid_email($post)) { print"problem mail"; }
//*************************
if(isset($_POST["user"])) $user=$_POST['user'];
if(isset($_POST["pass"])) $pass=$_POST['pass'];
if(isset($_POST["pass2"])) $pass2=$_POST['pass2'];
if (strlen($pass) < 6) {echo"<h3> رمز عبور باید بیشتر از 6 کاراکتر باشد";echo "<br>";}
if($pass!=$pass2){print "رمز عبور يكسان نمي باشد لطفا دوباره وارد نمائيد";}
//if (strcmp( $pass , $pass2 =0) ) { echo "رمز عبور اشتباه است دوباره وارد نمائید.";echo "<br>";}
if (strlen($name) == 0 or strlen($family) == 0 or strlen($fathername) == 0 or strlen($tavalod) == 0 or strlen($r) == 0 or strlen($code) == 0 or strlen($madrak) == 0 or strlen($user) == 0 or strlen($pass) == 0 or strlen($pass2) == 0)
{
echo "<h3> لطفا خانه هاي ستاره دار را پر نماييد";
exit;
}
$link=mysql_connect("localhost", "root", "");
mysql_select_db("karjo",$link);
$query1="INSERT INTO `k2`( `name` , `family` ,`fathername` , `tavalod` , `sh` , `r`, `v` , `code` , `madrak` , `tell` ,`post` , `user` , `pass` , `pass2` )
values( '$name' , '$family' , '$fathername' , '$tavalod', '$sh' , '$r' , '$v' , '$code' , '$madrak' , '$tell', '$post' , '$user' , '$pass' , '$pass2' )";
mysql_query($query1,$link);
}

payamsp
یک شنبه 08 شهریور 1388, 16:57 عصر
براي چك كردن و اطمينان از صحت اطلاعات مي توني از regexp استفاده كني .

امیـرحسین
یک شنبه 08 شهریور 1388, 17:49 عصر
واقعا توی این دانشگاه ها چه خبره ؟؟!!:قهقهه: :قهقهه:

mahbeh
یک شنبه 08 شهریور 1388, 19:03 عصر
براي چك كردن و اطمينان از صحت اطلاعات مي توني از regexp استفاده كني .


طرز استفاده regexp نمی دونم. تا حالا استفاده نکردم. می شه کمکم کنید.:ناراحت:

mahbeh
یک شنبه 08 شهریور 1388, 19:13 عصر
خوب این رو با length هم می تونی چک کنی !!

بعد اینکه میشه این کد هات رو توی تگ کد بزاری بشه خوند , اینجوری بهتر میشه بهتون کمک کرد !

ممنون


منظورم فقط چک کردن کد ملی نبود. اگه همه اطلاعات درست بود وقتی کلید ثبتو میزنه بره صفحه بعد و پیغام قبولی عضویتو بده وگرنه تو همون صفحه بمونه.

mahbeh
یک شنبه 08 شهریور 1388, 19:21 عصر
منظورم فقط چک کردن کد ملی نبود.یه مثال زدم.همه اطلاعات اگر درست بود زمانیکه کلید زده شد بره صفحه بعد و پیغام قبولی عضویتو بده و در غیر اینصورت تو همون صفحه باقی بمونه.
شرمنده بهم ریخته بود. سرعتی عمل کردم.

امیـرحسین
یک شنبه 08 شهریور 1388, 23:11 عصر
کلید فرم زده میشه. اطلاعات فرم چک میشه. اگر درست بود میره به یه صفحه دیگه. مثلا اینجوری؟
if(isset($_POST['submit']))
{
$flag = true;

if($_POST['name'] != "ValidName")
$flag = false;

if($_POST['id'] != "15767425285")
$flag = false;

.....
}

if($flag)
header("Location: anotherPage.php");
else
echo "Try again!";

mahbeh
دوشنبه 09 شهریور 1388, 00:35 صبح
خوب این رو با length هم می تونی چک کنی !!

بعد اینکه میشه این کد هات رو توی تگ کد بزاری بشه خوند , اینجوری بهتر میشه بهتون کمک کرد !

ممنون

منظورم این بود که همه اطلاعاتو چک کنه نه فقط کد ملی.اونو مثال زدم.باید وقتی کلیدو زد همرو چک کنه اگه درست بود بره صفحه بعد پیغام قبولی عضویتو بده در غیر اینصورت تو همون صفحه بمونه.
نمی دونم چجوری.
فک میکنم سشن میخواد که خیلی خوب یاد ندارم .:ناراحت:
کمک

mahbeh
دوشنبه 09 شهریور 1388, 01:14 صبح
یه سوال دیگه. می خوام وقتی شماره تلفن وارد می کنه فقط یه صفر بتونه بزنه و صفر های بعدیرو قبول نکنه. چجوری باید بنویسم؟:ناراحت: