PDA

View Full Version : سوال: شرط برای ارسال اطلاعات از دو ورودی در یک فیلد



soroush.r70
جمعه 09 اسفند 1392, 14:20 عصر
من یک لیست منو دارم که کاربر میاد دوتا گزنیه رو انتخاب می کنه یکی زن و دیگری مرد وقتی مرد انتخاب شد فیلدی ظاهر میشه که داخلش عدیدی نوشته به صورت 921004564 که دو عدد اول 92 سال جاری و 100 نشان دهنده جنس مرد و 4 رقم آخر رندومه وقتی زن انتخاب شد عدد به صورت 922002343 تغییر می کنه 200 به معنی جنس زن هست و فقط یک فیلد در جدول دارم برای این دو به چه صورت می تونم شرطی بنویسم که وقتی زن انتخاب شد از لیست منو عددی که داخلش 200 برای زن هست در فیلد ثبت بشه و برای مرد هم همینطور اگه مرد انتخاب شد اگه 100 بود داخلش در فیلد ثبت بشه

یه فیلد در جدول دو تا input به صورت زیر


<label for="color">جنسیت</label> <select id="color" name="jens" required> <option>-- انتخاب کنید --</option> <option value="مرد">مرد</option> <option value="زن">زن</option> </select>
<label for="blue">نام کاربری شما <i class="fa fa-star"></i></label> <input id="blue" name="username" type="text" required autocomplete="off" value="'; global $none; echo jdate( 'y' , '' ,$none, 'Asia/Tehran' , 'en' ); echo'100'; echo mt_rand(1000,9999); echo' " readonly /> <input id="other" name="username" type="text" required autocomplete="off" value="'; global $none; echo jdate( 'y' , '' ,$none, 'Asia/Tehran' , 'en' ); echo'200'; echo mt_rand(1000,9999); echo' " readonly /> <label for="boypass">رمز عبور <i class="fa fa-star"></i></label> <input id="boypass" name="boypass" type="password" required title="رمز عبور خود را وارد نمایید" autocomplete="off" />

mirzajavad
جمعه 09 اسفند 1392, 14:45 عصر
میتونی با استفاده از تابع substr() ابتدای رشته رو جدا کنی و و اگر مقدار خواسته شده رو برگردوند بر اون اساس ادامه کار رو انجام بدی




