Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Php checkbox en radio issues

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

  • Dekaasboer
  • Registratie: Augustus 2003
  • Laatst online: 21:23
Beste mede GOT ters

Ik loop nu toch echt vast met men website'tje.

Ik heb een pagina met een formulier er op. Dit was een standaard formulier die ik aan heb gepast. Hij werkt ook prima op de checkbox en de radio bolletjes na.

Alle texten krijg ik netjes in mijn e-mail. Maar alles wat er in de boxes gebeurd komt niet door.

Code html {onnodige stukken verwijderd):

code:
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
<tr><td>
<INPUT TYPE="radio" NAME="Aanhef[]" VALUE="Heer">De heer
<INPUT TYPE="radio" NAME="Aanhef[]" VALUE="Mevrouw">Mevrouw
</td></tr>
<tr><td>Naam:</td><td><input type="text" name="name" size="25" /></td></tr>
<tr><td>Naam organisatie:</td><td><input type="text" name="naamorganisatie" size="25" /></td></tr>
<tr><td>Plaats/ Gemeente:</td><td><input type="text" name="plaats" size="25" /></td></tr>
<tr><td>Telefoonnummer:</td><td><input type="text" name="telefoon" size="25" /></td></tr>
<tr><td>E-mailadres:</td><td><input type="text" name="email" size="25" /></td></tr>


<tr>
<td colspan="2">
Uw bericht:<br />
<textarea rows="5" cols="45" name="comments"></textarea>
</td>
</tr>
</table>

<table border="0" cellpadding="5" cellspacing="0" summary="feedback form">
<td><input type="checkbox" name="Abonnement[]" value="Ja">Houd mij op de hoogte van WENS media per e-mail</td>
</table>

<table border="0" cellpadding="5" cellspacing="0" summary="feedback form">
<tr>
<td align="center" colspan="2">
<input type="submit" value="Verstuur" /><br />
</td>
</tr>
</table>
</form>


Het php gedeelte (onnodige stukken verwijderd):
code:
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
$headersep = (!isset( $uself ) || ($uself == 0)) ? "\r\n" : "\n" ;
$aanhef = $_POST['aanhef'] ;
$name = $_POST['name'] ;
$naamorganisatie = $_POST['naamorganisatie'] ;
$plaats = $_POST['plaats'] ;
$telefoon = $_POST['telefoon'] ;
$email = $_POST['email'] ;
$comments = $_POST['comments'] ;
$http_referrer = getenv( "HTTP_REFERER" );

if (!isset($_POST['email'])) {
    header( "Location: $formurl" );
    exit ;
}
if (empty($name) || empty($email) || empty($comments)) {
   header( "Location: $errorurl" );
   exit ;
}
if ( ereg( "[\r\n]", $name ) || ereg( "[\r\n]", $email ) ) {
    header( "Location: $errorurl" );
    exit ;
}

if (get_magic_quotes_gpc()) {
    $comments = stripslashes( $comments );
}

$messageproper =

    "This message was sent from:\n" .
    "$http_referrer\n" .
    "------------------------------------------------------------\n" .
    "Aanhef: $aanhef\n" .
    "Naam: $name\n" .
    "Naam organisatie: $naamorganisatie\n" .
    "Plaats: $plaats\n" .
    "Telefoon: $telefoon\n" .
    "e-mail adres: $email\n" .
    "Nieuwsbrief: $abonnement\n" .
    "------------------------- COMMENTS -------------------------\n\n" .
    $comments .
    "\n\n------------------------------------------------------------\n" ;

mail($mailto, $subject, $messageproper,
    "From: \"$name\" <$email>" . $headersep . "Reply-To: \"$name\" <$email>" . $headersep . "X-Mailer: chfeedback.php 2.08" );
header( "Location: $thankyouurl" );
exit ;

?>


Weet iemand hoe ik ervoor zorg dat checkboxes en radio bol keuzes ook netjes in het lijstje in de mail terechtkomen?

