abolfazln

گرفتن یک سری اطلاعات از فرم

18 پست در این موضوع قرار دارد

سلام

اين اولين پست من هست در اين انجمن

يک سوال مهم داشتم در رابطه ي گرفتن value يک فرم از نوع راديو :

من يک جدول دارم به نام data

اين جدول فيلد هاي زير را داره:


ID
name
price

من با کد زير اطلاعات جدول بالا رو گرفتم و اون ها رو در فرم از نوع Radio Button نمايش دادم:


<script>
function set_pay(pay)
{document.getElementById('paydiv').innerHTML = "قيمت : "+pay;}
</script>
<?php
global $table_prefix;
$query = mysql_query("SELECT * FROM {$table_prefix}data");
while($row = mysql_fetch_assoc($query))
{echo "<input type='radio' onclick='set_pay(".$row['price'].")' name='dataform' value='".$row["ID"]."'>{$row["name"]}</br>";}
echo "<div id='paydiv'>قيمت :</div>";
?>

فرض ميکنيم خروجي کد بالا به صورت HTML به شکل زير باشه:


<input type='radio' onclick='set_pay(5000)' name='dataform' value=1'>نقره اي</br>

<input type='radio' onclick='set_pay(8000)' name='dataform' value='2'>طلايي</br>

بعد وقتي کاربر روي يکي از radio button هاي فرم کليک ميکنه و روي دکمه submit کليک ميکنه سه تا فيلد از جدول data که در بالا گفتم رو به صفحه فلان ارسال کنه

يعني مثلا اگه روي راديو باتون اول کليک کنه اطلاعات زير ارسال بشه


id = 1
name = نقره اي
price = 5000

چطوري ميشه کار هاي بالا رو انجام داد؟

به اشتراک گذاری این پست


لینک به پست

تو قسمت آخر , خب وقتی submit میکنید , value هر رادیو باتن که همون آیدی هست ارسال میشه . با یک سلکت میشه name و price رو هم درآورد .

ولی اگه منظورتون اینه که بدون submit انجام بشه , خوب باید از آجاکس استفاده بشه.

به اشتراک گذاری این پست


لینک به پست

به انجمن خوش امدید

شما میتوانید تمام مقادیر را در value input قرار دهید

و با حرفی جدا کنید

مثال:

5000|2|blue

سپس با تابع explode مقادیر را جدا و بررسی کنید

به اشتراک گذاری این پست


لینک به پست

به انجمن خوش امدید

شما میتوانید تمام مقادیر را در value input قرار دهید

و با حرفی جدا کنید

مثال:

5000|2|blue

سپس با تابع explode مقادیر را جدا و بررسی کنید

سلام

من زیاد آشنایی با پی اچ پی ندارم

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

تشکر.

به اشتراک گذاری این پست


لینک به پست

سلام

با کد زیر همه رو در value رادیو باتون ریختم فقط مونده جدا کردنش که با شماست


$all_data = $row['ID'].'|'.$row['name'].'|'.$row['price'];

تشکر

به اشتراک گذاری این پست


لینک به پست

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

اگر آی دی ها ضریب تعداد هستند هم می تونند قبل از ارسال در قیمت ضرب بشند و هم می تونند فیلدی مجزا به نام تعداد داشته باشند تا در اسناد درج بشه و بشه راحت موجودی انبار گرفت و اگر آی دی شناسایی کالا هستند که باز هم نمی تونند متغییر باشند و به عنوان ثابت می تونند به name اضافه بشند

به اشتراک گذاری این پست


لینک به پست

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

اگر آی دی ها ضریب تعداد هستند هم می تونند قبل از ارسال در قیمت ضرب بشند و هم می تونند فیلدی مجزا به نام تعداد داشته باشند تا در اسناد درج بشه و بشه راحت موجودی انبار گرفت و اگر آی دی شناسایی کالا هستند که باز هم نمی تونند متغییر باشند و به عنوان ثابت می تونند به name اضافه بشند

سلام

دارم پلاگین اعضای ویژه رو به درگاه پی لاین متصل میکنم

