Emailform
Ander probleempje
Als ik mijn form verzend krijg ik hem keurig in mijn mail box. alleen krijg ik alles achter elkaar.
Dit is mijn mailform die het verzendt en die wat dingen aanroept.
Allen krijg ik
Niet op de volgende regel. Ik heb al geprobeerd met echo's maar dan krijg ik de ...............
dit is een gegenereerde mail bla bla maar daar moet ik ook dan even een echo van maken. Maar kan het niet zoals het hier onder staat met <br> of \n?
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
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
if(empty($_SESSION['errors']))
{
$headers = 'From: '.$_POST['site'].' < '.$_POST['email'].' >'; //headers maken
$bericht =
htmlspecialchars($_POST['aanhef'], ENT_QUOTES).
htmlspecialchars($_SESSION['input']['naam'], ENT_QUOTES). '<br />' .
htmlspecialchars($_SESSION['input']['contactpersoon'], ENT_QUOTES).
'
--------------------------------------------------
Deze mail is verzonden vanaf '.$c['site']; //bericht opstellen voor het bericht naarwie de persoon wil mailen
mail($_POST['naar'], $_POST['onderwerp'], $bericht, $headers); //verzenden email
if($c['bedankt'] === TRUE) //wanneer bedankmail aanstaat
{
$headers2 = 'From: '.$c['site'].' < '.$_POST['naar'].' >'; //headers maken
$bericht2 =
'Beste '.$_SESSION['input']['naam'].'
Bedankt voor je mail. We zullen je vraag zo spoedig mogelijk in behandeling nemen
--------------------------------------------------
dit is een auto-gegenereerde mail die is verzonden vanaf '.$c['site']; //bericht om terug te zenden
mail($_POST['email'], 'Bedankt', $bericht2, $headers2); //zend
echo 'Je email is succesvol verzonden. Er is een email gestuurd naar je adres'; //tekst wanneer bedankmail aanstaat
}
else
{
echo 'je email is succesvol verzonden.'; //wanneer bedankmail uitstaat
}
}
{
$headers = 'From: '.$_POST['site'].' < '.$_POST['email'].' >'; //headers maken
$bericht =
htmlspecialchars($_POST['aanhef'], ENT_QUOTES).
htmlspecialchars($_SESSION['input']['naam'], ENT_QUOTES). '<br />' .
htmlspecialchars($_SESSION['input']['contactpersoon'], ENT_QUOTES).
'
--------------------------------------------------
Deze mail is verzonden vanaf '.$c['site']; //bericht opstellen voor het bericht naarwie de persoon wil mailen
mail($_POST['naar'], $_POST['onderwerp'], $bericht, $headers); //verzenden email
if($c['bedankt'] === TRUE) //wanneer bedankmail aanstaat
{
$headers2 = 'From: '.$c['site'].' < '.$_POST['naar'].' >'; //headers maken
$bericht2 =
'Beste '.$_SESSION['input']['naam'].'
Bedankt voor je mail. We zullen je vraag zo spoedig mogelijk in behandeling nemen
--------------------------------------------------
dit is een auto-gegenereerde mail die is verzonden vanaf '.$c['site']; //bericht om terug te zenden
mail($_POST['email'], 'Bedankt', $bericht2, $headers2); //zend
echo 'Je email is succesvol verzonden. Er is een email gestuurd naar je adres'; //tekst wanneer bedankmail aanstaat
}
else
{
echo 'je email is succesvol verzonden.'; //wanneer bedankmail uitstaat
}
}
Bij voorbaat dank!
Ik vermoed dat je er newlines (\n) in moet zetten zodat die ook vertaald worden door htmlspecialchars() naar <br>
John D op 14/12/2010 09:36:34:
Ik vermoed dat je er newlines (\n) in moet zetten zodat die ook vertaald worden door htmlspecialchars() naar <br>
Ik denk niet dat htmlspecialchars() dat gaat doen. Misschien dat nl2br() dat doet.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$bericht = "<table>";
$bericht .= "<tr><td colspan='3'><p align='center'><b>Aanvraagformulier Digitale Telefonie</b></td></tr>";
$bericht .= "<tr><td width='25%'><b>Business Partner:</b></td>";
$bericht .= "<td width='20%'><b>Accountmanager:</b></td>";
$bericht .= "<td width='20%'><b>Contractnummer:</b></td>";
$bericht .= "<td width='35%'><b>" echo $contractnummer.' '; "</b></td></tr>";
$bericht .= "<tr><td colspan='3'><p align='center'><b>Aanvraagformulier Digitale Telefonie</b></td></tr>";
$bericht .= "<tr><td width='25%'><b>Business Partner:</b></td>";
$bericht .= "<td width='20%'><b>Accountmanager:</b></td>";
$bericht .= "<td width='20%'><b>Contractnummer:</b></td>";
$bericht .= "<td width='35%'><b>" echo $contractnummer.' '; "</b></td></tr>";
Op naar het volgende probleem :p
Zo te zien moet de laatste regel een error geven. Die echo middenin gaat niet werken.
Ik wil zeg maar me contractnummer automatisch ophogen als hij verzonden wordt. Nu heb ik wel van iemand een klein scriptje gekregen die het nummer uit de file leest en dan ophoogt alleen ik krijg het niet goed geimplementeerd.
$var = "tekst" . $anderevar . "meertekst";
Dus als ik nu verzendt wordt het 2 de volgende keer 3 etc. maar de klant ziet dit dus niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php $myFile = "invoicenr.txt";
$fh = fopen($myFile, 'r');
$theData = fread($fh, 6); //4 geeft aan dat hij de eerste 4 tekens van het bestand leest.
fclose($fh);
$theData2 = $theData + 1;
echo "<br>" . $theData2;
//Here we write
$myFile2 = "invoicenr.txt";
$fh = fopen($myFile2, 'w') or die("can't open file");
fwrite($fh, $theData2);
fclose($fh);?>
$fh = fopen($myFile, 'r');
$theData = fread($fh, 6); //4 geeft aan dat hij de eerste 4 tekens van het bestand leest.
fclose($fh);
$theData2 = $theData + 1;
echo "<br>" . $theData2;
//Here we write
$myFile2 = "invoicenr.txt";
$fh = fopen($myFile2, 'w') or die("can't open file");
fwrite($fh, $theData2);
fclose($fh);?>
Dit heb ik maar hoe roep ik die dan aan om mee te sturen in mijn email
nu heb ik $theData2 derstaan
Gewijzigd op 14/12/2010 11:45:49 door trinco ingels
Dan zal je dat getal ergens moeten onthouden, bijv. in een database.
Dat doet ie in een textfile
Wat jij hebt dat zal toch werken.
Ik heb voor de zekerheid gewoon een echo op de pagina gezet en die hoogt wel steeds op. Maar als ik dan $theData2 daarinzet weergeeft hij het niet in de mail helemaal leeg.
voor dat scriptje zie eerdere posts
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
//rest
?>
Ik had hem erna gepost ipv ervoor hij kon de variable dus niet vinden..
Danku!
Toevoeging op 14/12/2010 13:18:18:
Mischien weet ook iemand dit wel.
Als ik nu bijv. in een formulier heb ander afleveradres.
Maar deze alleen verschijnt als het hokje aangevinkt wordt of dat die alleen gecontroleerd worden als het vinkje aanstaat.
Is dit mogelijk met php of wordt dit meer beschouwen als ervaren of andere taal?
Toevoeging op 15/12/2010 09:20:31:
Goedmorgen,
Ik heb weer wat gevonden en geimplementeerd in mijn script wat ik nodig heb ik zit nog met enkele kleine problemen.
Ik heb dit script voor als het een afwijkend adres is.
Alleen als ik ja invul moet hij die velden weergeven als ik nee invul moet hij niets weergeven. Plus dat hij zo hetzelfde gepostioneerd staat als mijn andere tabellen. Want deze include ik maar omdat ik de tabel moet afsluiten in mijn andere script en weer moet openen nadat ik deze ingeladen heb komt dit denk ik hierdoor.
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
54
55
56
57
58
59
60
61
62
63
64
65
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
54
55
56
57
58
59
60
61
62
63
64
65
<form method="get">
<script type="text/javascript">
function toggleDisp(toggleNode) {
var a = toggleNode.form.getElementsByTagName('DIV');
var b = toggleNode.value == 'nee' ? [0, 1] : [1, 0];
a[b[0]].style.display = '';
a[b[1]].style.display = 'none';
}
function changePerson(selectNode) {
var person_cnt = selectNode.options[selectNode.selectedIndex].value;
var container = selectNode.parentNode.parentNode
var tableNodelist = container.getElementsByTagName('TABLE');
var table_cnt = tableNodelist.length;
if (person_cnt > table_cnt)
for(;table_cnt < person_cnt; table_cnt++) {
var newTable = tableNodelist[0].cloneNode(true);
var inputNodelist = newTable.getElementsByTagName('INPUT');
for(var i = 0, j = inputNodelist.length; i < j; i++)
inputNodelist[i].value = '';
var personNumberNode = newTable.getElementsByTagName('CAPTION')[0].lastChild;
personNumberNode.replaceChild(document.createTextNode(table_cnt + 1), personNumberNode.firstChild);
container.appendChild(newTable);
}
else
for(;table_cnt > person_cnt; table_cnt--)
container.removeChild(tableNodelist[table_cnt - 1]);
}
</script>
<tr>
<td width="30%"><label for="reseller">Afwijkend bedrijfsadres:</label></td>
<td width="20%">
<input type="radio" name="reseller" value="ja" onClick="toggleDisp(this)"> Ja
<input type="radio" name="reseller" value="nee" onClick="toggleDisp(this)"> Nee
</td>
<td width="20%"></td>
<td width="30%"></td>
</tr>
<div style="display:none">
<tr>
<td><label for="reseller_id">Choose reseller</label></td>
<td><select name="reseller_id">
<option selected value="1">Reseller 1</option>
<option value="2">Reseller 2</option>
<option value="3">Reseller 3</option>
<option value="4">Reseller 4</option>
<option value="5">Reseller 5</option>
</select></td>
</tr>
</div>
<div style="display:none">
<table cellSpacing="0" cellPading="2" border="0">
<tr>
<td><label for="person[name][]">Naam</label></td>
<td><input type="text" name="person[name][]" size="20"></td>
</tr>
<tr>
<td><label for="person[name][]">Leeftijd</label></td>
<td><input type="text" name="person[age][]" size="4"></td>
</tr>
<tr>
<td><label for="person[name][]">Email</label></td>
<td><input type="text" name="person[email][]" size="20"></td>
</tr>
</table>
</div>
<script type="text/javascript">
function toggleDisp(toggleNode) {
var a = toggleNode.form.getElementsByTagName('DIV');
var b = toggleNode.value == 'nee' ? [0, 1] : [1, 0];
a[b[0]].style.display = '';
a[b[1]].style.display = 'none';
}
function changePerson(selectNode) {
var person_cnt = selectNode.options[selectNode.selectedIndex].value;
var container = selectNode.parentNode.parentNode
var tableNodelist = container.getElementsByTagName('TABLE');
var table_cnt = tableNodelist.length;
if (person_cnt > table_cnt)
for(;table_cnt < person_cnt; table_cnt++) {
var newTable = tableNodelist[0].cloneNode(true);
var inputNodelist = newTable.getElementsByTagName('INPUT');
for(var i = 0, j = inputNodelist.length; i < j; i++)
inputNodelist[i].value = '';
var personNumberNode = newTable.getElementsByTagName('CAPTION')[0].lastChild;
personNumberNode.replaceChild(document.createTextNode(table_cnt + 1), personNumberNode.firstChild);
container.appendChild(newTable);
}
else
for(;table_cnt > person_cnt; table_cnt--)
container.removeChild(tableNodelist[table_cnt - 1]);
}
</script>
<tr>
<td width="30%"><label for="reseller">Afwijkend bedrijfsadres:</label></td>
<td width="20%">
<input type="radio" name="reseller" value="ja" onClick="toggleDisp(this)"> Ja
<input type="radio" name="reseller" value="nee" onClick="toggleDisp(this)"> Nee
</td>
<td width="20%"></td>
<td width="30%"></td>
</tr>
<div style="display:none">
<tr>
<td><label for="reseller_id">Choose reseller</label></td>
<td><select name="reseller_id">
<option selected value="1">Reseller 1</option>
<option value="2">Reseller 2</option>
<option value="3">Reseller 3</option>
<option value="4">Reseller 4</option>
<option value="5">Reseller 5</option>
</select></td>
</tr>
</div>
<div style="display:none">
<table cellSpacing="0" cellPading="2" border="0">
<tr>
<td><label for="person[name][]">Naam</label></td>
<td><input type="text" name="person[name][]" size="20"></td>
</tr>
<tr>
<td><label for="person[name][]">Leeftijd</label></td>
<td><input type="text" name="person[age][]" size="4"></td>
</tr>
<tr>
<td><label for="person[name][]">Email</label></td>
<td><input type="text" name="person[email][]" size="20"></td>
</tr>
</table>
</div>
Gewijzigd op 14/12/2010 12:26:53 door trinco ingels