Ik heb geprobeerd het zelf uit te volgelen door tutorials te lezen. Maar daar heeft nooit iemand het over checkboxes ed. En ik heb helaas niet zo gevorderd dat ik het zelf uit kan vogelen.

Ps. Ik heb even een test-pagina online gezet:
http://www.eenink.eu/sales/form.html

http://axrotterdam.blogspot.nl


  • MsG
  • Registratie: November 2007
  • Laatst online: 00:44

MsG

Forumzwerver

Volgens mij komt het door de rare namen als: Abonnement[] kan dat wel gewoon in html? Moeten die haken per sé in jouw script? Doe eens zonder.

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


  • RAJH
  • Registratie: Augustus 2001
  • Niet online
Je haalt nergens de $_POST['Abonnement'] op, maar je gebruikt wel de $abonnement var. En deze is zover ik kan zien NULL.

En als je gebruik maakt van Aanhef[] wordt de value van die checkbox/radio button in een array gezet, namelijk $_POST['Aanhef'][0]

[ Voor 40% gewijzigd door RAJH op 19-12-2007 14:42 ]


  • Dekaasboer
  • Registratie: Augustus 2003
  • Laatst online: 21:23
Ik krijg juist te horen dat dat erbij moest als je php gebruikt. Anders zou alleen de laatste checkbox uitgelezen worden. Met cgi zou het geen probleem zijn, maar dat ondersteurd de hosting niet.

Ikheb het al wel zonder de haakjes geprobeerd hoor.
RAJH schreef op woensdag 19 december 2007 @ 14:40:
Je haalt nergens de $_POST['Abonnement'] op, maar je gebruikt wel de $abonnement var. En deze is zover ik kan zien NULL.

En als je gebruik maakt van Aanhef[] wordt de value van die checkbox/radio button in een array gezet, namelijk $_POST['Aanhef'][0]
$_POST['Abonnement'] ophalen toegevoegd.

Alleen dat over die aray snap ik niet helemaal. ik heb nu met en zonder die haakjes geprobeerd. En beide geven geen correcte e-mail door.

[ Voor 52% gewijzigd door Dekaasboer op 19-12-2007 14:48 ]

http://axrotterdam.blogspot.nl


  • MsG
  • Registratie: November 2007
  • Laatst online: 00:44

MsG

Forumzwerver

Ik deed het in mijn form gewoon zo:

<input type="radio" name="abonnement" value="Ja" />
<input type="radio" name="abonnement" value="Nee" />

en dan doe je inderdaad $_POST['abonnement']; en die haalt dan of Ja of Nee op, afhankelijk van het geselecteerde rondje.

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


  • Dekaasboer
  • Registratie: Augustus 2003
  • Laatst online: 21:23
MsG schreef op woensdag 19 december 2007 @ 14:47:
Ik deed het in mijn form gewoon zo:

<input type="radio" name="abonnement" value="Ja" />
<input type="radio" name="abonnement" value="Nee" />

en dan doe je inderdaad $_POST['abonnement']; en die haalt dan of Ja of Nee op, afhankelijk van het geselecteerde rondje.
Die zelfde methode heb ik bij de bovenste radio buttons ook toegepast, misschien gooit die checkbox wel roet in het eten. Eens even proberen.

http://axrotterdam.blogspot.nl


  • MsG
  • Registratie: November 2007
  • Laatst online: 00:44

MsG

Forumzwerver

Nu krijg je trouwens gewoon het resultaat terug van de aangekliktheid, maar je wilt ze echt weer als rondjes in je mail? Of gewoon alleen de antwoorden opzich?

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


  • Dekaasboer
  • Registratie: Augustus 2003
  • Laatst online: 21:23
Het maakt me niet zoveel uit hoe het eterug komt in de mail.

Nu krijg ik:

This message was sent from:http://www.eenink.eu/sales/form.html
------------------------------------------------------------
Aanhef:
Naam: test
Naam organisatie: test
Plaats: test
Telefoon: test
mail adres: tes
Abonnement:

------------------------- COMMENTS -------------------------
test

------------------------------------------------------------

Hij laat de aanhef blank

