Hallo ik ben Ronald
Ik had vraagje ik maak een Bestelformulier.
Als je dat Bestelformulier hebt ingevuld dat verstuurd de email naar iemand de bestelling.
Maar dan krijgt die alles ook wat niet ingevuld is.

Mij vraag is hoe kan je het zo maken dat je dingen niet hebt ingevuld dat dat niet meer word verzonden in html?
<?php
if(isset($_POST['....']) and trim($_POST['....']) == '')
dan niet meesturen.
Dus moet ik van dit
<?php
$afwasborstel = $_POST["afwasborstel"];
?>

Dit maken
<?php
if(isset($_POST['afwasborstel') and trim($_POST['afwasborstel']) == '')
?>
Nee dit:

<?php
// bij pakken van je variabele
$afwasborstel = isset($_POST['afwasborstel']) ? $_POST['afwasborstel'] : '';
?>

<?php
// bij tonen in je email
echo $afwasborstel;

?>

Eddy E op 24/07/2015 21:23:53

Nee dit:

<?php
// bij pakken van je variabele
$afwasborstel = isset($_POST['afwasborstel']) ? $_POST['afwasborstel'] : '';
?>

<?php
// bij tonen in je email
echo $afwasborstel;

?>




Werkt dat ook in een email met html met een tabel er in?
Dan zal je waarschijnlijk de hele rij niet moeten tonen.
Maar goed, wij moeten natuurlijk gokken naar wat en hoe jij iets verstuurd.

Ronald Visscher op 24/07/2015 21:26:58

<?php
// bij tonen in je email
echo $afwasborstel;

?>


<?php
if($afwasborstel != '')
{
echo $afwasborstel;
}
?>
Eddy E op 24/07/2015 22:29:46

Dan zal je waarschijnlijk de hele rij niet moeten tonen.
Maar goed, wij moeten natuurlijk gokken naar wat en hoe jij iets verstuurd.




Dit heb ik dit is me html


<html>
<head>

</head>
<body>

<form method="post" action="send.php">
Naam:<input type="text" size="12" maxlength="12" name="name">
Email:<input type="text" size="12" maxlength="50" name="email">

Naam van groep:
<select name="group">
<option value="Kies hier Groep">Kies hier Groep</option>
<option value="groep1">groep1</option>
<option value="groep2">groep2</option>
<option value="groep3">groep3</option>
</select><br />




Kies hier de Producten die u/je nodig hebt:<br />
<table class="table">
<thead>
<tr>

<th>Product</th>
<th>Hoeveel</th>
<th>Bijzonderheden</th>
</tr>
</thead>
<tbody>
<tr class="success">

<td>Afwasborstel:</td>
<td><input type="text" value="" placeholder="0" name="afwasborstel"></td>
<td></td>
</tr>
<tr class="info">

<td>Afwasmiddel:</td>
<td><input type="text" value="" placeholder="0" name="afwasmiddel"></td>
<td></td>
</tr>
<tr class="success">

<td>All 10,37kg (totaalwasmiddel):</td>
<td><input type="text" value="" placeholder="0" name="all"></td>
<td></td>
</tr>
<tr class="info">

<td>Vaatwas ALLin1 tabbleten:</td>
<td><input type="text" value="" placeholder="0" name="vaatwasallin1tab"></td>
<td>Voor de Kuip</td>
</tr>
<tr class="success">

<td>Suma super:</td>
<td><input type="text" value="" placeholder="0" name="sumasuper"></td>
<td></td>
</tr>
<tr class="info">

<td>Suma select:</td>
<td><input type="text" value="" placeholder="0" name="sumaselect"></td>
<td></td>
</tr>
</tbody>
</table>


<br />


<input type="submit" class="btn btn-primary" value="Verstuur het!" name="submit">
</form>


Dit is me php de code heb ik groot stuk via internet gevonden.

<?php


$name = $_POST['name']; // required

$group = $_POST['group']; // not required

$email = $_POST['email']; // required

$afwasborstel = $_POST['afwasborstel']; // not required

$afwasmiddel = $_POST['afwasmiddel']; // not required

$all = $_POST['all']; // not required

$vaatwasallin1tab = $_POST['vaatwasallin1tab']; // not required

$sumasuper = $_POST['sumasuper']; // not required

$sumaselect = $_POST['sumaselect']; // not required

$to = 'email';

$subject = 'I need to show html';

$from ='email';

$body = "<html>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<link rel='stylesheet' href='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css'>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js'></script>
<script src='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js'></script>
<body>
<p>Beste Gerco,</p><br>
<p>Je hebt een bestelling ontvangen van $name van de groep $group en $email.</p>
<table class='table'>
<thead>
<tr>

<th>Product</th>
<th>Hoeveel</th>
<th>Bijzonderheden</th>
</tr>
</thead>
<tbody>

<tr class='success'>
<td>Afwasborstel</td><td>$afwasborstel</td><td></td>
</tr>
<tr class='info'>
<td>Afwasmiddel</td><td>$afwasmiddel</td><td></td>
</tr>
<tr class='success'>
<td>All 10,37kg (totaalwasmiddel)</td><td>$all</td><td></td>
</tr>
<tr class='info'>
<td>Vaatwas ALLin1 tabbleten</td><td>$vaatwasallin1tab</td><td>Voor de Kuip</td>
</tr>
<tr class='success'>
<td>Suma super</td><td>$sumasuper</td><td></td>
</tr>
<tr class='info'>
<td>Suma select</td><td>$sumaselect</td><td></td>
</tr>
</tbody>
</table>
</body>
</html>";

ini_set("sendmail_from", $from);

$headers = "From: " . $from . "\r\nReply-To: " . $from . "";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset: utf8\r\n";
if (mail($to, $subject, $body, $headers)) {

echo("<p>Sent</p>");
} else {
echo("<p>Error...</p>");
}

?>



Hier wil ik dat in plaatsen dit is een kleiner versie ik probeer is als het werkt en dan maak ik het groter
Je kan beter per 'artikel' wat HTML aan je $body toevoegen ipv alles in 1x tonen en dan wat gaan schrappen.

Dit kan zo:

<?php

// eigen functie die kort controleert of het wel kan/mag etc
// let op de &$
function is(&$var)
{
if(isset($var) AND !empty($var)) { return true; }
return false;
}



$body = 'Goedemorgen '.$naam.',
U heeft een bestelling blablabla';

if(is($_POST['afwasborstel'])
{
// .= voegt toe aan bestaande variabele
$body .= ' <tr>
<td>U heeft een afwasborstel gekocht.</td>
</tr>';
}
?>
Eddy E op 25/07/2015 20:42:18

Je kan beter per 'artikel' wat HTML aan je $body toevoegen ipv alles in 1x tonen en dan wat gaan schrappen.

Dit kan zo:

<?php

// eigen functie die kort controleert of het wel kan/mag etc
// let op de &$
function is(&$var)
{
if(isset($var) AND !empty($var)) { return true; }
return false;
}



$body = 'Goedemorgen '.$naam.',
U heeft een bestelling blablabla';

if(is($_POST['afwasborstel'])
{
// .= voegt toe aan bestaande variabele
$body .= ' <tr>
<td>U heeft een afwasborstel gekocht.</td>
</tr>';
}
?>


Als goed is kan ik nu verder als nog vraag heb hoe werkt zal nog op zetten maar voor nu weet ik genoeg. Iedereen bedankt

[size=xsmall]Toevoeging op 27/07/2015 13:06:06:[/size]

Ik heb nog een 1 vraagje. Als iemand wat bestelt dan wil graag dan ze op de volgende pagina zien wat ze hebben bestelt. En daarnaar kunnen ze het echt bestellen. Is dat mogelijk?

Reageren