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

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

0

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


لینک به پست

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

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

2

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


لینک به پست

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

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

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

مثال:

5000|2|blue

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

3

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


لینک به پست

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

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

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

مثال:

5000|2|blue

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

سلام

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

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

تشکر.

0

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


لینک به پست

سلام

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


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

تشکر

0

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


لینک به پست

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

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

1

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


لینک به پست

من فکر می کنم فرمتون یک ایراد داره یا من درست متوجه نشدم یک فیلد معمولا دارای یک ثابت و یک متغیره تا بتونه فیلد باشه ثابت فیلد هم که نیازی به ارسال نداره کافیه متغییر یا 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['نام فرم']

0

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


لینک به پست

ارسال شده در (ویرایش شده)

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

باید بنویسید


$_post['dataform']

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

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

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

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


لینک به پست

سلام

سه تا رادیو باتن , باید یک نام داشته باشند با 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

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

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

0

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


لینک به پست

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

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

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


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

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

1

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


لینک به پست

سلام

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

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


1|طلایی|50000

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

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

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

0

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


لینک به پست

کدی شبیه


<?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'];
};
?>

3

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


لینک به پست

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

3

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


لینک به پست

سلام

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

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


<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>";
}

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

0

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


لینک به پست

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

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

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

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

2

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


لینک به پست

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

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

2

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


لینک به پست

ارسال شده در (ویرایش شده)

کدي شبيه


<?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
0

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


لینک به پست

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

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

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط رضا مهدیار
      سلام دوستان
      گروه ما برای بخش سایت و مدیریت رسانه های اجتماعی با یک فرد با انگیزه تمایل همکاری داره، رسانه ما در زمینه فینتک و اقتصاد هستش ممنون میشم از دوستان اگر  خودتون تمایل دارید یا کسی رو میشناسید معرفی کنید ممنونم
    • توسط marketdl.com@gmail.com
      با سلام. وقت همگی بخیر
      بنده یه قالب فروشگاهی رو طراحی کردم. الان بخش سبد خرید ، عضویت و لاگین و کدتخفیف مشکل داره
      بخش سبد خرید : وقتی کاربر لاگین باشه سبد خرید به درستی کار میکنه، اما وقتی لاگین نباشه نمیتونه 2 تا محصول به سبد اضافه کنه. آدرس سایت هم androidsrc.ir هستش. خودتون تست کنید.
      بخش عضویت و لاگین : بخش عضویت درسته و اطلاعات کاربر پس از عضویت داخل دیتابیس ذخیره میشه، اما توی بخش کاربران وردپرس نمیاد. لاگین هم اصلا کار نمیکنه
      بخش کدتخفیف هم اصلا کار نمیکنه
       
      درضمن سایت بنده قبلا قالبش یه چیز دیگه بود و وردپرس نسخه پایین روش نصب بود، به خاطر اینکه نمی شد وردپرس رو آپدیت کنم، مجبور شدن قالب جدید طراحی کنم تا با وردپرس و ووکامرس جدید همخونی داشته باشه. یه سری اطلاعات از قبل مصل محصول و پست و کاربر وجود داشته. و الان این مشکلات به وجود اومده
      هر کسی میتونه مشکل رفع کنه بنده هزینش رو پرداخت میکنم
    • توسط masoudmosleh267
      سلام دوستان. من یه سایتی رو از بکاپ گرفتم و از یه هاست و دامنه به یه هاست و دامنه جدید انتقال دادم. حالا چه سایت رو که باز میکنم چه وارد پیشخوان وردپرس میشم یه ارور میاد یکی از خطلی functions.php قالب رو نشون میده.
      Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /public_html/wp-content/themes/khadamator/functions.php on line 1132
      مشکل چیه؟
    • توسط amirsa
      سلام
      من محصولات متغیر رو در ووکامرس که وارد میکنم،(محصول ممکنه 2 یا 3 صفت داره که باید انتخاب بشه)
       توی فروشگاه ووکامرس بصورت حد اقل و حداکثر قیمت ها نشون داده میشه
      مثلا کالا دونوع 10 و  20 تومانی هست.صفت آ 15 تومن برای مشتری هایی که بخوان.تو فروشگاه قیمت رو بصورت 10-35 نشون میده که بیشتر از قیمت اصلی است.من میخوام همون 10 و 20 رو نشون بده
      این مشکل انرژی زیادی ازم گرفته ممنون میشم راهنماییم کنید 
    • توسط arianemun
      سلام عرض ادب به کاربران وردپرس پارسی ، من یک مشکلی دارم در افزونه ای ، افزونه woocomerce product finder یک افزونه ای است طبق تنظیمات و چیز هایی که برای محصول ووکامرسی تعریف میکنیم با انتخواب گزینه ها توسط کاربر محصول مورد نظر خودش رو پیدا میکنه، تنها مشکلی که این افزونه یا میشه گفت ضعفی که داره تفاوت محصول برجسته رو با محصول ساده متوجه نمیشه یعنی اگر تو اون دسته یک محصول برجسته باشه و یک محصول ساده اون ها رو از هم تفکیک نمیکنه من میخواستم این قابلیت رو به این افزونه اضافه کنم که کاربر وقتی محصولش رو پیدا کرد هم محصول ساده ها رو ببینه و محصول برجسته شده ! ممنون میشم کمک کنید .
       
      لینک افزونه استفاده شده