Archief - PHP: Checkbox waarde

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

$wifty

Legacy Member
de bedoeling van mijn formulier is dat als men een checkbox aanvinkt ik een mailtje wil ontvangen met de tekst " ze hebben gekozen voor veranda ofzo "

nu alles gaat goed
behalve: ook al vink een checkbox niet aan krijg ik toch in mijn mailtje " de klant heeft gekozen voor..."

wat doe ik verkeerd?

PHP:
<?php
$yourMail="[email protected]";

$name = $_POST['name'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$veranda = $_POST['veranda'];
$pergola = $_POST['pergola'];
$ramen = $_POST['ramen'];
$adres = $_POST['adres'];
$tel = $_POST['tel'];
$particulieren = $_POST['particulieren'];
$firmas = $_POST['firmas'];
$verandagekozen = "";
$pergolagekozen = "";
$ramengekozen = "";
$particulierengekozen = "";
$firmasgekozen = "";

$nowDay=date("d.m.Y");
$nowTime=date("H:i:s");


if ($veranda = true ) {
	$verandagekozen = "Graag had ik informatie verkregen over veranda's";
	}
	else {
		$verandagekozen = "";
		}

if ($pergola = true) {
	$pergolagekozen = "Graag had ik informatie verkregen over pergola's";
	}
	else {
		$pergolagekozen = "";
		}

if ($veranda = true) {
	$ramengekozen = "Graag had ik informatie verkregen over ramen";
	}
	else {
		$ramengekozen = "";
		}
	
if ($particulieren = true) {
	$particulierengekozen = "Ik ben een particulier";
	}
	else {
		$particulierengekozen = "";
		}
	
if ($firmas = true) {
	$firmasgekozen = "Ik ben een firma";
	}
	else {
		$firmasgekozen = "";
		}
	
	

$FormContent="
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Formulier Verzonden via test.com
----------------------------------------------------------------------------
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Bericht Verzonden op $nowDay om $nowTime
----------------------------------------------------------------------------
Van: $name
E-mail: $mail
Adres: $adres
Telefoon: $tel
----------------------------------------------------------------------------
Bericht: $message
----------------------------------------------------------------------------
$verandagekozen
$pergolagekozen
$ramengekozen
----------------------------------------------------------------------------
$particulierengekozen
$firmasgekozen
----------------------------------------------------------------------------

";

mail($yourMail, "U hebt een bericht van $name", $FormContent, "E-mail: $mail");

$mailResult="Bericht is verzonden.";
echo "&mailResult=$mailResult&";
?>

de tekst waarden die worden verzonden:
Naam
Email
Adres
Telefoon
Bericht

De checkboxwaarden die worden verzoden:

veranda
pergola
ramen en deuren
particulieren
firmas

[E.I]Magic

Legacy Member
Je controle "$veranda = true" is niet correct.
De waarde van "$veranda" is "Array"

Ik heb de vrijheid genomen om wat te herschrijven.

Ik werk met 2 pagina's.
1 form om al dan niet je keuzes aan te vinken, en een andere pagina die alles verwerkt.

Dit script mailt dus NIET maar ik heb het vervangen door een "print". Ik denk wel dat je het zelf kan aanpassen.
Het houd oook geen rekening met het feit dat een gebruiker ofwel firma ofwel particulier moet selecteren.

Dit is het Form:

Code:
<form action="verwerking.php" method="post">

<p>
Wilt u info over veranda's?
<input type="checkbox" name="verandas[]"><br>
</p>

<p>
Wilt u info over pergola's?
<input type="checkbox" name="pergolas[]"><br>
</p>

<p>
Wilt u info over ramen?
<input type="checkbox" name="ramen[]"><br>
</p>

<p>
Particulier?
<input type="checkbox" name="particulier[]"><br>
</p>

<p>
Firma?
<input type="checkbox" name="firma[]"><br>
</p>

<p>
<input type="submit" value="Hit It!">
</p>

</form>

Zoals je ziet verwijst deze file naar verwerking.php

Dit is de code:

Code:
<?php 

print $_POST['verandas'];

$nowDay=date("d.m.Y"); 
$nowTime=date("H:i:s"); 


if (is_array($_POST['verandas']))
{
	foreach($_POST['verandas'] as $veranda)
	{
		$verandagekozen = "Graag had ik informatie verkregen over veranda's";
	}
}

if (is_array($_POST['pergolas']))
{
	foreach($_POST['pergolas'] as $pergolas)
	{
		$pergolagekozen = "Graag had ik informatie verkregen over pergola's";
	}
}

if (is_array($_POST['ramen']))
{
	foreach($_POST['ramen'] as $ramen)
	{
		$ramengekozen = "Graag had ik informatie verkregen over ramen";
	}
}

if (is_array($_POST['particulier']))
{
	foreach($_POST['particulier'] as $particulier)
	{
		$particulierengekozen = "Ik ben een particulier";
	}
}

if (is_array($_POST['firma']))
{
	foreach($_POST['firma'] as $firma)
	{
		$firmasgekozen = "Ik ben een firma";
	}
}

$FormContent=" 
---------------------------------------------------------------------------- <br />
---------------------------------------------------------------------------- <br />
Formulier Verzonden via test.com<br />
---------------------------------------------------------------------------- <br />
---------------------------------------------------------------------------- <br />
<br />
---------------------------------------------------------------------------- <br />
Bericht Verzonden op $nowDay om $nowTime<br />
---------------------------------------------------------------------------- <br />
Van: $name<br />
E-mail: $mail<br />
Adres: $adres<br />
Telefoon: $tel<br />
---------------------------------------------------------------------------- <br />
Bericht: $message<br />
---------------------------------------------------------------------------- <br />
$verandagekozen<br />
$pergolagekozen<br />
$ramengekozen<br />
---------------------------------------------------------------------------- <br />
$particulierengekozen<br />
$firmasgekozen<br />
---------------------------------------------------------------------------- 	

"; 

print $FormContent;

?>

Ik hoop dat dit je wat vooruit helpt :)