id شناسه عضویت است

name نام نوع عضویت است

price قیمت عضویت است

id رو میخوام برای اینکه با اینکه با id کاربر insert کنم در جدول vip-users

name رو میخوام برای نمایش آن بعد از پرداخت موفق

price رو میخوام برای درگاه پرداخت

فقط این کد رو نوشتم تا این 3 رو ترکیب کنم و بعد از ارسال اون ها رو تجزیه کنم و بعد استفاده کنم

مشکلم اینه که چطور value رادیو باتون رو بگیرم و 3 تا کد رو جدا کنم


$all_data = $row['ID'].'|'.$row['name'].'|'.$row['price'];

فکر کنم با کد زیر بشه مقدار value را گرفت:


$post['نام فرم']

به اشتراک گذاری این پست


لینک به پست

سه تا رادیو باتن , باید یک نام داشته باشند با value های مختلف که آیدی رو شما قرار دادید بعنوان value

باید بنویسید


$_post['dataform']

که dataform نام رادیوباتن هست که شما انتخاب کردید .

اینطوری رادیوباتنی که انتخاب کردید , value اش گرفته میشه.

ویرایش شده در توسط pary_daryayi

به اشتراک گذاری این پست


لینک به پست

سلام

سه تا رادیو باتن , باید یک نام داشته باشند با value های مختلف که آیدی رو شما قرار دادید بعنوان value

باید بنویسید


$_post['dataform']

که dataform نام رادیوباتن هست که شما انتخاب کردید .

اینطوری رادیوباتنی که انتخاب کردید , value اش گرفته میشه.

ببین کد زیر درسته؟


if($_POST['submit_payment']) {
if($_POST['user_name'] && $_POST['vip_roles']) {
$str = $_POST['vip_roles'];
print_r(explode('|', $str, 3));
}
}

با کد بالا مقدار فیلد به نام user_name رو گرفتم و بعدش مقدار value رادیو باتون و بعد رادیو باتون و میخوام از شکل


5000|2|blue

جدا کنم و هر کدوم داده های بالا رو استفاده کنم

لطفا کد بالا رو برام اصلاح کنید.

به اشتراک گذاری این پست


لینک به پست

ببینید مگه هر نوع عضویت قیمت خاص به خودش رو نداره؟

اگر داره نیازی نیست در فرم تکرار بشه شما می تونید در لیبل نوع عضویت و قیمت را کنار هم نمایش دهید و اگر id عضویت شماره ایست که بصورت خودکار پر می شود می تواند یک input با type=hidden باشد و در داخل فرم جاسازی شود تنها چیزی که لازمه کاربر خودش انتخاب کنه همون نوع و قیمته که می شه یک فیلد و می تونید قیمت را دوره ای کنید و یک فیلد هم برای دوره بگذارید که عددش در عدد قیمت ضرب می شه

برای شرطتون هم می تونید از


if(isset($_POST['any']))
{
....
}
else
{
...
}

استفاده کنید که صفحه بی ارور لود بشه

به اشتراک گذاری این پست


لینک به پست

سلام

دفعه اول این کارو کردم

ولی بهتره هر سه دسته اطلاعات رو با هم به صورت زیر ترکیب کنم و در value بریزم و اون رو ارسال کنم و بعد در صفحه اصلی مقدار value را بگیرم و سه دسته اطلاعات را جدا کنم و استفاده کنم


1|طلایی|50000

اولی که id هست و دومی نام عضویت هست و بعدی قیمت هست

من میخوام این 3 تا رو از هم جدا کنم

یک مثال کامل با کد برایم بنویسید

به اشتراک گذاری این پست


لینک به پست

کدی شبیه


<?php
if (is_user_logged_in()) {
global $user_ID;?>
<form method="post" action="آدرس اکشن">
<label id="Label1"> گروه برنزی مبلغ 1000 ریال
<input name="vip" type="radio" value="c" />
</label>
<label id="Label1"> گروه نقره ای مبلغ 10000 ریال
<input name="vip" type="radio" value="b" />
</label>
<label id="Label1"> گروه طلایی مبلغ 100000 ریال
<input name="vip" type="radio" value="a" />
</label>
<input name="userid" type="hidden" value="<?php echo $user_ID;?>"/>
<input type="submit" />
</form>
<?php };?>


