Visualizzazione dei risultati da 1 a 7 su 7

Discussione: FPDF e PHPMailer

  1. #1
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149

    FPDF e PHPMailer

    ciao,
    ho fatto un modulo di registrazione che completati i campi e cliccando su Invia invia una e-mail ad un indirizzo fisso e in seguito genera un PDF.

    il mio problema è che in locale lo script funziona(commentando la parte relativa all'invio della mail) mentre quando lo provo da remoto da questo errore
    codice:
    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /membri/banditociclismo/mieiScript/clsPDF.php on line 6
    ho provato ad eseguire la parte dell'invio della mail con PHPMailer da sola e funziona

    il codice è il seguente
    Codice PHP:
    <?php
        ob_start
    ();
        require(
    "clsPDF.php");
        require(
    "PHPMailer/class.phpmailer.php");

        if(isset(
    $_POST['nome']) && isset($_POST['cognome']) && isset($_POST['indirizzo']) && isset($_POST['dataNascita']) && isset($_POST['ente']) && isset($_POST['numeroTessera']) && isset($_POST['societa']) && isset($_POST['codiceSocieta'])) {
            
    $nome             $_POST['nome'];
            
    $cognome         $_POST['cognome'];
            
    $indirizzo         $_POST['indirizzo'];
            
    $dataNascita     $_POST['dataNascita'];
            
    $ente             $_POST['ente'];
            
    $numeroTessera     $_POST['numeroTessera'];
            
    $societa         $_POST['societa'];
            
    $codiceSocieta     $_POST['codiceSocieta'];
            
            
    //  #######     MAIL     #######
            
    $mail = new PHPMailer();
        
            
    $mail->From "sito@mail.it";
            
    $mail->FromName "sito prova";
            
    $mail->Subject "Iscrizione di " $cognome " " $nome " alla gara";
        
            
    $s  "Iscrizione alla gara avvenuta. \n\n";
            
    $s .= "    -- Dati Personali --\n";
            
    $s .= "Nome: " $nome "\n";
            
    $s .= "Cognome: " $cognome "\n";
            
    $s .= "Indirizzo: " $indirizzo "\n";
            
    $s .= "Data di nascita: " $dataNascita "\n\n";
            
    $s .= "    -- Dati Società --\n";
            
    $s .= "Ente: " $ente "\n";
            
    $s .= "Numero tessera: " $numeroTessera "\n";
            
    $s .= "Societ&agrave;: " $societa "\n";
            
    $s .= "Codice societ&agrave;: " $codiceSocieta "\n\n\n";
            
    $s .= "Saluti, \n";
            
    $s .= "     S.A.I.M.I. (Sistema Automatico Invio Mail di Iscrizione)";
            
    $mail->Body $s;

            
    $mail->AddAddress("mia@mail.org");
            
            if(!
    $mail->Send()) {
                echo 
    'Errore: ' $mail->ErrorInfo;
            }

            
    //  #######     PDF     #######
            // inizializzo il pdf        
            
    $p = new PDF();
            
    $p->open();
            
    $p->AddPage();
                    
            
    // creo la mia pagina
            
    $p->setHeader("");
            
    $p->setFooter("Documento generato da [url]www.banditociclismo.com[/url]",120,120,120,"Arial",8,"I");
            
    $p->setNumPage(true,"- "," -","C");
            
            
    // ...data
            
    $p->data("G gg mm aaaa");
    //        $p->data("gg/mm/aaaa");
    //        $p->data("aaaa/mm/gg");
            
            // ...logo
            
    $p->Image('logo.jpg'952526);
            
    $p->Ln(20);
            
            
    // ...titolo
            
    $p->h1("Iscrizione gara","orange");
            
            
    // ...corpo
            
    $p->SetTextColor(000); // colore nero
            
    $p->SetFont('Arial'''10); //imposto il carattere
            
            
    $p->h2("Dati personali","lightBlue","L");
            
    $p->MultiCell(05"Nome: " $nome0"J");
            
    $p->MultiCell(05"Cognome: " $cognome0"J");
            
    $p->MultiCell(05"Indirizzo: " $indirizzo0"J");
            
    $p->MultiCell(05"Data di nascita: " $dataNascita0"J");
            
            
    $p->Ln(7);
            
            
    $p->h2("Dati società","lightBlue","L");
            
    $p->MultiCell(05"Ente: " $ente0"J");
            
    $p->MultiCell(05"Numero tessera: " $numeroTessera0"J");
            
    $p->MultiCell(05"Società: " $societa0"J");
            
    $p->MultiCell(05"Codice società: " $codiceSocieta0"J");
            
            
    // scrivo la pagina
            
    $p->Output();
        }
        else {
    ?>

    <html>
        <head>
            <title>Modulo registrazione</title>
        </head>

        <body>
            <center>
                <form name="F" style="width:400;" action="registrazione.php" method="post">
                    <fieldset>
                        <legend>Dati personali</legend>
                        <table align="center">
                            <tr>
                                <td>Nome</td>
                                <td><input type="text" name="nome" /> <font color="#FF0000">*</font></td>
                            </tr>
                            <tr>
                                <td>Cognome</td>
                                <td><input type="text" name="cognome" /> <font color="#FF0000">*</font></td>
                            </tr>
                            <tr>
                                <td>Indirizzo</td>
                                <td><input type="text" name="indirizzo" /> <font color="#FF0000">*</font></td>
                            </tr>
                            <tr>
                                <td>Data di Nascita</td>
                                <td><input type="text" name="dataNascita" /> <font color="#FF0000">*</font></td>
                            </tr>
                        </table>
                    </fieldset>
                    <fieldset>
                        <legend>Dati societ&agrave;</legend>
                        <table align="center">
                            <tr>
                                <td>Ente</td>
                                <td><input type="text" name="ente" /> <font color="#FF0000">*</font></td>
                            </tr>
                            <tr>
                                <td>Numero Tessera</td>
                                <td><input type="text" name="numeroTessera" /> <font color="#FF0000">*</font></td>
                            </tr>
                            <tr>
                                <td>Societ&agrave; di Appartenenza</td>
                                <td><input type="text" name="societa" /> <font color="#FF0000">*</font></td>
                            </tr>
                            <tr>
                                <td>Codice Societ&agrave;</td>
                                <td><input type="text" name="codiceSocieta" /> <font color="#FF0000">*</font></td>
                            </tr>
                        </table>
                    </fieldset>
                    <font color="#FF0000" size="2">(*) i seguenti campi sono obbligatori</font>
                    

                    

                    <input type="submit" value="Invia"><input type="reset" value="Reset">
                </form>
            </center>
        </body>
    </html>
    <?php
        
    }
    ?>
    l'errore lo dà nel file clsPDF.php che estende la classe FPDF
    Codice PHP:
    <?php
        define
    ('FPDF_FONTPATH','./font/');
        require(
    'fpdf.php');
        
        class 
    PDF extends fpdf {
            protected 
    $headerTxt;
            
            
    // footer
            
    protected $footerTxt;
            
    //   ..colore
            
    protected $fTxtR 0;
            protected 
    $fTxtG 0;
            protected 
    $fTxtB 0;    


    .........

    ?>
    perchè da errore sulla linea 6 (protected $headerTxt;)??
    potrebbe essere il comando ob_start(); che necessita di qualche modifica al php.ini??

    grazie e scusate per la lunghezza
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  2. #2
    Stai tentando di usare una sintassi PHP 5 con PHP 4.

  3. #3
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ah...quindi come risolvo??

    cioè ma sarebbe questo
    protected $headerTxt;
    la sintassi di php5?? il protected?? oppure è qualcosaltro..ad esempio ob_start(); o qualcosa di FPDF
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  4. #4
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ehi nessuno sà dirmi qual'è l'istruzione che non va bene??
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  5. #5
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ho provato a spezzare il codice in 3 file differenti
    registrazione.php => che contiene il modulo di registrazione e il controllo sui campi
    mandaMail.php => che ricevuti tramite GET i valori crea la mail e la invia
    creaPDF.php => che ricevuti tramite GET i valori crea il PDF e lo mostra.

    il passaggio da registrazione.php a mandaMail.php lo gestisco tramite
    Codice PHP:
    header("Location: mandaMail.php?var1=val1&var2=val2&...."); 
    e fin qui nessun problema...mi entra nella pagina e i valori sono passati correttamente ma quando cerco di passare da mandaMail.php a creaPDF.php nello stesso modo
    Codice PHP:
    header("Location: creaPDF.php?var1=val1&var2=val2&...."); 
    mi dà errore sull'header dicendo che non può modificarlo...ho provato a mettere ob_start(); ma non cambia
    l'errore è
    codice:
    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\banditociclismo\mandaMail.php:1) in C:\xampp\htdocs\banditociclismo\mandaMail.php on line 58
    sapete come forzare l'header??
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  6. #6

  7. #7
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ok adesso non ho nessuna stampa...nel codice di prima era solo per il debug in locale...solo che mi da cmq il warning...
    anche un blocco di stile scrive dati...
    per lo meno adesso l'errore si è spostato sull'altro file

    -------- EDIT --------

    adesso sembra funzioni(in locale)
    grazie per l'aiuto
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.