B

Rvl

Legacy Member
waarom zoude gij daar ne array van wille make? Is helemaal nie nodig.

$veranda = $_POST['veranda'];
$pergola = $_POST['pergola'];
ook best verandere door

$pergola=(isset($_POST["pergola"])) ? $_POST["pergola"] : FALSE;

[E.I]Magic

Legacy Member
Omdat $_POST['verandas'] een array IS.
Ik maak er geen van..

print $_POST['verandas']; geeft als output "Array" (zie derde lijn van het script, mag verwijderd worden $wifty)

killgore

Legacy Member
[E.I]Magic zei:
Omdat $_POST['verandas'] een array IS.
Ik maak er geen van
ge maakt er wel een van door in uw html veranda[] te zetten he :p

das alleen nodig bij radio buttons zover ek mij kan herinneren.
Rvl heeft 100% gelijk hier ;).

Rvl

Legacy Member
ja maar het is gewoon "dom" om het zo te doen. Waarom het moeilijk willen maken als het zeer simpel is? Ik kan "test" laten parse met 1 lijn code of ik kan der ook e script van make me 1000 lijne code maar da is gewoon onnuttig in sommige situaties dus pak gewoon de simpelste manier, is meestal de beste

killgore

Legacy Member
Rvl zei:
ja maar het is gewoon "dom" om het zo te doen. Waarom het moeilijk willen maken als het zeer simpel is? Ik kan "test" laten parse met 1 lijn code of ik kan der ook e script van make me 1000 lijne code maar da is gewoon onnuttig in sommige situaties dus pak gewoon de simpelste manier, is meestal de beste
der worden wel wedstrijden gehouden vo dergelijke dingen he :p. Zo weinig mogelijk doen met zo ingewikkeld mogelijke code :p.
Dr is zo ergens een programmake da formated enkele 100-en lijnen code gebruikt om gewoon hello world weer te geven :D.

$wifty

Legacy Member
kheb precies nog wat fout gedaan
als ik de wijzigingen toepas
krijg ik ook al vink ik de checkbox aan
geen tekst te zien in mijn mail

$wifty

Legacy Member
hier mijn gewijzigde code:

PHP:
<?php
$yourMail="[email protected]";