و در اکشن


<?php
if(isset($_POST['vip'])) {
if($_POST['vip']=='a') :
echo 'گروه طلایی مبلغ 100000 ریال';
else
if($_POST['vip']=='b') :
echo 'گروه نقره ای مبلغ 10000 ریال';
else
echo 'گروه برنزی مبلغ 1000 ریال';
endif;
echo 'شناسه کاربر=' . $_POST['userid'];
};
?>

به اشتراک گذاری این پست


لینک به پست

$val = explode("|", $_POST['val']);
echo $val[0];
echo $val[1];

به اشتراک گذاری این پست


لینک به پست

سلام

باز هم مشکل داره

کد زیر رو ببین:


<script>
function set_pay(pay)
{
document.getElementById('paydiv').innerHTML = "قيمت : "+pay;
}
</script>
<?php
global $wpdb, $table_prefix;

$query = mysql_query("SELECT * FROM {$table_prefix}vip_roles");
while($row = mysql_fetch_assoc($query))
{
// get all data and send
$all_data = $row['ID'].'|'.$row['name'].'|'.$row['credit_required'];
echo "<input type='radio' onclick='set_pay(".$row['credit_required'].")' name='vip_roles' value='".$all_data."'>{$row["name"]}</br>";
}
echo "<div id='paydiv'>قیمت :</div>";
?>

هر کار میکنم id و name رو نمیتونم بگیرم

این هم کد اکشن :


if($_POST['submit_payment']) {
if($_POST['user_name'] && $_POST['vip_roles']) {
$data = explode("|", $_POST['vip_roles']);
$vip_role = $data[0];
add_option('vip_roles_' . $current_user->ID, $vip_role);
update_option('vip_roles_' . $current_user->ID, $vip_role);
//=========
$vip_price = $data[2];
add_option('vip_price_' . $current_user->ID, $vip_price);
update_option('vip_price_' . $current_user->ID, $vip_price);
//=========
$vip_name = $data[1];
add_option('vip_name_' . $current_user->ID, $vip_name);
update_option('vip_name_' . $current_user->ID, $vip_name);
}}

چکار کنم دوستان خیلی راه ها رو انتخاب کردم . من میخوام id نوع عضویت و id کاربر وردپرس رو باهم بدست بیارم که در query زیر وارد کنم اما id نوع عضویت مقدارش صفر وارد میشه


$user_ID = $current_user->ID;
$role_ID = get_option('vip_roles_' . $current_user->ID);
$role_name = get_option('vip_name_' . $current_user->ID);

