
- You are not logged in. | Login
February 19, 2007 12:51 pm
- cplusplus
- Member


Both checkboxes are selected
The task is to have written ‘You’ve selected value 1’ when you select the first value; ‘You’ve selected value 2’ when you select the second one; and finally I’d like to have ‘You’ve selected value 3’ when I select the third value. But when you select 2 or 3 values at once it’s undesirable to have something like ‘You’ve selected value 1’, ‘You’ve selected value 2’ and ‘You’ve selected value 3’. It’s better to have something like ‘You’ve selected value 1, value 2 and value 3’ without duplicating of the common part ‘You’ve selected’. Help, tell me how to do this? I cannot manage it on my own!
Here is my code
<form action="<?php echo $_SERVER['REQUEST_URI']?>" method="post">
<input type=checkbox name="chek[]" value="chek1"> value 1
<input type=checkbox name="chek[]" value="chek2"> value 2
<input type=checkbox name="chek[]" value="chek3"> value 3
<input type="submit" name="submit" value="You’ve selected">
<? if($submit)
{$sel_chek=$_POST['chek'];
for($i=0;$i<count($sel_chek);$i++)
{
if ($sel_chek[$i]=='chek1'){echo "You’ve selected value 1";}
else if ($sel_chek[$i]=='chek2'){echo " You’ve selected value 2"; }
else if ($sel_chek[$i]=='chek3'){echo " You’ve selected value 3";}
}
}?>
</form>
February 19, 2007 12:53 pm
- phppat
- Member


Re: Both checkboxes are selected
Frankly speaking, checkbox is a rather special thing. You’d better look up in the HTML-manual before usage.
PHP monster
February 19, 2007 1:16 pm
- Keeper
- Member


Re: Both checkboxes are selected
var_dump($_POST);
Look what it contains and what these contents are equal to.
You shouldn’t duplicate
{echo "You’ve selected value 1";}And you do duplicate it.
February 19, 2007 1:19 pm
- cplusplus
- Member


Re: Both checkboxes are selected
Generally speaking, it’s just a little example. Maybe it’s not good enough but it’s quite suitable to understand the matter of the case: how to evade such situation when by choosing last two checkboxes you have the common part written twice.
February 19, 2007 1:28 pm
- ABK
- Member


Re: Both checkboxes are selected
Imagine such situation when an alert like this should be shown not to the script but to you personally. Try to write carefully and clearly step-by-step this phrase in a way which seems to you to be the right one. What would you keep in the mind? On what reasons would your choice depend?
February 19, 2007 1:30 pm
- cplusplus
- Member


Re: Both checkboxes are selected
Well. The code should display following meanings
Selecting one of the checkboxes the alert should correspond to the items selected
‘You’ve selected value 1(2)(3)’
Selecting the fist and the second (or the third) ones
‘You’ve selected value 1’
‘You’ve selected value 2 (3)’
Selecting the second and the third value
‘You’ve selected value 2 and value 3’
Selecting all three values
‘You’ve selected value 1’
‘You’ve selected value 2 and value 3’
Something like that.
It means that alert for the first checkbox remains unchangeable.
February 19, 2007 1:33 pm
- bobbee
- Member


Re: Both checkboxes are selected
1) the code should display ‘You’ve selected’ if you have really selected something i.e. massive $_POST['chek'] contains elements
if ( isset($_POST['check']) && sizeof($_POST['check']) ) {
echo "You’ve selected ";
}
$sel_chek=$_POST['check'];2) as far as more than one value is possible you need a separator. The initial meaning of the separator is blank “”. When at least one value selected is found the separator value is changed to “,”
$sep = "";
$pos = strlen("check");
foreach($sel_check as $k => $v) {
echo $sep."value ".substr($v, $pos);
$sep = ", ";
}
February 19, 2007 1:36 pm
- cplusplus
- Member


Re: Both checkboxes are selected
And when the alert for the first checkbox doesn’t begin with ‘You’ve selected’ and you need it only for the second and the third ones. What should you do then?
February 19, 2007 1:40 pm
- Keeper
- Member


Re: Both checkboxes are selected
Maybe you should add
!isset($_POST['check'][1])
to the condition.


