[PHP] Generare file pdf con inserimento dati

@Sergio Unia volevo una spiegazione, lo script estrae tutti i campi, ok ma non riesco a capire come fare per confermare sul pdf i dati inseriti:
ES:
creo la tessera n. nome. cognome. ecc..
quando clicco su invia, mi invia i dati solo al db ma nn mi genera il file pdf della tessera creata. dovro io ad esempio in
PHP:
echo 'Tessera attivata correttamente! ';   //qui a fine inserimento volevo generare il pdf con i dati cliente
Dovrei inserire qualche variabile per caso in echo?
PHP:
      <?php


         if(isset($_POST['Tessera'])) {


            $dbhost = '';

            $dbuser = '';

            $dbpass = '';

            $conn = mysql_connect($dbhost, $dbuser, $dbpass);

            if(! $conn ) {

               die('Could not connect: ' . mysql_error());


            }

      if(! get_magic_quotes_gpc() ) {



               $Tessera = addslashes ($_POST['Tessera']);
               
               $Codice_agenzia = addslashes ($_POST['Codice_agenzia']);
               
               $Agenzia = addslashes ($_POST['Agenzia']);

               $Nome = addslashes ($_POST['Nome']);

              $Cognome = addslashes ($_POST['Cognome']);

              $Codice_fiscale = addslashes ($_POST['Codice_fiscale']);

              $Codice_cliente = addslashes ($_POST['Codice_cliente']);

              $Indirizzo = addslashes ($_POST['Indirizzo']);

              $Comune = addslashes ($_POST['Comune']);

              $Data_di_nascita = addslashes ($_POST['Data_di_nascita']);

              $Indirizzo_email = addslashes ($_POST['Indirizzo_email']);

              $Telefono = addslashes ($_POST['Telefono']);

              $Username = addslashes ($_POST['Username']);

              $Password = addslashes ($_POST['Password']);
             
              $Conferma_password = addslashes ($_POST['Conferma_password']);



            }else {



               $Tessera = $_POST['Tessera'];
               
               $Codice_agenzia = $_POST['Codice_agenzia'];
               
               $Agenzia = $_POST['Agenzia'];

              $Cognome = $_POST['Cognome'];

               $Nome = $_POST['Nome'];

              $Codice_fiscale = $_POST['Codice_fiscale'];

              $Codice_cliente = $_POST['Codice_cliente'];

              $Indirizzo = $_POST['Indirizzo'];

              $Comune = $_POST['Comune'];

              $Data_di_nascita = $_POST['Data_di_nascita'];

              $Indirizzo_email = $_POST['Indirizzo_email'];

              $Telefono = $_POST['Telefono'];

              $Username = $_POST['Username'];

              $Password = $_POST['Password'];
             
              $Conferma_password = $_POST['Conferma_password'];

       

            }




             $sql = "INSERT INTO Profilo ". "(Tessera, Codice_agenzia, Agenzia, Cognome, Nome, Codice_fiscale, Codice_cliente, Indirizzo, Comune, Data_di_nascita, Indirizzo_email, Telefono, Username, Password, Conferma_password)"." VALUES('$Tessera', '$Codice_agenzia', '$Agenzia', '$Cognome','$Nome','$Codice_fiscale','$Codice_cliente', '$Indirizzo', '$Comune','$Data_di_nascita','$Indirizzo_email','$Telefono','$Username','$Password','$Conferma_password')";

            mysql_select_db('');
            $retval = mysql_query( $sql, $conn );



           



            if(! $retval ) {



               die('Could not enter data: ' . mysql_error());



            }
           

$generator = new \Picqer\Barcode\BarcodeGeneratorPNG();

echo 'TESSERA ATTIVATA CORRETTAMENTE!';


            mysql_close($conn);



         }else {



            ?>
 
Ciao,
scusa il ritardo.

Nel tuo script, subito dopo queste righe:

echo 'TESSERA ATTIVATA CORRETTAMENTE!';
mysql_close($conn);

inserisci:

header("Location: pdf/profilo_pdf.php?Tessera=$Tessera");

poi nel file profilo_pdf.php che ti ho mandato modifica questa riga:

$query = "Select * from cris8380.Profilo order by Tessera";

così:

$query = "Select * from cris8380.Profilo where Tessera = '".$_GET['Tessera']."'";

(occhio agli apici)

ovviamente questo ti stamperà un solo record con il layout dell'esempio che ti ho mandato, vedi tu come riposizionare i campi.

dovrebbe funzionare, fammi sapere.

Buona notte.

s.
 
Buongiorno

non mi appaiono i nominativi nel pdf per caso ci sarà qualche errore nello script? io penso di aver fatto giusto.
 
Ciao,
prova a spiegarmi meglio.
Non viene creato il pdf, viene creato vuoto, compaiono messaggi di errore, non passa alla pagina del pdf ?
Sono sicuro che lo script funzioni perché l'ho testato in locale, quindi dobbiamo trovare il problema ma mi dovresti dare indicazioni più precise.
 
ho eseguito correttamente le tue indicazioni come sopra, ma i nominativi non mi appaiono in pdf il pdf viene generato correttamente
 
Sergio ho rivisto il file profilo_pdf.php e ho notato che manca questa riga, posso anche sbagliarmi ma giusto per curiosità
PHP:
$db=mysql_select_db("DB", $link_connessione) or die ("Database inesistente!"); // una cosa del genere
 
Quella riga serve a definire il nome del database. Per semplificare avevo compreso il nome direttamente nella query indicandoti nei commenti di cambiarlo.

Prova a sostituire questa riga:
$query = "Select * from cris8380.Profilo where Tessera = '".$_GET['Tessera']."'";

con

query = "Select * from DB.Profilo where Tessera = '".$_GET['Tessera']."'";

cioè alla parola from deve seguire il nome del tuo database, un punto e la parola Profilo.
 
Sergio scusami se ti contatto di nuovo, volevo chiedere una cosa:
ho scaricato da un sito, degli script che generano codici a barre nei pdf ma non riesco a capire come far generare il codice nel pdf, gli script sono gia pronti e solo come richiamare l'immagine del codice nel pdf. ti allego gli script

nel .zip ci sono 3 file
2 sono classi e le ho messe nella cartella pdf e l'altro è lo script che genera il barcode.
l'altra invece è una cartella e sono i font ma nel sito produttore dice:
Un esempio di codice per l’applicazione della classe:

PHP:
<?php
require('ezbarcode.php');
$pdf =&amp; new PDF('a4','portrait');
$pdf->selectFont('./fonts/Courier');
$pdf->EAN13(40,700,'123456789012');
$pdf->stream();
?>

Ho provato a mettere questa stringa di codice nel file profilo_pdf.php ma non funziona.
Come posso risolverlo tu sei a conoscenza dei barcode? Grazie
 

Allegati

Ciao Cris,
scusa il ritardo, sono stato fuori sede qualche giorno e non sono entrato nel forum.
Sinceramente mi è mai capitato di creare barcode con FPDF, ma ho notato che il tuo script ha già generato un barcode prima di passare al PDF con la riga: $generator = new \Picqer\Barcode\BarcodeGeneratorPNG();
Ora io non conosco questa libreria ma immagino che generi un file PNG contenente il barcode, se è così non devi far altro che includerlo nel file PDF così:
$PDF->Image("nomedelfile.png",WW,HH); dove WW e HH indicano le dimensioni in pixel che vuoi assegnare al barcode.

Spero di esserti stato utile.
Buon we.
 

Discussioni simili