twee scripts in één keer uitvoeren
Op een site heb ik, om een deel van de pagina te printen het volgende javascript staan:
<script language="JavaScript" type="text/javascript">
var AutoPrint = true;
function PrintPagina(){
if (document.getElementById != null){
var html = '<HTML>\n<HEAD>\n';
if (document.getElementsByTagName != null){
var headTags = document.getElementsByTagName("head");
if (headTags.length > 0)
html += headTags[0].innerHTML;}
html += '\n</HE' + 'AD>\n<BODY>\n';
var PrintKlaarElem = document.getElementById("PrintKlaar");
if (PrintKlaarElem != null){
html += PrintKlaarElem.innerHTML;}
html += '\n</BO' + 'DY>\n</HT' + 'ML>';
var printWin = window.open("","PrintPagina","width=750,height=500");
printWin.document.open();
printWin.document.write(html);
printWin.document.close();
if (AutoPrint)printWin.print();}}
</script>
In de body bij het begin van het te printen deel:
<div id="PrintKlaar">
In de body roep ik dat script aan via een knop:
<form id="PrintMij" name="PrintMij">
<input type="button" class="menu1" tabindex="34" name="PrintMij" onClick="PrintPagina()" value="Formulier afdrukken">
Daarnaast wil ik een php script draaien om een e-mail met de ingevulde velden te genereren en het bestand op te slaan in een csv bestand:
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
@$pfw_ip= $_SERVER['REMOTE_ADDR'];
@$name_from = addslashes($_POST['name_from']);
@$adres = addslashes($_POST['adres']);
@$postcplaats = addslashes($_POST['postcplaats']);
@$land = addslashes($_POST['land']);
@$telefoon = addslashes($_POST['telefoon']);
@$email_from = addslashes($_POST['email_from']);
if (strlen($name_from) == 0 )
{
header("Location: fout.html");
exit;
}
if (strlen($adres) == 0 )
{
header("Location: fout.html");
exit;
}
if (strlen($postcplaats) == 0 )
{
header("Location: fout.html");
exit;
}
if (strlen($land) == 0 )
{
header("Location: fout.html");
exit;
}
if (! ereg('[A-Za-z0-9_-]+\@[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+', $email_from))
{
header("Location: fout.html");
exit;
}
if (strlen($email_from) == 0 )
{
header("Location: fout.html");
exit;
}
$pfw_header = "From: $email_from\n"
. "Reply-To: $email_from\n";
$pfw_subject = "Onderwerp";
$pfw_email_to = "[email protected]";
$pfw_message = "Visitor's IP: $pfw_ip\n"
. "name_from: $name_from\n"
. "adres: $adres\n"
. "postcplaats: $postcplaats\n"
. "land: $land\n"
. "telefoon: $telefoon\n"
. "email_from: $email_from\n"
. "\n"
. "\n";
@mail($pfw_email_to, $pfw_subject ,$pfw_message ,$pfw_header ) ;
$pfw_file_name = "bestand.csv";
$pfw_first_raw = "name_from,adres,postcplaats,land,telefoon,email_from,\r\n";
$pfw_values = "$name_from,$adres,$postcplaats,$land,$telefoon,$email_from,\r\n";
$pfw_is_first_row = false;
if(!file_exists($pfw_file_name))
{
$pfw_is_first_row = true ;
}
if (!$pfw_handle = fopen($pfw_file_name, 'a+')) {
die("Cannot open file ($pfw_file_name)");
exit;
}
if ($pfw_is_first_row)
{
if (fwrite($pfw_handle, $pfw_first_raw ) === FALSE) {
die("Cannot write to file ($pfw_filename)");
exit;
}
}
if (fwrite($pfw_handle, $pfw_values) === FALSE) {
die("Cannot write to file ($pfw_filename)");
exit;
}
fclose($pfw_handle);
header("Location: pagina.html");
?>
@$pfw_ip= $_SERVER['REMOTE_ADDR'];
@$name_from = addslashes($_POST['name_from']);
@$adres = addslashes($_POST['adres']);
@$postcplaats = addslashes($_POST['postcplaats']);
@$land = addslashes($_POST['land']);
@$telefoon = addslashes($_POST['telefoon']);
@$email_from = addslashes($_POST['email_from']);
if (strlen($name_from) == 0 )
{
header("Location: fout.html");
exit;
}
if (strlen($adres) == 0 )
{
header("Location: fout.html");
exit;
}
if (strlen($postcplaats) == 0 )
{
header("Location: fout.html");
exit;
}
if (strlen($land) == 0 )
{
header("Location: fout.html");
exit;
}
if (! ereg('[A-Za-z0-9_-]+\@[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+', $email_from))
{
header("Location: fout.html");
exit;
}
if (strlen($email_from) == 0 )
{
header("Location: fout.html");
exit;
}
$pfw_header = "From: $email_from\n"
. "Reply-To: $email_from\n";
$pfw_subject = "Onderwerp";
$pfw_email_to = "[email protected]";
$pfw_message = "Visitor's IP: $pfw_ip\n"
. "name_from: $name_from\n"
. "adres: $adres\n"
. "postcplaats: $postcplaats\n"
. "land: $land\n"
. "telefoon: $telefoon\n"
. "email_from: $email_from\n"
. "\n"
. "\n";
@mail($pfw_email_to, $pfw_subject ,$pfw_message ,$pfw_header ) ;
$pfw_file_name = "bestand.csv";
$pfw_first_raw = "name_from,adres,postcplaats,land,telefoon,email_from,\r\n";
$pfw_values = "$name_from,$adres,$postcplaats,$land,$telefoon,$email_from,\r\n";
$pfw_is_first_row = false;
if(!file_exists($pfw_file_name))
{
$pfw_is_first_row = true ;
}
if (!$pfw_handle = fopen($pfw_file_name, 'a+')) {
die("Cannot open file ($pfw_file_name)");
exit;
}
if ($pfw_is_first_row)
{
if (fwrite($pfw_handle, $pfw_first_raw ) === FALSE) {
die("Cannot write to file ($pfw_filename)");
exit;
}
}
if (fwrite($pfw_handle, $pfw_values) === FALSE) {
die("Cannot write to file ($pfw_filename)");
exit;
}
fclose($pfw_handle);
header("Location: pagina.html");
?>
Het beroerde is, dat ik met deze beide scrips met twee knoppen op de site moet werken. En dat doe ik eigenlijk liever in één keer, dus het php bestand draait mee bij het drukken op de printknop.
Is er een oplossing?
Alvast bedankt!
Geurt
Met javascript een refresh doen met een bepaalde waarde, in je php inzetten dattie het script moet uitvoeren wanneer die waarde actief is!
@ word overal gebruikt , wat foutmeldingen onderdrukt.
En je hebt een hele rits van codes zoals hierboven die allemaal naar de zelfde fout.html gaan..
Je kan hier beter elseif voor gebruiken , dus als 1of meerdere van die waardes fout is/zijn ga je naar fout.html , ipv voor elke controle steeds opnieuw een header locatie te gebruiken.
Dank voor de reacties. Ik ga ermee aan de slag!
Groeten
Geurt