نحوه کار کردن با چک باکسها

reza_pa48

Active Member
سلام
من توی یه صفحه html چند تا چک باکس دارم که کدشون به این فرمه.
کد:
<input type="checkbox" name="C1" value="ON">
<input type="checkbox" name="C2" value="ON">
<input type="checkbox" name="C3" value="ON">
<input type="checkbox" name="C4" value="ON">
<input type="checkbox" name="C5" value="ON">
خوب من می خوام که وقتی توی این صفحه یک یا چند تاش انتخاب شد. این بره در فایل بعدی php که با متد پست می فرستم پردازش بشه (مثلا اگه یکی انتخاب شد فلان کارو بکنه و یا اگه دو تا انتخاب شد و......) حالا مشکلی که دارم اینه که چطور توی اون فایل php بفهمم که چند تا و یا کدومشون انتخاب شده. مثلا من می دونم که برای فرستادن متغیر text داخل باکس می شه از این کد استفاده کرد
کد:
$sum=$POST[PASCAL']
وبعد می شه باهاش کار کرد ولی در مورد چک باکسا نمی دونم
کمک کنید ممنون می شم.
 

jalilvand

Member
میتونی از یه حلقه استفاده کنی:
PHP:
for ($i=0;$i<5;$i++)
{
if($_POST['C'.$i]=='ON' && $i==3) // do something
// age Ci check shode bood o i ye chizi bood
}
 
آخرین ویرایش:

I.NoBody

Active Member
بهتره كدتو اينجوري كني:
کد:
<input type="checkbox" name="C[1]" value="ON">
<input type="checkbox" name="C[2]" value="ON">
<input type="checkbox" name="C[3]" value="ON">
<input type="checkbox" name="C[4]" value="ON">
<input type="checkbox" name="C[5]" value="ON">
حالا تو صفحه مقصدت يه آرايه به نام $_POST['C'] داري.
مي توني با دستور foreach يا while هر كاري مي خواي بكني
 

reza_pa48

Active Member
سلام
من این کارو کردم یعنی کدامو بصورت زیر نوشتم.
کد:
<input type="checkbox" name="C[1]" value="ON">
بعدش اومدم در صفحه مقصد php این کدو نوشتم.
کد:
<?php

for ($i=0;$i<15;$i++)
{
if($_POST['C'.$i]=='ON')
 $t=$t+1;
 }
 echo $t;
echo "hi";
?>
توضیح اینکه این چک باکسا 15 تا هستند.ولی من هر چند تا که از چک باکسا توی صفحه html انتخاب می کنم . تنها چیزی که print میشه hi هست. یعنی هیچ چیز برای متغیر $t چاپ نمی شه. اگه ممکنه بگین اشتباهم کجاست.
با تشکر.
 

Ray9.net

Member
HTML:
<input type="checkbox" name="C1" value="ON">
<input type="checkbox" name="C2" value="ON">
<input type="checkbox" name="C3" value="ON">
<input type="checkbox" name="C4" value="ON">
<input type="checkbox" name="C5" value="ON">

اگر كد هاي بالا را داشته باشيم
از كد php زير استفاده مي كنيم
PHP:
<?php
$ca = $_POST['c1'];
$cb = $_POST['c2'];
$cc = $_POST['c3'];
$cd = $_POST['c4'];
$ce = $_POST['c5'];
// faghad on bashad
if ($ca == 'ON'){
echo "Hamed";
}
// agar on bood ye payam agar nabood yek payam digha
if ($cb == 'ON'){
echo "Hamed";
}
else {
echo "Hamed";
}
// kamel on nabashad
if ($cc != 'ON'){
echo "Reza";
}
?>
اين طوري استفاده كن چون ممكنه عملي كه براي هر كدام بخواهي انحام بدهيد فرق كند مثلا" براي اولي بخواهي فقط بنويسه حامد دومي اگر ON بود بنويسه حامد اگر نبود رضا و سومي اگر ON بود هيچي ننويسه !

علاوه برا آن زماني از for each استفاده مي كنند كه نتوانند گزينه ها بشمارند و باهاشه همه يك كار انجام بدهند اگر قرار باشه تيك ها همه يك كار انجام بدهند خوب اين كه نشده آدم گونه چه 100 تا باشه چه يكي همه يك كار انجام مي دهند!!!!
 

I.NoBody

Active Member
كد تصحيح شده :
کد:
<?php
$t=0;
for ($i=0;$i<15;$i++)
{
if($_POST['C'][$i]=='ON')
$t++;
 }
 echo $t;
echo "hi";
?>
 

reza_pa48

Active Member
سلام
ببخشید که بعد این همه مدت جواب می دم
ممنون درست شد.
از همون کاری که توی پست 3 گفتی انجام دادم. منها اندیسهاشو از صفر گذاشتم و کارم راه افتاد
 

جدیدترین ارسال ها

بالا