Checkbox in php formulier
Pagina: « vorige 1 2 3 volgende »
Karel chakar op 04/08/2010 19:20:29:
Op regel 3 zie ik geen isset().
Gewijzigd op 05/08/2010 20:10:29 door - SanThe -
[code
Code (php)
Is het dan zo juist, of moet ook het uitroepteken voor isset staan ?
Kan je de code even niet aanpassen zou het appreciëren
Alvast bedankt.
Gewijzigd op 05/08/2010 20:22:40 door karel chakar
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
De eerste regel van mijn code is toch juist hé ?
Code (php)
Kan het anderes zijn dat het iets te maken heeft met Chaptcha , mijn formulier gebruikt dit nammelijk. Hieronder de code van het Captcha gedeelte.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php if($cfg['CAPTCHA'])
{
$code = $_POST['code'];
}
if(empty($naam) || (strlen($naam) < 3) || eregi("[<>]", $naam) )
{
$aFout[] = "Er is geen naam ingevuld.";
unset($naam);
$fout['text']['naam'] = TRUE;
$fout['input']['naam'] = TRUE;
}
if(empty($email))
{
$aFout[] = "Er is geen e-mail adres ingevuld.";
unset($email);
$fout['text']['email'] = TRUE;
$fout['input']['email'] = TRUE;
}
elseif(checkmail($email) == 0)
// Wanneer je PHP 5.2 > gebruikt
//elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$aFout[] = "Er is geen correct e-mail adres ingevuld.";
unset($email);
$fout['text']['email'] = TRUE;
$fout['input']['email'] = TRUE;
}
if($cfg['CAPTCHA'])
{
if(strtoupper($code) != $_SESSION['captcha_code'])
{
$aFout[] = "Er is geen correcte code ingevuld.";
$fout['text']['code'] = TRUE;
$fout['input']['code'] = TRUE;
}
}
if(!empty( $aFout ))
{
$errors = '
<div id="errors">
<ul>';
foreach($aFout as $sFout)
{
$errors .= " <li>".$sFout."</li>\n";
}
$errors .= "</ul>
</div>";
}
else ?>
{
$code = $_POST['code'];
}
if(empty($naam) || (strlen($naam) < 3) || eregi("[<>]", $naam) )
{
$aFout[] = "Er is geen naam ingevuld.";
unset($naam);
$fout['text']['naam'] = TRUE;
$fout['input']['naam'] = TRUE;
}
if(empty($email))
{
$aFout[] = "Er is geen e-mail adres ingevuld.";
unset($email);
$fout['text']['email'] = TRUE;
$fout['input']['email'] = TRUE;
}
elseif(checkmail($email) == 0)
// Wanneer je PHP 5.2 > gebruikt
//elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$aFout[] = "Er is geen correct e-mail adres ingevuld.";
unset($email);
$fout['text']['email'] = TRUE;
$fout['input']['email'] = TRUE;
}
if($cfg['CAPTCHA'])
{
if(strtoupper($code) != $_SESSION['captcha_code'])
{
$aFout[] = "Er is geen correcte code ingevuld.";
$fout['text']['code'] = TRUE;
$fout['input']['code'] = TRUE;
}
}
if(!empty( $aFout ))
{
$errors = '
<div id="errors">
<ul>';
foreach($aFout as $sFout)
{
$errors .= " <li>".$sFout."</li>\n";
}
$errors .= "</ul>
</div>";
}
else ?>
Gewijzigd op 06/08/2010 09:13:16 door karel chakar
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
echo '<form action="" method="POST">';
echo '<input type="checkbox" name="deadline1" value="Ja" ' . (isset($_POST['deadline1']) ? 'checked="checked"' : '') . ' />';
echo '<input type="submit" name="Submit" value="Verzenden">';
echo '</form>';
if (isset($_POST['deadline1']))
{ echo 'Checkbox is checked'; }
else
{ echo 'Checkbox is NOT checked'; }
?>
echo '<form action="" method="POST">';
echo '<input type="checkbox" name="deadline1" value="Ja" ' . (isset($_POST['deadline1']) ? 'checked="checked"' : '') . ' />';
echo '<input type="submit" name="Submit" value="Verzenden">';
echo '</form>';
if (isset($_POST['deadline1']))
{ echo 'Checkbox is checked'; }
else
{ echo 'Checkbox is NOT checked'; }
?>
Bovenstaande werkt (in FF)
Je geeft niet aan wat je notice-melding is.
De fotmelding: Notice: Undefined index
Is het probleem niet dat ik ergens aan de variabel moet zeggen dat het hier om een checkbox gaat ?
Gewijzigd op 06/08/2010 09:42:33 door karel chakar
Is die Notice wel van dat stukje?
Oftewel kijk je wel op de juiste regel?
Dus moet het iets te maken hebben met de rest van het document ?
Misschien dan toch de Captcha ? Kon je de code even bekijken ?
Quote:
Notice: Undefined index
Wat is het eerste woord dat daarachter staat?
By the way, klein ander vraagje dit zijn checkboxes onder elkaar, ik wens deze achter elkaar, hoe doe je dit ?
Karel chakar op 06/08/2010 12:14:59:
Tja, index dus.
Dus er staat Notice: Undefined index index ...
Als dat zo is dan zit je naar de verkeerde regel te kijken.
Karel chakar op 06/08/2010 12:14:59:
Dit zijn geen checkboxen. Dit zijn array()'s.
Dus dit zijn array's die op mijn pagina de chackboxen weergeven. Op mijn pagina worden deze dus onder elkaar weergegeven en ik wens ze achter elkaar.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<li class='field_block' id='field_16_div'><div class='col_label'>
<label class='form_field'>Wanneer is je deadline(Deadline) ?</label> <label class='form_required' > </label> </div>
<div class='col_field'>
<?php phpfmg_checkboxes( 'field_16', "1 maand|2 maand|3 maand|Geen deadline|andere" );?>
<div id='field_16_tip' class='instruction'></div>
</div>
</li>
<label class='form_field'>Wanneer is je deadline(Deadline) ?</label> <label class='form_required' > </label> </div>
<div class='col_field'>
<?php phpfmg_checkboxes( 'field_16', "1 maand|2 maand|3 maand|Geen deadline|andere" );?>
<div id='field_16_tip' class='instruction'></div>
</div>
</li>
Gewijzigd op 06/08/2010 12:32:36 door - SanThe -
Code (php)
1
2
2
<?php function phpfmg_checkboxes( $name, $options, $isReturn = false ){
return phpfmg_choice( 'checkbox', $name, $options, $isReturn );?>
return phpfmg_choice( 'checkbox', $name, $options, $isReturn );?>
Gewijzigd op 06/08/2010 12:36:38 door karel chakar
Nu moet je weer in phpfmg_choice kijken.
Hierbij de code.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php function phpfmg_choice( $type, $name, $options, $isReturn = false ){
$radios = array();
$list = explode( '|', $options );
if( is_array($list) ){
$i = 0 ;
foreach( $list as $opt ){
//$value = HtmlSpecialChars( $opt );
$o = phpfmg_parse_option( $opt );
$id = "{$name}_{$i}";
$newname = 'checkbox' == $type ? "Checkbox" . substr("00".($i+1), strlen("00".($i+1))-2,2) . "_" . $name : $name;
if( isset($_POST['formmail_submit']) ){
$checked = $o['value'] == $_POST[ $newname ] ? 'checked' : '' ;
}else{
$checked = $o['default'] ? 'checked' : '' ;
};?></code]
$radios = array();
$list = explode( '|', $options );
if( is_array($list) ){
$i = 0 ;
foreach( $list as $opt ){
//$value = HtmlSpecialChars( $opt );
$o = phpfmg_parse_option( $opt );
$id = "{$name}_{$i}";
$newname = 'checkbox' == $type ? "Checkbox" . substr("00".($i+1), strlen("00".($i+1))-2,2) . "_" . $name : $name;
if( isset($_POST['formmail_submit']) ){
$checked = $o['value'] == $_POST[ $newname ] ? 'checked' : '' ;
}else{
$checked = $o['default'] ? 'checked' : '' ;
};?></code]
Gewijzigd op 06/08/2010 12:42:21 door karel chakar
Dit is een halve functie.
Opnieuw:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php function phpfmg_choice( $type, $name, $options, $isReturn = false ){
$radios = array();
$list = explode( '|', $options );
if( is_array($list) ){
$i = 0 ;
foreach( $list as $opt ){
//$value = HtmlSpecialChars( $opt );
$o = phpfmg_parse_option( $opt );
$id = "{$name}_{$i}";
$newname = 'checkbox' == $type ? "Checkbox" . substr("00".($i+1), strlen("00".($i+1))-2,2) . "_" . $name : $name;
if( isset($_POST['formmail_submit']) ){
$checked = $o['value'] == $_POST[ $newname ] ? 'checked' : '' ;
}else{
$checked = $o['default'] ? 'checked' : '' ;
};
//$radios[] = "<input type='{$type}' name='{$newname}' id='{$id}' value=\"{$o['value']}\" {$checked} class='form_{$type}' ><label class='form_{$type}_text' onclick=\"fmgHandler.choice_clicked('{$id}');\" onmouseover=\"this.className='form_{$type}_text form_choice_over';\" onmouseout=\"this.className='form_{$type}_text form_choice_out';\">{$o['text']}</label><br />";
$labelLeft = ''; //0 == $i ? '' : "<div class='form_field'> </div><div class='choice'> </div>" ; // spacer for text algin left
$radios[] = "{$labelLeft}<input type='{$type}' name='{$newname}' id='{$id}' value=\"{$o['value']}\" {$checked} class='form_{$type}' ><label class='form_choice_text' for='{$id}'>{$o['text']}</label><br>";
$i ++ ;
};
};
$s = join("\t\n",$radios);
//$s = "<div class='choices'>$s</div>";
if( $isReturn )
return $s;
else
echo $s ;
}
?>
$radios = array();
$list = explode( '|', $options );
if( is_array($list) ){
$i = 0 ;
foreach( $list as $opt ){
//$value = HtmlSpecialChars( $opt );
$o = phpfmg_parse_option( $opt );
$id = "{$name}_{$i}";
$newname = 'checkbox' == $type ? "Checkbox" . substr("00".($i+1), strlen("00".($i+1))-2,2) . "_" . $name : $name;
if( isset($_POST['formmail_submit']) ){
$checked = $o['value'] == $_POST[ $newname ] ? 'checked' : '' ;
}else{
$checked = $o['default'] ? 'checked' : '' ;
};
//$radios[] = "<input type='{$type}' name='{$newname}' id='{$id}' value=\"{$o['value']}\" {$checked} class='form_{$type}' ><label class='form_{$type}_text' onclick=\"fmgHandler.choice_clicked('{$id}');\" onmouseover=\"this.className='form_{$type}_text form_choice_over';\" onmouseout=\"this.className='form_{$type}_text form_choice_out';\">{$o['text']}</label><br />";
$labelLeft = ''; //0 == $i ? '' : "<div class='form_field'> </div><div class='choice'> </div>" ; // spacer for text algin left
$radios[] = "{$labelLeft}<input type='{$type}' name='{$newname}' id='{$id}' value=\"{$o['value']}\" {$checked} class='form_{$type}' ><label class='form_choice_text' for='{$id}'>{$o['text']}</label><br>";
$i ++ ;
};
};
$s = join("\t\n",$radios);
//$s = "<div class='choices'>$s</div>";
if( $isReturn )
return $s;
else
echo $s ;
}
?>
Dus
$s = join("\t\n",$radios);
wordt
// $s = join("\t\n",$radios);
Neen dat is het niet ! Als ik dat doe dan zijn al de chackboxes niet meer te zien (alles weg dus)