// Get String form select
$result = substr($string,2,3);
if ($result == 100){ ///////////// }elseif($result == 200){ /////////////}

soroush.r70
جمعه 09 اسفند 1392, 15:12 عصر
خوب 100 بخوام از 921004567 جدا کنم چه کنم

mirzajavad
جمعه 09 اسفند 1392, 15:24 عصر
من الان تو کد بالا همین کار رو کردم
کد زیر ور اجرا کنید متوجه میشین



$string = '921002343' ;
$result = substr($string,2,3);
echo $result;

soroush.r70
جمعه 09 اسفند 1392, 15:49 عصر
ممنون دوست عزیز منم همینکارو انجام دادم و کد کلی من به صورت زیر هست ولی نمی دونم چرا ارسال نیمشه به نظرت مشکل کجاست


$class=new content;global $SignupPage;
if((isset($_POST['Form'])) && ($_POST['Form'] == "Submitted") && ($_SESSION['code'] == $_POST['Code']) && $_POST['jens']=="مرد" && substr($_POST['username'],2,3)==100)
{
$jens=$_POST['jens'];
$username=$_POST['username'];
$password=md5($_POST['password']);
$email=$_POST['email'];
$fullname=$_POST['fullname'];
$birthday=$_POST['birthday'];
$idnum=$_POST['idnum'];
$mobile=$_POST['mobile'];
$phone=$_POST['phone'];
$address=$_POST['address'];
$maghta=$_POST['maghta'];
$reshte=$_POST['reshte'];
$mahal=$_POST['mahal'];




$ip=$class->getip();
$pdate = get_jalali2();
$Add = $class->query("INSERT INTO `users`
(`id`,`jens`,`username`,`password`,`email`,`fullna me`,`birthday`,`idnum`,`mobile`,`phone`,`address`, `maghta`,`reshte`,`mahal`,`ip`,`pdate`)
VALUES (NULL,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");


$class->bind(1,!is_null($jens) ? $jens :'');
$class->bind(2,!is_null($username) ? $username :'');
$class->bind(3,!is_null($password) ? $password :'');
$class->bind(4,!is_null($email) ? $email :'');
$class->bind(5,!is_null($fullname) ? $fullname :'');
$class->bind(6,!is_null($birthday) ? $birthday :'');
$class->bind(7,!is_null($idnum) ? $idnum :'');
$class->bind(8,!is_null($mobile) ? $mobile :'');
$class->bind(9,!is_null($phone) ? $phone :'');
$class->bind(10,!is_null($address) ? $address :'');
$class->bind(11,!is_null($maghta) ? $maghta :'');
$class->bind(12,!is_null($reshte) ? $reshte :'');
$class->bind(13,!is_null($mahal) ? $mahal :'');
$class->bind(14,!is_null($ip) ? $ip :'');
$class->bind(15,!is_null($pdate) ? $pdate :'');


$class->execute();


if ($Add )
{
$SignupPage .= "<div id='success'>عضویت شما با موفقیت انجام شد اکنون می توانید وارد وب سایت شوید.</div>";

if(isset($_POST['username'])) {
$email=$_POST['email'];
$subject="عضویت شما در وب سایت موسسه زبان های خارجی شمال";
$from_add = "info@shifl.ir";
$message = '
نام کاربری = '.$_POST['username'].'
نام و نام خانوادگی = '.$_POST['fullname'].'
';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers = "From: $from_add \r\n";
mail($mail,$subject,$message,$headers);
}
}
}
else if((isset($_POST['Form'])) && ($_POST['Form'] == "Submitted") && ($_SESSION['code'] == $_POST['Code']) && $_POST['jens']=="زن" && substr($_POST['username'],2,3)==200)
{
$jens=$_POST['jens'];
$username=$_POST['username'];
$password=md5($_POST['password']);
$email=$_POST['email'];
$fullname=$_POST['fullname'];
$birthday=$_POST['birthday'];
$idnum=$_POST['idnum'];
$mobile=$_POST['mobile'];
$phone=$_POST['phone'];
$address=$_POST['address'];
$maghta=$_POST['maghta'];
$reshte=$_POST['reshte'];
$mahal=$_POST['mahal'];


$ip=$class->getip();
$pdate = get_jalali2();
$Add = $class->query("INSERT INTO `users`
(`id`,`jens`,`username`,`password`,`email`,`fullna me`,`birthday`,`idnum`,`mobile`,`phone`,`address`, `maghta`,`reshte`,`mahal`,`ip`,`pdate`)
VALUES (NULL,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");


$class->bind(1,!is_null($jens) ? $jens :'');
$class->bind(2,!is_null($username) ? $username :'');
$class->bind(3,!is_null($password) ? $password :'');
$class->bind(4,!is_null($email) ? $email :'');
$class->bind(5,!is_null($fullname) ? $fullname :'');
$class->bind(6,!is_null($birthday) ? $birthday :'');
$class->bind(7,!is_null($idnum) ? $idnum :'');
$class->bind(8,!is_null($mobile) ? $mobile :'');
$class->bind(9,!is_null($phone) ? $phone :'');
$class->bind(10,!is_null($address) ? $address :'');
$class->bind(11,!is_null($maghta) ? $maghta :'');
$class->bind(12,!is_null($reshte) ? $reshte :'');
$class->bind(13,!is_null($mahal) ? $mahal :'');
$class->bind(14,!is_null($ip) ? $ip :'');
$class->bind(15,!is_null($pdate) ? $pdate :'');


$class->execute();


if ($Add )
{
$SignupPage .= "<div id='success'>عضویت شما با موفقیت انجام شد اکنون می توانید وارد وب سایت شوید.</div>";

if(isset($_POST['username'])) {
$email=$_POST['email'];
$subject="عضویت شما در وب سایت موسسه زبان های خارجی شمال";
$from_add = "info@shifl.ir";
$message = '
نام کاربری = '.$_POST['username'].'
نام و نام خانوادگی = '.$_POST['fullname'].'
';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers = "From: $from_add \r\n";
mail($mail,$subject,$message,$headers);
}
}
}


$num = time();
echo '







<form id="SignupForm" method="post" name="manform">

<fieldset>
<legend>اطلاعات حساب کاربری</legend>

<label for="color">جنسیت</label>
<select id="color" name="jens" required>
<option>-- انتخاب کنید --</option>
<option value="مرد">مرد</option>
<option value="زن">زن</option>
</select>


<label for="blue">نام کاربری شما <i class="fa fa-star"></i></label>
<input id="blue" name="username" type="text" required autocomplete="off" value="'; global $none; echo jdate( 'y' , '' ,$none, 'Asia/Tehran' , 'en' ); echo'100'; echo mt_rand(1000,9999); echo' " readonly />

<input id="other" name="username" type="text" required autocomplete="off" value="'; global $none; echo jdate( 'y' , '' ,$none, 'Asia/Tehran' , 'en' ); echo'200'; echo mt_rand(1000,9999); echo' " readonly />

<label for="password">رمز عبور <i class="fa fa-star"></i></label>
<input id="password" name="password" type="password" required title="رمز عبور خود را وارد نمایید" autocomplete="off" />



<label for="email">پست الکترونیک</label>
<input id="email" name="email" type="email" required title="یک پست الکترونیک معتبر را وارد نمایید" autocomplete="off" />


</fieldset>



<fieldset>
<legend>اطلاعات شخصی</legend>

<label for="fullname">نام و نام خانوادگی <i class="fa fa-star"></i></label>
<input id="fullname" name="fullname" type="text" required title="نام و نام خانوادگی خود را وارد نمایید" autocomplete="off" dir="rtl" />

<label for="birthday">تاریخ تولد <i class="fa fa-star"></i></label>
<input id="birthday" name="birthday" type="text" required title="تاریخ تولد خود را وارد نمایید" autocomplete="off" />

<label for="idnum">شماره ملی <i class="fa fa-star"></i></label>
<input id="idnum" name="idnum" type="text" required title="شماره ملی خود را وارد نمایید" autocomplete="off" />


<label for="mobile">شماره همراه <i class="fa fa-star"></i></label>
<input id="mobile" name="mobile" type="text" required title="شماره همراه خود را وارد نمایید" autocomplete="off" />

<label for="phone">تلفن منزل</label>
<input id="phone" name="phone" type="text" autocomplete="off" />

<label for="address">آدرس محل سکونت <i class="fa fa-star"></i></label>
<input id="address" name="address" type="text" required title="آدرس خود را وارد نمایید" autocomplete="off" dir="rtl" />

<label for="maghta">مقطع تحصیلی </label>
<input id="maghta" name="maghta" type="text" autocomplete="off" dir="rtl" />

<label for="reshte">رشته تحصیلی</label>
<input id="reshte" name="reshte" type="text" autocomplete="off" dir="rtl" />

<label for="mahal">محل تحصیل</label>
<input id="mahal" name="mahal" type="text" autocomplete="off" dir="rtl" />

<label for="mahal">کد امنيتي:</label>
<center><img src="'.inc.'captcha.php?t='.$num.'" border="0" height="40" class="imgcap"></center>
<br>
<input type="text" name="Code" size="5" maxlength="6" class="input-bar " dir="ltr" autocomplete="off" required placeholder="کد را در این قسمت وارد کنید"></td>
</tr>


</fieldset>
<br>
<p align="center">
<input type="submit" class="btnsuu" value="عضویت">
</p>
<input type="hidden" name="Form" value="Submitted">
<br> </form>







';
$PageContent = $SignupPage;
echo $PageContent;

mirzajavad
جمعه 09 اسفند 1392, 15:56 عصر
خواهش میکنم
ولی بهتره فایل کد رو بذارین چون اینجوری خیلی در هم ریخته هستش
فایل کلاس هم content هم نیازه

soroush.r70
جمعه 09 اسفند 1392, 16:24 عصر
ممنون آقا بفرما کد با فایل های مورد نیاز

فایل های مورد نیاز (http://www.realdesign.ir/upload/urls.rar)

mirzajavad
جمعه 09 اسفند 1392, 17:28 عصر
راستش من اصلا نفهمیدم این سیستم به چه شکله
در ضمن یک سری فایلهایی که اینکلود شده موجود نیست
در کل ناقصه
اگر بگین عیبش دقیق کجاست بهتر میشه راهنمایی کرد

soroush.r70
جمعه 09 اسفند 1392, 17:36 عصر
با pdo نوشتم به این صورت عمل کردم

شرطی وقتی از لیست مرد انتخاب شد


if((isset($_POST['Form'])) && ($_POST['Form'] == "Submitted") && ($_SESSION['code'] == $_POST['Code']) && $_POST['jens']=="مرد" && substr($_POST['username'],2,3)=="100")
{


اینم شرطی برای زن


else if((isset($_POST['Form'])) && ($_POST['Form'] == "Submitted") && ($_SESSION['code'] == $_POST['Code']) && $_POST['jens']=="زن" && substr($_POST['username'],2,3)=="200")
{




دوتا فیلد هم دارم که هر دو name اونها username هست فقط value فرق می کنه که برای زن داخل اعدا 200 داره و برای مرد 100 به صورت زیر هست که تاریخ جاری رو میگیره و عدد ثابت برای زن و مردو یه عدد چهاررقمی رندوم


<label for="color">جنسیت</label>
<select id="color" name="jens" required>
<option>-- انتخاب کنید --</option>
<option value="مرد">مرد</option>
<option value="زن">زن</option>
</select>


<label for="blue">نام کاربری شما <i class="fa fa-star"></i></label>
<input id="blue" name="username" type="text" required autocomplete="off" value="'; global $none; echo jdate( 'y' , '' ,$none, 'Asia/Tehran' , 'en' ); echo'100'; echo mt_rand(1000,9999); echo' " readonly />

<input id="other" name="username" type="text" required autocomplete="off" value="'; global $none; echo jdate( 'y' , '' ,$none, 'Asia/Tehran' , 'en' ); echo'200'; echo mt_rand(1000,9999); echo' " readonly />


نمی دونم مشکلش کجاست مشکل تو شرط ها هستش که ثبت نمیشه

soroush.r70
جمعه 09 اسفند 1392, 21:21 عصر
کسی از دوستان نمی دونه مشکل از کجاست

mirzajavad
جمعه 09 اسفند 1392, 22:33 عصر
شما کل سیستم رو بذار تا تست بشه
آخه این دستورات رو نمیشه تک تک بررسی کرد
باید سیستم بررسی بشه و خطاها رو پیدا کنیم