Hallo allemaal,
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:
<?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");
?>
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
1.056 views