যদি একটি চেকবাক্স পিএইচপিতে চেক করা হয় তবে কীভাবে পড়বেন?
যদি একটি চেকবাক্স পিএইচপিতে চেক করা হয় তবে কীভাবে পড়বেন?
উত্তর:
যদি আপনার এইচটিএমএল পৃষ্ঠাটি দেখতে এমন হয়:
<input type="checkbox" name="test" value="value1">
ফর্মটি জমা দেওয়ার পরে আপনি এটি দিয়ে যাচাই করতে পারেন:
isset($_POST['test'])
অথবা
if ($_POST['test'] == 'value1') ...
on
যখন চেক করা হয় তখন তার মানও থাকতে পারে । সুতরাং সামঞ্জস্যের জন্য এটি কেবল ব্যবহার করা সহজ isset($_POST['checkboxName'])
।
value1
চেকবক্সটি চেক করা থাকলে এই উদাহরণের মান হবে । যদি এটি চেক না করা হয় $_POST['test']
তবে সহজভাবে উপস্থিত থাকত না।
জেন্ড ফ্রেমওয়ার্ক চেকবক্সগুলিতে একটি দুর্দান্ত হ্যাক ব্যবহার করে, যা আপনি নিজেও করতে পারেন:
উত্পন্ন প্রতিটি চেকবক্স চেকবক্সের ঠিক সামনে রাখা একই নামের একটি লুকানো ক্ষেত্রের সাথে এবং "0" মানের সাথে যুক্ত। তারপরে যদি আপনার চেকবক্সটি "1" মান হিসাবে দেখা যায় তবে আপনি সর্বদা ফলাফল প্রাপ্ত জিইটি বা পোস্টে '0' বা '1' মান পাবেন
<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">
input[type="checkbox"]
এর)?
অ্যারে হিসাবে চেকবক্সগুলি ব্যবহার করার সময়:
<input type="checkbox" name="food[]" value="Orange">
<input type="checkbox" name="food[]" value="Apple">
আপনার ব্যবহার করা উচিত in_array()
:
if(in_array('Orange', $_POST['food'])){
echo 'Orange was checked!';
}
অ্যারেটি প্রথমে সেট করা আছে তা পরীক্ষা করে দেখুন:
if(isset($_POST['food']) && in_array(...
foreach ($_POST['food'] as $selected_food)
চেক করা একটিতে কাজ করা দুর্দান্ত, ধন্যবাদ
আপনার চেকবক্সের জন্য আপনার এইচটিএমএল এর মতো হতে দিন
<input type="checkbox" name="check1">
তারপরে আপনার ফর্মটি জমা দেওয়ার পরে আপনার মতো চেক করা দরকার
if (isset($_POST['check1'])) {
// Checkbox is selected
} else {
// Alternate code
}
ধরে check1
নিলে এটি আপনার চেকবক্সের নাম হওয়া উচিত nd এবং যদি আপনার ফর্ম জমা দেওয়ার পদ্ধতিটি হয় GET
তবে আপনার যেমন $_GET
ভেরিয়েবলগুলি পরীক্ষা করা দরকার
if (isset($_GET['check1'])) {
// Checkbox is selected
}
$check_value = isset($_POST['my_checkbox_name']) ? 1 : 0;
আমি বেশ কয়েক বছর ধরে এই কৌশলটি ব্যবহার করে আসছি এবং পিএইচপি এবং ডেটাবেস ব্যবহার করার সময় এটি চেক / চেক করা চেকবক্সের স্থিতির জন্য কোনও সমস্যা ছাড়াই নিখুঁতভাবে কাজ করে।
এইচটিএমএল কোড: (পৃষ্ঠা যুক্ত করার জন্য)
<input name="status" type="checkbox" value="1" checked>
ইঙ্গিত: যদি আপনি এটি ডিফল্টরূপে চেক না করা হিসাবে দেখাতে চান তবে "চেকবক্স" সরান
এইচটিএমএল কোড: (সম্পাদনা পৃষ্ঠার জন্য)
<input name="status" type="checkbox" value="1"
<?php if ($row['status'] == 1) { echo "checked='checked'"; } ?>>
পিএইচপি কোড: (অ্যাড / সম্পাদনা পৃষ্ঠাগুলির জন্য ব্যবহার করুন)
$status = $_POST['status'];
if ($status == 1) {
$status = 1;
} else {
$status = 0;
}
ইঙ্গিত: ব্যবহারকারীরা এটি পরীক্ষা না করে সর্বদা খালি মূল্য থাকবে। সুতরাং, ইতিমধ্যে এটি ধরার জন্য আমাদের কাছে পিএইচপি কোড রয়েছে অন্যটি মান 0 রাখুন Then
একটি চেকবক্স চেক করা হয়েছে কিনা তা পরীক্ষা করতে খালি () ব্যবহার করুন
ফর্মটি জমা দেওয়ার পরে, চেকবক্সটি সর্বদা সেট হয়ে যাবে কারণ সমস্ত পোস্টের ভেরিয়েবলগুলি ফর্মের সাথে প্রেরণ করা হবে।
নিম্নলিখিত হিসাবে খালি দিয়ে চেকবক্স চেক করা হয়েছে কিনা তা পরীক্ষা করুন:
//Check if checkbox is checked
if(!empty($_POST['checkbox'])){
#Checkbox selected code
} else {
#Checkbox not selected code
}
আপনার ফর্মের ক্রিয়াটির উপর নির্ভর করে আপনি value _POST বা $ _GET অ্যারেতে নির্ধারিত ও খালি নয় হিসাবে সম্পর্কিত মানটি পরীক্ষা করতে পারেন।
অর্থাত: একটি name
"পরীক্ষার" ব্যবহার করে একটি পোষ্ট ফর্ম সহ (যেমন: <input type="checkbox" name="test">
আপনি ব্যবহার করতে চান:
if(isset($_POST['test']) {
// The checkbox was enabled...
}
isset
"ফাংশন" কোনটি অন্তর্নির্মিত তা সম্পর্কে জানুন যদি কোনও ভেরিয়েবল ব্যবহার করা হয়েছে বা সেট করা হয়েছে কিনা তা বিবৃতিতে বিবৃতি ব্যবহার করা যেতে পারে
উদাহরণ:
if(isset($_POST["testvariabel"]))
{
echo "testvariabel has been set!";
}
ঠিক আছে, উপরোক্ত উদাহরণগুলি কেবল তখনই কাজ করে যখন আপনি কোনও মান সন্নিবেশ করতে চান, বিভিন্ন কলামে বিভিন্ন মান আপডেট করার জন্য দরকারী না, তাই আপডেট করার জন্য আমার এখানে ছোট কৌশলটি:
//EMPTY ALL VALUES TO 0
$queryMU ='UPDATE '.$db->dbprefix().'settings SET menu_news = 0, menu_gallery = 0, menu_events = 0, menu_contact = 0';
$stmtMU = $db->prepare($queryMU);
$stmtMU->execute();
if(!empty($_POST['check_menus'])) {
foreach($_POST['check_menus'] as $checkU) {
try {
//UPDATE only the values checked
$queryMU ='UPDATE '.$db->dbprefix().'settings SET '.$checkU.'= 1';
$stmtMU = $db->prepare($queryMU);
$stmtMU->execute();
} catch(PDOException $e) {
$msg = 'Error: ' . $e->getMessage();}
}
}
<input type="checkbox" value="menu_news" name="check_menus[]" />
<input type="checkbox" value="menu_gallery" name="check_menus[]" />
....
গোপনীয়তা হ'ল প্রথমে সমস্ত ভ্যালু আপডেট করা হয় (এই ক্ষেত্রে 0 তে), এবং যেহেতু কেবলমাত্র পরীক্ষিত মানগুলি প্রেরণ করবে, তার অর্থ আপনি যা পেয়েছেন তা 1 তে সেট করা উচিত, তাই আপনি যা কিছু সেট করেন তা 1 এ সেট করা থাকে।
উদাহরণ পিএইচপি তবে সমস্ত কিছুর জন্য প্রযোজ্য।
আনন্দ কর :)
আপনি সংক্ষেপে এটি করতে পারেন যদি:
$check_value = isset($_POST['my_checkbox_name']) ? 1 : 0;
বা নতুন পিএইচপি 7 সহ Null coalescing operator
$check_value = $_POST['my_checkbox_name'] ?? 0;
$is_checked = isset($_POST['your_checkbox_name']) &&
$_POST['your_checkbox_name'] == 'on';
শর্ট সার্কিট মূল্যায়ন যত্ন নেবে যাতে your_checkbox_name
এটি জমা দেওয়া না হলে আপনি অ্যাক্সেস করতে পারেন না ।
স্যুইচ অবস্থান ধরে রাখার সাথে একটি নমনীয় বুলিয়ান চেক
<?php
$checked = ($_POST['foo'] == ' checked');
?>
<input type="checkbox" name="foo" value=" checked"<?=$_POST['foo']?>>
<?php
if (isset($_POST['add'])) {
$nama = $_POST['name'];
$subscribe = isset($_POST['subscribe']) ? $_POST['subscribe'] : "Not Checked";
echo "Name: {$nama} <br />";
echo "Subscribe: {$subscribe}";
echo "<hr />";
}
?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST" >
<input type="text" name="name" /> <br />
<input type="checkbox" name="subscribe" value="news" /> News <br />
<input type="submit" name="add" value="Save" />
</form>
BS3 এ আপনি রাখতে পারেন
<?php
$checked="hola";
$exenta = $datosOrdenCompra[0]['exenta'];
var_dump($datosOrdenCompra[0]['exenta']);
if(isset($datosOrdenCompra[0]['exenta']) and $datosOrdenCompra[0]['exenta'] == 1){
$checked="on";
}else{
$checked="off";
}
?>
<input type="checkbox" id="exenta" name="exenta" <?php echo $checked;?> > <span class="label-text"> Exenta</span>
দয়া করে এর ব্যবহারটি নোট করুনisset($datosOrdenCompra[0]['exenta'])
ওয়ার্ডপ্রেসের checked()
ফাংশন রয়েছে। তথ্যসূত্র: https://developer.wordpress.org/references/funitions/checked/
checked( mixed $checked, mixed $current = true, bool $echo = true )
বিবরণ প্রথম দুটি আর্গুমেন্ট এবং যদি পরীক্ষিত হিসাবে অভিন্ন চিহ্ন তুলনা করে
প্যারামিটারগুলি $ পরীক্ষিত (মিশ্রিত) (প্রয়োজনীয়) তুলনা করার মানগুলির মধ্যে একটি
$ বর্তমান (মিশ্র) (ptionচ্ছিক) (সত্য) অন্য মানটি যদি সত্য হয় না তবে তুলনা করার জন্য ডিফল্ট মান: সত্য
cho প্রতিধ্বনি (bool) (ptionচ্ছিক) প্রতিধ্বনি করতে হবে বা কেবল স্ট্রিংটি ফিরিয়ে আনুন ডিফল্ট মান: সত্য
# রিটার্ন (স্ট্রিং) এইচটিএমএল বৈশিষ্ট্য বা খালি স্ট্রিং ফিরে আসুন
<?php
if(isset($_POST['nameCheckbox'])){
$_SESSION['fr_nameCheckbox'] = true;
}
?>
<input type="checkbox" name="nameCheckbox"
<?php
if(isset($_SESSION['fr_nameCheckbox'])){
echo 'checked';
unset($_SESSION['fr_nameCheckbox']);
}
?>