Witam!
Oto mój kod odpowiedzialny za dodanie do bazy i wyświetlenie okna wydruku. Moje pytanie brzmi kiedy muszę umieścić albo w jakim miejscu przekierowanie header('Location: index.php');, żeby po zamknięciu okna wydruku, lub wydrukowaniu tekstu przekierowało mnie ponownie na index.php.
<?php
session_start();
if(isset($_POST['login']))
{
$host="localhost";
$db_login="root";
$db_pass="";
$db_name="sinbin";
if (!$polaczenie = mysql_connect($host,$db_login,$db_pass,$db_name)) {
echo 'Nie można nawiązać połączenia z bazą danych';
exit;
}else
{
if (!mysql_select_db('sinbin', $polaczenie)) {
echo 'Nie można wybrać bazy danych';
exit;
}
$login=$_POST['login'];
$problem="pr1";
$data=date('Y-m-d H:i:s');
//Udana walidacja? Załóżmy, że tak!
$wszystko_OK=true;
//Sprawdzenie poprawności loginu
if(!preg_match("/^[a-z]{4}[0-9]{3,4}$/",$_POST['login']))
{
$wszystko_OK=false;
$_SESSION['bladlog']="Nieprawidłowy Login!";
}
if(empty($_POST['login']))
{
$wszystko_OK=false;
$_SESSION['bladlog']="Proszę wypełnić pole Login!";
}
if ($wszystko_OK==true)
{
if($result = mysql_query("INSERT INTO sin VALUES(NULL, '$login','$problem','$data')", $polaczenie))
{
echo<<<END
<div id='invisible_harmo'> #Ta klasa ukryje na stronie to co się będzie drukowało
<div id='block1_1'>
^XA
^FO40,135^A0N,50,50^FDWork: $login || Problem: $problem^FS
^FO40,275^A0N,50,50^FDData: $data^FS
^XZ
</div>
</div>
END;
session_unset();
}else
{
echo "Błąd bazy danych, nie można wykonać zapytania do bazy\n";
echo 'Błąd MySQL: ' . mysql_error();
exit;
}
}
mysql_close($polaczenie);
}
}
?>
a oto kod js odpowiedzialny za okno wydruku:
<script>
function printPage(id)
{
var html="<html><body><div>";
html+= document.getElementById(id).innerHTML;
html+="</div></body></html>";
var printWin = window.open('','','left=0,top=0,width=1200,height=800,toolbar=0,scrollbars=0,status=0');
printWin.document.write(html);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
}
</script>