http://axrotterdam.blogspot.nl


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 00:01

TeeDee

CQB 241

Weet niet of PHP case-sensitive is maar
PHP:
1
$aanhef = $_POST['aanhef'] ;

is anders als
HTML:
1
<INPUT TYPE="radio" NAME="Aanhef[]" VALUE="Heer">

Even buiten beschouwing gelaten of je het als array dient uit te lezen of niet.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • RAJH
  • Registratie: Augustus 2001
  • Niet online
Hieronder een simpel voorbeeld, zodat het misschien iets duidelijker is.
HTML:
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
<!--
<?php
// Waarde van $_POST
Array
(
    [checkbox1] => value1
    [checkbox2] => value2
    [checkbox3] => Array
        (
            [0] => value3
            [1] => value4
        )

)
?>
-->

<form method="post">
    
    <!-- Checkboxes met een unieke 'name' -->
    <input type="checkbox" name="checkbox1" value="value1" />
    <input type="checkbox" name="checkbox2" value="value2" />
    
    <!-- Checkboxes met dezelfde 'name', hierbij dus wel [] gebruiken -->
    <input type="checkbox" name="checkbox3[]" value="value3" />
    <input type="checkbox" name="checkbox3[]" value="value4" />
    
    <input type="submit" value="Submit" />
    
</form>

  • Dekaasboer
  • Registratie: Augustus 2003
  • Laatst online: 21:23
Bizar, de comment van TeeDee deed het hem: Is php case sensetive? JA DUS!

Bizar, tja, ik ben gewend om met html hoofdletters te bebruiken wanneer ik ze leuk vind. Maar blijkbaar vind php dat maar niks. Ik zal dalijk nog even de "final code" posten voor de mensen die ook graag een formuliertje willen.

Ik heb ook nog de [] codes bij de namen weggehaald.

In ieder geval hardstikke bedankt allemaal! Ik ben al de hele middag hiermee aan het worstelen, maar ik zou nooit op het idee zijn gekomen om alle hoofdletters weg te halen |:(

[ Voor 27% gewijzigd door Dekaasboer op 19-12-2007 15:07 ]

http://axrotterdam.blogspot.nl


  • MsG
  • Registratie: November 2007
  • Laatst online: 00:44

MsG

Forumzwerver

:) ow lol ik zag het niet eens, maar inderdaad PHP is vrij case sensitive :-).

Wat output hij eigenlijk bij zo'n checkbox? In mijn form kreeg ik standaard "/0" en als hij gevinkt was een "O". heel wazig dus :-).

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


  • Dekaasboer
  • Registratie: Augustus 2003
  • Laatst online: 21:23
MsG schreef op woensdag 19 december 2007 @ 15:08:
:) ow lol ik zag het niet eens, maar inderdaad PHP is vrij case sensitive :-).

Wat output hij eigenlijk bij zo'n checkbox? In mijn form kreeg ik standaard "/0" en als hij gevinkt was een "O". heel wazig dus :-).
Nu geeft hij netjes ofwel heer, ofwel mevrouw aan.

code:
1
2
<INPUT TYPE="radio" NAME="aanhef" VALUE="Heer">De heer
<INPUT TYPE="radio" NAME="aanhef" VALUE="Mevrouw">Mevrouw

[ Voor 15% gewijzigd door Dekaasboer op 19-12-2007 15:12 ]

http://axrotterdam.blogspot.nl


  • MsG
  • Registratie: November 2007
  • Laatst online: 00:44

MsG

Forumzwerver

Welke doctype gebruik je trouwens? XHTML moet alles klein he, dus input ipv INPUT

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


  • Dekaasboer
  • Registratie: Augustus 2003
  • Laatst online: 21:23
MsG schreef op woensdag 19 december 2007 @ 15:16:
Welke doctype gebruik je trouwens? XHTML moet alles klein he, dus input ipv INPUT
Lol, ik gebruik momenteel geen doctype. Misschien wel eens goed om aan te denken.

http://axrotterdam.blogspot.nl

Pagina: 1