global $wpdb, $table_prefix;
$check_name = $wpdb->query("SELECT * FROM {$table_prefix}vip_users WHERE username_ID = '".$user_ID."'");
if(!$check_name) {
$check = $wpdb->query("INSERT INTO {$table_prefix}vip_users (ID, username_ID, user_role) VALUES ('".$user_ID."', '".$user_ID."', '".$role_ID."')");
if($check) {
echo "<div class='success-payment'><p>" . sprintf(__('<br /> نوع کاربری شما: %s ', 'wp-vip'), $role_name) . sprintf(__('<br /> شماره رهگيري: %s ', 'wp-vip'), $payline->RefNumber)."</div></p>";
}

دوستان کمک فوری میخوام

به اشتراک گذاری این پست


لینک به پست

والا من اصلا متوجه نشدم

فقط زیادی پیچوندیش ببینید آی دی هایی که وجود دارند که نیازی به ارسال ندارند تنها چیزی هایی باید ارسال بشند که لازمه دونسته بشه و بصورت کلید باید بشه از روی کلیدها آی تم های مختلف رزو جمع آوری کرد و الا کافیه چهار نفر با هم بخوان ثبت نام کنند تا سایت ببیاد پایین

باز هم پیشنهاد می کنم به نمونه ای که عرض شد نگاه کنید و تستش کنید اگر هم فیلد دیگه ای لازمه اونرو هم اضافه کنید در قالب یک فیلد جدا

مفهوم فیلد داشتن یک نام و یک ولوه نه بیشتر

به اشتراک گذاری این پست


لینک به پست

مشکلتون اگر ارسال داده باشه که گفته شد

"id نوع عضویت" چی هست؟

به اشتراک گذاری این پست


لینک به پست

کدي شبيه


<?php
if (is_user_logged_in()) {
global $user_ID;?>
<form method="post" action="آدرس اکشن">
<label id="Label1"> گروه برنزي مبلغ 1000 ريال
<input name="vip" type="radio" value="c" />
</label>
<label id="Label1"> گروه نقره اي مبلغ 10000 ريال
<input name="vip" type="radio" value="b" />
</label>
<label id="Label1"> گروه طلايي مبلغ 100000 ريال
<input name="vip" type="radio" value="a" />
</label>
<input name="userid" type="hidden" value="<?php echo $user_ID;?>"/>
<input type="submit" />
</form>
<?php };?>


و در اکشن


<?php
if(isset($_POST['vip'])) {
if($_POST['vip']=='a') :
echo 'گروه طلايي مبلغ 100000 ريال';
else
if($_POST['vip']=='b') :
echo 'گروه نقره اي مبلغ 10000 ريال';
else
echo 'گروه برنزي مبلغ 1000 ريال';
endif;
echo 'شناسه کاربر=' . $_POST['userid'];
};
?>

سلام

اين پلاگين طوري هست که نوع عضويت ها رو کاربر در پنل مديريت وردپرس خودش اضافه ميکنه و به اين روشي که شما گفتيد نميشه پياده کرد.

مشکلتون اگر ارسال داده باشه که گفته شد

"id نوع عضويت" چي هست؟

ببين اصلا من از اين کارها چند تا تصوير ميگيرم تا بيشتر متوجه بشين:

post-2119-0-86476300-1370338458_thumb.jp

اين ليست نوع عضويت هايي که کاربر ايجاد ميکنه

post-2119-0-33104000-1370338454_thumb.jp

اين فرم عضويت و پرداختي که مشترک با اون خودشو تبديل به کاربر vip ميکنه

post-2119-0-06439600-1370338456_thumb.jp

اين فرم بعد از پرداخت موفق هست که نام نوع عضويت در اون نمايش داده نشده يعني اطلاعات فيلد به درستي گرفته نشده

post-2119-0-87844300-1370338463_thumb.jp

اين هم ليست اعضاي vip در پنل مديريت که ID به درستي در query وارد نشده و در نتيجه خالي است

post-2119-0-70486100-1370338950_thumb.jp

این هم تصویر phpmyadmin که مقدار id صفر هست

با توجه به کد هایی که در زیر هست مشکل من رو حل کنید

کد فرم پرداخت:


<script>
function set_pay(pay)
{
document.getElementById('paydiv').innerHTML = "قيمت : "+pay;
}
</script>
<?php
global $wpdb, $table_prefix;

$query = mysql_query("SELECT * FROM {$table_prefix}vip_roles");
while($row = mysql_fetch_assoc($query))
{
// get all data and send
$all_data = $row['ID'].'|'.$row['name'].'|'.$row['credit_required'];
echo "<input type='radio' onclick='set_pay(".$row['credit_required'].")' name='vip_roles' value='".$all_data."'>{$row["name"]}</br>";
}
echo "<div id='paydiv'>قیمت :</div>";
?>

این هم کد اکشن :


if($_POST['submit_payment']) {
if($_POST['user_name'] && $_POST['vip_roles']) {
$data = explode("|", $_POST['vip_roles']);
$vip_role = $data[0];
add_option('vip_roles_' . $current_user->ID, $vip_role);
update_option('vip_roles_' . $current_user->ID, $vip_role);
//=========
$vip_price = $data[2];
add_option('vip_price_' . $current_user->ID, $vip_price);
update_option('vip_price_' . $current_user->ID, $vip_price);
//=========
$vip_name = $data[1];
add_option('vip_name_' . $current_user->ID, $vip_name);
update_option('vip_name_' . $current_user->ID, $vip_name);
}}

این هم کد بعد از پرداخت موفق با user_ID و role_ID کاربر رو در جدول vip_users اضافه میکنه اما انگار role_ID وارد نمیشه


$user_ID = $current_user->ID;
$role_ID = get_option('vip_roles_' . $current_user->ID);
$role_name = get_option('vip_name_' . $current_user->ID);

global $wpdb, $table_prefix;
$check_name = $wpdb->query("SELECT * FROM {$table_prefix}vip_users WHERE username_ID = '".$user_ID."'");
if(!$check_name) {
$check = $wpdb->query("INSERT INTO {$table_prefix}vip_users (ID, username_ID, user_role) VALUES ('".$user_ID."', '".$user_ID."', '".$role_ID."')");
if($check) {
echo "<div class='success-payment'><p>" . sprintf(__('<br /> نوع کاربری شما: %s ', 'wp-vip'), $role_name) . sprintf(__('<br /> شماره رهگيري: %s ', 'wp-vip'), $payline->RefNumber)."</div></p>";
}

ویرایش شده در توسط abolfazln

به اشتراک گذاری این پست


لینک به پست

مشکل شما مشخص نیست

با توجه به پست اول کدها داده شده است

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط behi13
      با سلام
      دوستام و اساتید محترم یک سوال
      من به سایت دوزبانه با افزونه wpml درست کردم الان یک مشکل هست توی گوگل صفحه اول سایت ایندکس شده و توی فارسی مشکلی ندارم
      ولی توی زبان انگلیسی وقتی توی گوگل به انگلیسی سرچ میکنم بازهم با نام و فارسی میاد
      ممنون میشم من و راهنمایی کنید
    • توسط j1989m
      سلام
      توی قسمت افزودن نوشته و از طریق پرونده های رسانه ای یه عکس انتخاب میکنم و منتشر میکنم. توی سایت عکس رو نشون میده اما این کدها رو هم میاره:
      [caption id="attachment_154" align="aligncenter" width="300"] [/caption]
      درواقع عکس بین دوتا caption بالا قرار میگیره.
      این مشکل توی افزودن برگه نیست.
      لطفا راهنمایی کنید
      خیلی فوریه
      ممنون
    • توسط xboby
      سلام،
      من سایتی با ورد پرس طراحی کردم و می خواهم با:
      یک برنامه تمام پستهای موجود در کانال تلگرامی که بنام آن سایت ایجاد کر ده ام را
      بتوانم از موبایلم دانلود کنم و بعد در آن سایت قرار دهم:
      آیا چنان برنامه ای وجود دارد؟ لطفا راهنمائی ام بفرمائید.
                                   متشکرم
    • توسط دکتر مهندس
      سلام
      من چندتا سایت دارم که همه رو وقتی خواستم به وردپرس 4.7 ارتقا بدم، همگی مشکل دار شدند.
      به این صورت که خود سایت باز میشه اما قسمت مدیریت سایت باز نمیشه و لینکهای بخش مدیریت به این صورت میاد: /wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F
       
      توی صفحه هم که میاد اینطوری مینویسه: 
       
      The www......ir page isn’t working
      www.......ir is currently unable to handle this request.
      HTTP ERROR 500
    • توسط hessam75
      سلام
      من یه سایت با غالب be theme طراحی کردم فقط یه مشکل داره اونم اینه که پس زمینه رو پارالاکس انتخاب کردم ولی تو مرورگر internet xplorer پارالاکس نمایش داده نمیشه!
      در ضمن قالبم هم پول دادم از سایت معتبری خریدم ازین دانلودی ها نیست.
      لطفا کمک کنید بتونم رفع اشکال کنم.
      آدرس سایت : senateb.com