$name = $_POST['name'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$veranda=(isset($_POST["veranda"])) ? $_POST["veranda"] : FALSE;
$pergola=(isset($_POST["pergola"])) ? $_POST["pergola"] : FALSE;
$ramen=(isset($_POST["ramen"])) ? $_POST["ramen"] : FALSE;
$adres = $_POST['adres'];
$tel= = $_POST['tel'];
$particulieren=(isset($_POST["particulieren"])) ? $_POST["particulieren"] : FALSE;
$firmas=(isset($_POST["firmas"])) ? $_POST["firmas"] : FALSE;
$verandagekozen = "";
$pergolagekozen = "";
$ramengekozen = "";
$particulierengekozen = "";
$firmasgekozen = "";

$nowDay=date("d.m.Y");
$nowTime=date("H:i:s");


if (is_array($_POST['veranda']))
{
	foreach($_POST['veranda'] as $veranda)
	{
		$verandagekozen = "Graag had ik informatie verkregen over veranda's";
	}
}


if (is_array($_POST['pergola']))
{
	foreach($_POST['pergola'] as $pergola)
	{
		$pergolagekozen = "Graag had ik informatie verkregen over pergola's";
	}
}



if (is_array($_POST['ramen']))
{
	foreach($_POST['ramen'] as $veranda)
	{
		$ramengekozen = "Graag had ik informatie verkregen over ramen";
	}
}
	

if (is_array($_POST['particulieren']))
{
	foreach($_POST['particulieren'] as $particulieren)
	{
		$ramengekozen = "Graag had ik informatie verkregen over particulieren";
	}
}
	
if (is_array($_POST['firmas']))
{
	foreach($_POST['firmas'] as $firmas)
	{
		$ramengekozen = "Graag had ik informatie verkregen over firmas";
	}
}
	
	

$FormContent="
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Formulier Verzonden via DD-Projects.com
----------------------------------------------------------------------------
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Bericht Verzonden op $nowDay om $nowTime
----------------------------------------------------------------------------
Van: $name
E-mail: $mail
Adres: $adres
Telefoon: $tel
----------------------------------------------------------------------------
Bericht: $message
----------------------------------------------------------------------------
$verandagekozen
$pergolagekozen
$ramengekozen
----------------------------------------------------------------------------
$particulierengekozen
$firmasgekozen
----------------------------------------------------------------------------

";

mail($yourMail, "U hebt een bericht van $name", $FormContent, "E-mail: $mail");

$mailResult="Bericht is verzonden.";
echo "&mailResult=$mailResult&";
?>

Rvl

Legacy Member
omdat je niet met is_array moet werken. De uitleg / code van [E.I]Magic is niet goed in deze situatie dus die code moet je niet gebruiken. Heel die structuur van if(is_array ... niet gebruiken dus en terug naar jouw oorspronkelijke structuur gaan

$wifty

Legacy Member
mijn code is toch nog niet juist

hij blijft altijd de tekst weergeven in de mail
ook al staat de checkbox afgevinkt

PHP:
<?php
$yourMail="[email protected]";

$name = $_POST['name'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$veranda=(isset($_POST["veranda"])) ? $_POST["veranda"] : FALSE;
$pergola=(isset($_POST["pergola"])) ? $_POST["pergola"] : FALSE;
$ramen=(isset($_POST["ramen"])) ? $_POST["ramen"] : FALSE;
$adres=(isset($_POST["adres"])) ? $_POST["adres"] : FALSE;
$tel=(isset($_POST["tel"])) ? $_POST["tel"] : FALSE;
$particulieren=(isset($_POST["particulieren"])) ? $_POST["particulieren"] : FALSE;
$firmas=(isset($_POST["firmas"])) ? $_POST["firmas"] : FALSE;
$verandagekozen = "";
$pergolagekozen = "";
$ramengekozen = "";
$particulierengekozen = "";
$firmasgekozen = "";

$nowDay=date("d.m.Y");
$nowTime=date("H:i:s");


if ($veranda == true ) {
    $verandagekozen = "Graag had ik informatie verkregen over veranda's";
    }
    else {
        $verandagekozen = "";
        }

if ($pergola == true) {
    $pergolagekozen = "Graag had ik informatie verkregen over pergola's";
    }
    else {
        $pergolagekozen = "";
        }

if ($veranda == true) {
    $ramengekozen = "Graag had ik informatie verkregen over ramen";
    }
    else {
        $ramengekozen = "";
        }
    
if ($particulieren == true) {
    $particulierengekozen = "Ik ben een particulier";
    }
    else {
        $particulierengekozen = "";
        }
    
if ($firmas == true) {
    $firmasgekozen = "Ik ben een firma";
    }
    else {
        $firmasgekozen = "";
        } 
	

$FormContent="
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Formulier Verzonden via DD-Projects.com
----------------------------------------------------------------------------
----------------------------------------------------------------------------

----------------------------------------------------------------------------
Bericht Verzonden op $nowDay om $nowTime
----------------------------------------------------------------------------
Van: $name
E-mail: $mail
Adres: $adres
Telefoon: $tel
----------------------------------------------------------------------------
Bericht: $message
----------------------------------------------------------------------------
$verandagekozen
$pergolagekozen
$ramengekozen
----------------------------------------------------------------------------
$particulierengekozen
$firmasgekozen
----------------------------------------------------------------------------

";

mail($yourMail, "U hebt een bericht van $name", $FormContent, "E-mail: $mail");

$mailResult="Bericht is verzonden.";
echo "&mailResult=$mailResult&";
?>

Rvl

Legacy Member
Code:
<form action="test.php" method="post">
	<input type="checkbox" name="test" />
<input type="submit" name="submit" value="submit" />
</form>
<?php
$test=(isset($_POST["test"])) ? $_POST["test"] : FALSE;

if(isset($_POST["submit"])){
	if($test==true) { echo("hier u tekst"); }
}
?>
Dit is een voorbeeld van hoe u checkbox functie zou werken.

$wifty

Legacy Member
idd zo werkt het
maar kan ik nu nie ipv die echo
een variabele de waarde geven " gekozen voor..." ofzo?

$wifty

Legacy Member
als ik dit probeer
stuurt hij altijd de waarde door
dus hij geeft aan dat de checkboxen altijd gevuld zijn ook als dit nie zo is...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan