set_option('isHtml5ParserEnabled', true); $dompdf->set_option('isRemoteEnabled', true); $dompdf->set_option('debugCss', true); $dompdf->set_option('debugLayout', true); $dompdf->set_option('debugLayoutLines', true); require_once '../Connections/cmctrfdb.php'; require_once '../webassist/mysqli/rsobj.php'; //include 'include/headscript.php'; include('languages/' . $_SESSION['langselect'] . '/tdgen.php'); include('languages/' . $_SESSION['langselect'] . '/general.php'); $idcompany = $_SESSION["compid"]; if (isset($_GET['idtrftd'])) { $idtrftd = $_GET['idtrftd']; } if (isset($_POST['idtrftd'])) { $idtrftd = $_POST['idtrftd']; } if (isset($_POST['iddata_td'])) { $idtd = $_POST['iddata_td']; } if (isset($_GET['iddata_td'])) { $idtd = $_GET['iddata_td']; } if (isset($_GET['idtd'])) { $idtd = $_GET['idtd']; } $base_url = "https://www.cimac.it/modulo_certificazione/public/"; if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Preparazione di un array per contenere i valori sanificati $sanitizedPost = []; $errors = []; // Lista dei campi da sanificare e controllare se sono piene $fields = [ 'productionplace_same', 'classificationshoes', 'destinationuseppe', 'manufacutringprocess', 'ppeageing', 'obsolescencedeadline', 'localisationppemarking', 'manufacturerlogoid', 'sizeexamplecemark', 'monthyearprod', 'serialbatchnumber', 'standarduse', 'symbolsaddreq', 'proddescription', 'packaging', 'declarconformity', 'webaddress', 'techspecificationapplied' ]; foreach ($fields as $field) { if (!empty($_POST[$field])) { // Utilizzo FILTER_SANITIZE_STRING per rimuovere i tag e sanificare il testo $sanitizedPost[$field] = filter_input(INPUT_POST, $field, FILTER_SANITIZE_STRING); } } // Controllo se ci sono stati errori if (count($errors) === 0) { // Tutti i campi sono stati compilati e sanificati // Qui puoi procedere con l'elaborazione dei dati // Ad esempio, stampare i valori o salvarli in un database foreach ($sanitizedPost as $key => $value) { } } else { // Ci sono stati errori, ad esempio alcuni campi potrebbero essere vuoti // Puoi gestire gli errori qui, ad esempio stampandoli foreach ($errors as $key => $message) { echo "Errore nel campo $key: $message
"; } } } // *: update data_td // Assicurati che la richiesta sia di tipo POST e che l'ID sia stato fornito $conn = mysqli_connect($servername, $username, $password, $dbname); if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($idtrftd)) { // Preparazione della parte iniziale della query di aggiornamento $updateQuery = "UPDATE data_td SET "; $updateParts = []; $queryParams = []; // Iterazione sui campi sanificati per costruire la query di aggiornamento foreach ($sanitizedPost as $key => $value) { // Escludi idtrftd dalla parte di aggiornamento della query if ($key !== 'idtrftd') { $updateParts[] = "$key = ?"; $queryParams[] = $value; } } // Controllo se ci sono campi da aggiornare if (count($updateParts) > 0) { $updateQuery .= join(', ', $updateParts) . " WHERE idtrf = ?"; $queryParams[] = $idtrftd; // Aggiungi l'ID alla fine dei parametri della query // Preparazione della query $stmt = $conn->prepare($updateQuery); // Costruzione del tipo di parametri (stringhe, in questo caso) $types = str_repeat('s', count($queryParams)); // Aggiunta dei parametri alla statement $stmt->bind_param($types, ...$queryParams); // Esecuzione della query if ($stmt->execute()) { } // Chiusura dello statement $stmt->close(); } } $conn = new mysqli($servername, $username, $password, $dbname); $checkQuery = "SELECT COUNT(*) as count FROM fillrisk_td WHERE iddata_td = ?"; $stmt = $conn->prepare($checkQuery); $stmt->bind_param("i", $idtd); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); if ($row['count'] == 0) { // Non ci sono record, quindi procedi con l'inserimento dei dati da riskarea_td // Prendi tutti i record da riskarea_td $selectQuery = "SELECT * FROM riskarea_td"; $result = $conn->query($selectQuery); while ($riskRow = $result->fetch_assoc()) { // Prepara l'insert per ogni riga trovata in riskarea_td $insertQuery = "INSERT INTO fillrisk_td (idriskarea_td, applicable, idcompany, iddata_td, idtrf) VALUES (?, ?, ?, ?, ?)"; $stmt = $conn->prepare($insertQuery); // Converte il valore 'Y'/'N' della colonna default in un intero (1/0) $applicableValue = ($riskRow['default'] == 'Y') ? 1 : 0; $stmt->bind_param("iiiii", $riskRow['idriskarea_td'], $applicableValue, $idcompany, $idtd, $idtrftd); $stmt->execute(); } } // Chiudi lo statement e la connessione se non ti servono più $stmt->close(); $conn->close(); // query data_td $conn = new mysqli($servername, $username, $password, $dbname); $sql = "SELECT * FROM data_td LEFT JOIN logo_td ON data_td.manufacturerlogoid=logo_td.idlogo_Td LEFT JOIN qualcheck_td ON data_td.proddescription=qualcheck_td.idqualcheck_td WHERE iddata_td = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $idtd); // "i" indica che l'id è un intero $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); $prodplace = $row['productionplace_same']; $classshoes = $row['classificationshoes']; if ($classshoes == "classone") { $classfinal = $classone; // Assumo che il valore che vuoi assegnare sia una stringa "classone" } elseif ($classshoes == "classtwo") { $classfinal = $classtwo; // Assumo che il valore che vuoi assegnare sia una stringa "classtwo" } else { $classfinal = "default"; // Opzionale: Un valore default se non corrisponde a nessuno dei casi } $stmt->close(); $conn->close(); $tdquery = new WA_MySQLi_RS("tdquery", $cmctrfdb, 1); $tdquery->setQuery("SELECT * FROM `trf-details` LEFT JOIN modelarticle ON modelarticle.idmodelarticle=`trf-details`.model WHERE `trf-details`.idtrfdetails='$idtrftd'"); $tdquery->execute(); $description = $tdquery->getColumnVal("sample_description"); $trfn = $tdquery->getColumnVal("trfnumber"); $trfrev = $tdquery->getColumnVal("revtrf"); $mandat = $tdquery->getColumnVal("otherclient"); $tdrev = $tdquery->getColumnVal("td_rev"); $tdnumber = $row['tdnumber']; $trfnumb = $trfn . ' VER.' . $trfrev; $trftdnumber = $trfn . 'TF'; $photocover = $tdquery->getColumnVal("photofilename"); $photoone = $tdquery->getColumnVal("photoone"); $phototwo = $tdquery->getColumnVal("phototwo"); $virusprot = $tdquery->getColumnVal("virusprotection"); $idarttype = $tdquery->getColumnVal("idarticletype"); $slippingtext = $tdquery->getColumnVal("slipping") === 'Y' ? 'Sì' : ($tdquery->getColumnVal("slipping") === '' ? 'No' : $tdquery->getColumnVal("slipping")); $autoclavabletext = $tdquery->getColumnVal("autoclavable") === 'Y' ? 'Sì' : ($tdquery->getColumnVal("autoclavable") === '' ? 'No' : $tdquery->getColumnVal("autoclavable")); $ukcatext = $tdquery->getColumnVal("ukca") === 'Y' ? 'Sì' : ($tdquery->getColumnVal("ukca") === '' ? 'No' : $tdquery->getColumnVal("ukca")); $esdtext = $tdquery->getColumnVal("esd") === 'Y' ? 'Sì' : ($tdquery->getColumnVal("esd") === '' ? 'No' : $tdquery->getColumnVal("esd")); $shoesorthopedictext = $tdquery->getColumnVal("shoesorthopedic") === 'Y' ? 'Sì' : ($tdquery->getColumnVal("shoesorthopedic") === '' ? 'No' : $tdquery->getColumnVal("shoesorthopedic")); $shoesorthopedicmodtext = $tdquery->getColumnVal("shoesorthopedicmod") === 'Y' ? 'Sì' : ($tdquery->getColumnVal("shoesorthopedicmod") === '' ? 'No' : $tdquery->getColumnVal("shoesorthopedicmod")); $conn = new mysqli($servername, $username, $password, $dbname); $kindcont = "headercertificate"; // Usa segnaposti per i parametri $sqlcontact = "SELECT * FROM contacts LEFT JOIN countries ON countries.idcountries=contacts.country WHERE contacts.idtrf='$idtrftd' AND contacts.kindofcontacts='$kindcont'"; // Esecuzione della query $resultcontact = $conn->query($sqlcontact); $rowcontact = $resultcontact->fetch_assoc(); $companyname = $rowcontact["companyname"]; $address = $rowcontact["address"] . ' ' . $rowcontact["cap"] . ' ' . $rowcontact["city"]; $country = $rowcontact["namecountry"]; $phone = $rowcontact["telephone"]; $emailtd = $rowcontact["email"]; $vat = $rowcontact["piva"]; $ceinside = $rowcontact["ce"]; $mark = $tdquery->getColumnVal("registeredmark"); $contactperson = $rowcontact["contactname"] . ' ' . $rowcontact["contactsurname"]; // Chemical agent $conn = new mysqli($servername, $username, $password, $dbname); $sqlchemical = "SELECT trfchemicalagent.level, trfchemicalagent.degradationpercentage, chemicalagent.name_chemicalagent FROM trfchemicalagent LEFT JOIN chemicalagent ON trfchemicalagent.idchemicalagent = chemicalagent.idchemicalagent WHERE trfchemicalagent.idtrf = '$idtrftd'"; $resultchemical = $conn->query($sqlchemical); $chemicalAgents = []; // Array per memorizzare i risultati if ($resultchemical && $resultchemical->num_rows > 0) { // Riempie l'array con i risultati della query while ($rowchemical = $resultchemical->fetch_assoc()) { $chemicalAgents[] = $rowchemical; } } $conn->close(); // Protection cat add $conn = new mysqli($servername, $username, $password, $dbname); $sqlprotect = "SELECT * FROM trfaddrequirements LEFT JOIN additionalrequirements ON trfaddrequirements.idadditionalrequirements = additionalrequirements.idadditionalrequirements WHERE trfaddrequirements.idtrf = '$idtrftd'"; $resultprotect = $conn->query($sqlprotect); $protectionAdd = []; // Array per memorizzare i risultati if ($resultprotect && $resultprotect->num_rows > 0) {; // Riempie l'array con i risultati della query while ($rowprotect = $resultprotect->fetch_assoc()) { $protectionAdd[] = $rowprotect["name_additionalrequirements_it"]; } } $conn->close(); // Connessione al database $conn = new mysqli($servername, $username, $password, $dbname); // Controlla la connessione if ($conn->connect_error) { die("Connessione fallita: " . $conn->connect_error); } // Preparazione della query $tdquerystd = "SELECT * FROM trfstandards LEFT JOIN standards ON trfstandards.idstandards = standards.idstandards LEFT JOIN protectioncategory ON protectioncategory.idprotectioncategory = trfstandards.idprotectioncategory LEFT JOIN dpicategory ON dpicategory.iddpicategory = trfstandards.iddpicategory WHERE trfstandards.idtrfdetails = '$idtrftd'"; // Esecuzione della query $resultstd = $conn->query($tdquerystd); if (!$resultstd) { die("Errore nell'esecuzione della query: " . $conn->error); } $conn = new mysqli($servername, $username, $password, $dbname); // Controlla la connessione if ($conn->connect_error) { die("Connessione fallita: " . $conn->connect_error); } // Preparazione della query $addprot = "SELECT * FROM trfaddrequirements LEFT JOIN additionalrequirements ON trfaddrequirements.idadditionalrequirements = additionalrequirements.idadditionalrequirements WHERE trfaddrequirements.idtrf = '$idtrftd'"; // Esecuzione della query $resultaddreq = $conn->query($addprot); if (!$resultaddreq) { die("Errore nell'esecuzione della query: " . $conn->error); } $tdquerystd = new WA_MySQLi_RS("tdquerystd", $cmctrfdb, 1); $tdquerystd->setQuery("SELECT * FROM trfstandards LEFT JOIN standards ON trfstandards.idstandards=standards.idstandards LEFT JOIN protectioncategory ON protectioncategory.idprotectioncategory=trfstandards.idprotectioncategory LEFT JOIN dpicategory ON dpicategory.iddpicategory=trfstandards.iddpicategory WHERE trfstandards.idtrfdetails='$idtrftd'"); $tdquerystd->execute(); $archivetrflist = new WA_MySQLi_RS("archivetrflist", $cmctrfdb, 0); $archivetrflist->setQuery("SELECT * FROM `trf-details` LEFT JOIN auth_users ON `trf-details`.iduser=auth_users.id LEFT JOIN article_type ON `trf-details`.idarticletype=article_type.idarticletype LEFT JOIN certificationtype ON certificationtype.idcertificationtype=`trf-details`.idcertification WHERE `trf-details`.idcompany='$idcompany' AND `trf-details`.signedon <>'' ORDER BY `trf-details`.trfnumber"); $archivetrflist->execute(); // query prod place //query location place // Assumendo che $idt sia già definito e sanificato per prevenire SQL Injection $conn = new mysqli($servername, $username, $password, $dbname); $querylocation = "SELECT idcontactstd, companyName, address, city FROM contacts_td WHERE idtd = ?"; $stmt = $conn->prepare($querylocation); $stmt->bind_param("i", $idtd); // "i" indica che il parametro è un intero $stmt->execute(); $result = $stmt->get_result(); $rowslocation = []; while ($rowlocation = $result->fetch_assoc()) { $rowslocation[] = $rowlocation; } $stmt->close(); $companylogofinal = !empty($companylogo) ? $base_url . "logos/" . $companylogo : ''; // Crea una nuova istanza di Dompdf $dompdf = new Dompdf(); $html = <<
Logo Azienda

File Tecnico numero: $tdnumber

DATI DEL FABBRICANTE / MANUFACTURER'S DATA
Nome Azienda / Company Name $companyname
Indirizzo / Address $address
Paese / Country $country
Telefono / Phone $phone
Email $emailtd
Partita IVA / VAT Number $vat
Marchio / Mark $mark
Persona di Contatto / Contact Person $contactperson
HTML; if ($ceinside != 'Y') { $kindcont = "extrace"; $sqlcontactextrace = "SELECT * FROM contacts LEFT JOIN countries ON countries.idcountries=contacts.country WHERE contacts.idtrf='$idtrftd' AND contacts.kindofcontacts='$kindcont'"; $resultcontactextrace = $conn->query($sqlcontactextrace); if ($resultcontactextrace->num_rows > 0) { // Esecuzione della query $rowcontactextrace = $resultcontactextrace->fetch_assoc(); $companynameextrace = $rowcontactextrace["companyname"]; $addressextrace = $rowcontactextrace["address"] . ' ' . $rowcontact["cap"] . ' ' . $rowcontact["city"]; $countryextrace = $rowcontactextrace["namecountry"]; $phoneextrace = $rowcontactextrace["telephone"]; $emailtdextrace = $rowcontactextrace["email"]; $vatextrace = $rowcontactextrace["piva"]; $contactpersonextrace = $rowcontactextrace["contactname"] . ' ' . $rowcontactextrace["contactsurname"]; $html .= '
MANDATARIO
Nome Azienda / Company Name ' . $companynameextrace . '
Indirizzo / Address ' . $addressextrace . '
Paese / Country ' . $countryextrace . '
Telefono / Phone ' . $phoneextrace . '
Email ' . $emailtdextrace . '
Partita IVA / VAT Number ' . $vatextrace . '
Persona di Contatto / Contact Person ' . $contactpersonextrace . '
'; } } // prod place $html .= ''; if ($prodplace == 'Y') { $html .= ''; } else { $html .= ''; $html .= ''; foreach ($rowslocation as $rowlocation) { $html .= ""; } $html .= ''; } $html .= '
LUOGO DI PRODUZIONE / PRODUCTION SITE
coincide con il fabbricante / as manufacturer
Nome Azienda / Companu Name Indirizzo / Address Città / City
{$rowlocation['companyName']} {$rowlocation['address']} {$rowlocation['city']}
'; $html .= '
'; //DPI DATA $model = $tdquery->getColumnVal("namemodelarticle"); $measuremin = $tdquery->getColumnVal("measurefrom"); $measuremax = $tdquery->getColumnVal("measureto"); $destppe = $row['destinationuseppe']; $manprocess = $row['manufacutringprocess']; $ppeage = $row['ppeageing']; $obsol = $row['obsolescencedeadline']; $techspec = $row['techspecificationapplied']; if ($ppeage == 'Y') { $ppeagetext = 'Sì'; } else { $ppeagetext = 'No'; } $html .= << DATI RELATIVI AL DPI / PPE DATA Codice Articolo {$description} Modello {$model} HTML; if ($idarttype == 1) { $html .= << Classificazione {$classfinal} HTML; } $html .= << Misura {$measuremin} - {$measuremax} Destinazione d'uso del DPI {$destppe} Processo di lavorazione {$manprocess} DPI soggetto ad invecchiamento {$ppeagetext} {$obsoldate} {$obsol} {$techapplied} {$techspec} HTML; // dpi standard $html .= ''; while ($rowstd = $resultstd->fetch_assoc()) { $stdcode = $rowstd['standardcode']; $dpicat = $rowstd['value_dpicategory']; $html .= ""; }; $html .= '
Norme armonizzate di riferimento {$stdcode} Cat Protezione DPI {$rowstd['name_protectioncategory']} Categoria del DPI {$rowstd['value_dpicategory']}
'; //other info if ($idarttype == 1) { $html .= << Altre informazioni Resistenza allo scivolamento {$slippingtext} Autoclavabile {$autoclavabletext} Certificazione UKCA {$ukcatext} Calzature con plantari personalizzati (DGUV) {$shoesorthopedictext} Calzature modificate con rialzi o inserti nel fondo (DGUV) {$shoesorthopedicmodtext} Calzature ESD {$esdtext} HTML; } // Add prot category $html .= ''; while ($rowaddreq = $resultaddreq->fetch_assoc()) { $html .= ""; }; $html .= '
Categoria di protezione aggiuntiva {$rowaddreq['name_additionalrequirements_it']}
'; //photos da fare $html .= '
'; $html .= '
'; // virus prot if ($virusprot == "Y") : $html .= ''; $html .= '
Protezione da Virus {}
'; endif; // chem agent if (!empty($chemicalAgents)) : $html .= ''; if ($idarttype == 2) { $html .= ''; } $html .= ''; foreach ($chemicalAgents as $agent) : $html .= ""; if ($idarttype == 2) { $html .= ""; } $html .= ''; endforeach; $html .= '
Chemical AgentLevel Degradation Percentage
{$agent['name_chemicalagent']}{$agent['level']} {$agent['degradationpercentage']}
'; endif; $html .= '
'; if ((Auth::user()->hasRole('Admin')) || (Auth::user()->hasRole('CustomerService')) || (Auth::user()->hasRole('Superuser')) || (Auth::user()->hasRole('Certification'))) { $html .= ' '; } //table risk query $riskquery = new WA_MySQLi_RS("riskquery", $cmctrfdb, 0); $riskquery->setQuery("SELECT * FROM fillrisk_td LEFT JOIN riskarea_td ON riskarea_td.idriskarea_td=fillrisk_td.idriskarea_td WHERE fillrisk_td.iddata_td = '$idtd' ORDER BY fillrisk_td.idfillrisk_td"); $riskquery->execute(); $html .= ""; $html .= << HTML; // Aggiungi qui il codice PHP fornito while (!$riskquery->atEnd()) { $risknumber = $riskquery->getColumnVal("risknumber"); $riskname_it = $riskquery->getColumnVal("riskname_it"); $applicable = ($riskquery->getColumnVal("applicable") == "1") ? 'checked' : ''; $customCheckId = "customCheck{$risknumber}"; $covertext = ''; if ($riskquery->getColumnVal("coveredby") == 'coverone') { $covertext = $coverone; } else if ($riskquery->getColumnVal("coveredby") == 'covertwo') { $covertext = $covertwo; } else if ($riskquery->getColumnVal("coveredby") == 'coverthree') { $covertext = $coverthree; } $html .= << HTML; $riskquery->moveNext(); } $html .= << HTML; $html .= '
VALUTAZIONE DEI RISCHI (REQUISITI ESSENZIALI DI SALUTE E SICUREZZA IN ACCORDO ALL'ALLEGATO II DEL REGOLAMENTO (UE) 2016/425) / RISK ASSESSMENT (ESSENTIAL HEALTH AND SAFETY REQUIREMENT ACCORDING TO ANNEX II OF THE REGULATION (EU) 2016/425)
{$requirementnumbertd} {$requirementnametd} {$applicabletd} {$covertbytd}
{$risknumber} {$riskname_it}
{$covertext}
'; $html .= '
'; //parts $html .= ""; $partsquery = new WA_MySQLi_RS("partsquery", $cmctrfdb, 0); $partsquery->setQuery("SELECT * FROM identificationparts WHERE identificationparts.idtrfdetails='$idtrftd'"); $partsquery->execute(); while (!$partsquery->atEnd()) { $html .= ""; $partsquery->moveNext(); } $html .= '
COMPONENTI DEL DPI / PPE PARTS
N. {$descriptionpart} {$articlepart} {$colorpart} {$descriptionpartlist} {$reprtonumbertrdlabtitle} {$trddatereporttitle}
{$partsquery->getColumnVal('partsidnumber')} {$partsquery->getColumnVal('description_identificationparts')} {$partsquery->getColumnVal('article_identificationparts')} {$partsquery->getColumnVal('color_identificationparts')} {$partsquery->getColumnVal('material_identificationparts')} {$partsquery->getColumnVal('cmcreportnumber_identificationparts')} {$partsquery->getColumnVal('cmcreportdate_identificationparts')}
'; $html .= '
'; //ce mark example $localisationppemarking = $row['localisationppemarking']; $sizeexamplecemark = $row['sizeexamplecemark']; $manufacturerlogoid = $row['manufacturerlogoid']; $filenamelogo = $row['filenamelogo']; $monthyearprod = $row['monthyearprod']; $serialbatchnumber = $row['serialbatchnumber']; $standarduse = $row['standarduse']; $symbolsaddreq = $row['symbolsaddreq']; $proddescription = $row['qualchecktext']; $organismnumber = $row['organismnumber']; $cemarkup = $row['cemarkupload']; $filenamelogowithpath = "logos/" . $filenamelogo; // Connessione al database $conn = new mysqli($servername, $username, $password, $dbname); $querytdfile = "SELECT idtdfileattached, filename_fileattached, description_fileattached FROM tdfileattached WHERE iddata_td = ? AND description_fileattached = 'CE mark example'"; $stmt = $conn->prepare($querytdfile); $stmt->bind_param("i", $idtd); $stmt->execute(); $resulttdfile = $stmt->get_result(); $fileUploaded = $resulttdfile->num_rows > 0; $fileDetails = $resulttdfile->fetch_assoc(); $html .= << ESEMPIO DI MARCATURA CE / EXAMPLE OF CE MARKING HTML; if ($cemarkup == 'Y' && $fileUploaded) { $filePath = 'uploadtddocuments/' . htmlspecialchars($fileDetails['filename_fileattached']); $fileDescription = htmlspecialchars($fileDetails['description_fileattached']); $fileExtension = strtolower(pathinfo($filePath, PATHINFO_EXTENSION)); $html .= << FILE (se diverso da immagine il file è caricato nello zip come allegato) HTML; if (in_array($fileExtension, ['jpg', 'jpeg', 'png', 'gif'])) { $html .= "$fileDescription"; } else { $html .= "$fileDescription"; } $html .= << HTML; } else { $html .= << Posizione della marcatura sul DPI {$localisationppemarking} Marchio del fabbricante Codice Articolo $description Indirizzo del fabbricante $address - $country Misura {$sizeexamplecemark} Mese ed anno di produzione {$monthyearprod} Numero di serie e/o di lotto {$serialbatchnumber} Numero ed anno della norma armonizzata utilizzata {$standarduse} Simbolo/i dei requisiti supplementari {$symbolsaddreq} Marcatura CE CE Image HTML; if (!is_null($organismnumber)) { $html .= " Numero Organismo: $organismnumber"; } $html .= << HTML; } $stmt->close(); $conn->close(); $html .= << HTML; $html .= '
'; //mezzi di controllo $html .= << MEZZI DI CONTROLLO E PROVA IN PRODUZIONE PER GARANTIRE LA CONFORMITÀ / MEANS USED DURING THE PRODUCTION TO ENSURE THE CONFORMITY $proddescription HTML; //imballaggio $packaging = $row['packaging']; $declarconformity = $row['declarconformity']; $webaddress = $row['webaddress']; if ($declarconformity == 'declarone') { $declartext = $declarone; } else { $declartext = $declartwo; } $html .= '
'; $html .= << IMBALLAGGIO / PACKAGING - DICHIARAZIONE DI CONFORMITÀ UE / EU DECLARATION OF CONFORMITY Imballaggio {$packaging} Dichiarazione di conformità UE {$declartext} Indirizzo del sito web {$webaddress} HTML; $html .= '


'; // chiusura $html .= ''; echo $html; // Carica il tuo HTML nel Dompdf //$dompdf->loadHtml($html); // (Opzionale) Imposta il formato e l'orientamento della pagina // Puoi specificare la dimensione del documento e l'orientamento come segue: // $dompdf->setPaper('A4', 'landscape'); // Renderizza il PDF //$dompdf->render(); // Stream il PDF al browser //$dompdf->stream("documento.pdf", array("Attachment" => false)); // Cambia "Attachment" a true se vuoi forzare il download del PDF