Visualizzazione risultati 1 fino 7 di 7

Discussione: Problema con form mail con allegato

  1. #1
    Guest

    Predefinito Problema con form mail con allegato

    Salve amici,

    su un altro host ho messo a disposizione posti banner a pagamento però per inviare il banner ci vuole un form mail. Io chiedo a voi perché siete più esperti. Dunque ho provato io stesso (su AV ma dopo tolgo tutto eh) a inviare un banner a me ma mi appare un errore di questo genere:


    Dunque quello nell'immagine è l'errore, sapete come risolvere o vi devo postare il codice?

    Grazie.

    Ciao...

  2. #2
    Ospite Guest

    Predefinito

    Dunque quello nell'immagine è l'errore, sapete come risolvere o vi devo postare il codice?
    Ma secondo te siamo veggenti?
    E' ovvio che devi postare il codice.

    ho messo a disposizione posti banner a pagamento
    Su questo ci sarebbe da fare un bel discorsetto dal punto di vista legale, soprattutto visto che sei minorenne ...ma non andiamo OT.

    Ciao!

  3. #3
    Guest

    Predefinito

    Codice in arrivo:

    file faibanner.php

    Codice PHP:
    <head>
    <
    meta http-equiv="Content-Language" content="it">
    <
    link rel="stylesheet" href="banner.css">
    <
    title>Pubblica il tuo banner</title>
    </
    head>
    <
    p><font size="6" style="font-weight: 400">Pubblica il tuo banner</font></p>
    <
    p>Per pubblicare il tuo banner sulla home page di www.tuttofree.net, compila i moduli sottostanti.
    <
    br><font color="FF0000">Attenzione! Tutti i campi e l'accettazione del contratto sono obbligatori, altrimenti il banner non sarà pubblicato.</font></p>
    <p><form method="post" name="modulo" action="pagabanner.php">
    <table border="0" cellspacing="2" cellpadding="2" width="522">
    <tr>
    <td width="163">Tuo nome:</td>
    <td width="345"><input class="input" size="36" name="nome" maxlength="30"></td>
    </tr>
    <tr>
    <td width="163">Tuo cognome:</td>
    <td width="345"><input class="input" size="36" name="cognome" maxlength="30"></td>
    </tr>
    <tr>
    <td>Tuo indirizzo e-mail:</td>
    <td><input class="input" size="36" maxlength="36" name="email"></td>
    </tr>
    <tr>
    <td width="163">Indirizzo del tuo sito web:</td>
    <td width="345">http://<input class="input" size="29" name="web">/</td>
    </tr>
    <tr>
    <td>Titolo tuo sito web:</td>
    <td><input class="input" size="36" name="tit"></td>
    </tr>
    <tr>
    <td>Banner:</td>
    <td><input class="input" name="allegato" type="file" size="24"></td>
    </tr>
    <tr>
    <td width="508" colspan="2"><br>Contratto:<br><br>
    <textarea readonly="readonly" rows="20" cols="65" name="contratto" style="font-family: Tahoma; font-size: 8pt; font-weight: bold; color: #993333">Contratto tra Webmaster ed Utente:

    1) Il costo della pubblicazione di un banner sulla homepage di www.tuttofree.net è di € 10 annui (iva inclusa);
    2) Il pagamento sarà effettuato con server sicuro PayPal;
    3) Il rinnovo del contratto è facile e facoltativo: per farlo bisogna semplicemente mandare un pagamento con PayPal all'
    indirizzo email "878328@email.it" entro un anno dopo la pubblicazione del banner, se il contratto non lo si vuole rinnovare, semplicemente il banner sarà tolto sempre dopo un anno dalla pubblicazione;
    4) Non è possibile inviare più di un banner dello stesso sito;
    5) Il banner deve essere di dimensioni 120x60 pixel in formato gif e può essere sia statica che animata;
    6) I dati inseriti nei campi sovrastanti devono essere veri, in caso siano falsi, non sarà effettuata la pubblicazione;
    7) Tutti i dati da inserire in questa pagina sono obbligatori, altrimenti il banner non sarà pubblicato.

    Attenzione: il contratto può subire variazioni.</textarea><br><br>Accetti <font color="FF0000"><u>TUTTO</u></font> il contratto?<input type="checkbox" name="accetta" value="off"><select style="font-family: Tahoma; font-size: 8pt; font-weight: bold; color: #993333" size="2" name="accetta2"><option value="Si"></option><option selected value="No">No</option></select></td>
    </
    tr>
    <
    tr>
    <
    td colspan="2">&nbsp;</td>
    </
    tr>
    <
    tr>
    <
    td colspan="2" align="center"><input type="submit" style="width: 260px;" value="Invia e passa alla pagina di pagamento"></td>
    </
    tr>
    </
    table>
    </
    form></p>
    e questo è pagabanner.php

    Codice PHP:
    <head>
    <title>Messaggio inviato</title>
    </head>
    <?php
    // Recupero il valore dei campi del form
    $destinatario = "878328@email.it";
    $nome = "$_POST['nome']";
    $cognome = "$_POST['cognome']";
    $ip = "$_SERVER[REMOTE_ADDR]";
    $oggi = "date(D d M Y, G:i:s)";
    $email = $_POST['email'];
    $web = $_POST['web'];
    $tit = $_POST['tit'];
    $mittente = "$nome $cognome";
    $oggetto = "Banner da $ip con pagamento da vedere";
    $messaggio = "Banner da $ip mandato il $oggi \nNome e cognome: $mittente \nSua email: $email \nSito web: http://$web/ \nTitolo sito: $tit";

    if(empty(
    $accetta) || empty($email) || empty($web) || empty($tit) || empty($file) || empty($nome) || empty($cognome))
    exit(
    "Controlla di aver riempito tutti i campi e accettato il contratto!");

    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];

    // Creo 2 variabili che riempir pi avanti...
    $headers = "From: " . $mittente;
    $msg = "";

    // Verifico se il file stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
    // Apro e leggo il file allegato
    $file = fopen($allegato,'rb');
    $data = fread($file, filesize($allegato));
    fclose($file);

    // Adatto il file al formato MIME base64 usando base64_encode
    $data = chunk_split(base64_encode($data));

    // Genero il "separatore"
    // Serve per dividere, appunto, le varie parti del messaggio.
    // Nel nostro caso separer la parte testuale dall'allegato
    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    // Aggiungo le intestazioni necessarie per l'allegato
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary=\"{$mime_boundary}\"";

    // Definisco il tipo di messaggio (MIME/multi-part)
    $msg .= "This is a multi-part message in MIME format.\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Questa la parte "testuale" del messaggio
    $msg .= $messaggio;

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Aggiungo l'allegato al messaggio
    $msg .= "Content-Disposition: attachment;\n";
    $msg .= " filename=\"{$allegato_name}\"\n";
    $msg .= "Content-Transfer-Encoding: base64\n\n";
    $msg .= $data . "\n\n";

    // chiudo con il separatore
    $msg .= "--{$mime_boundary}--\n";
    $ora_array= getdate();
    }
    else
    {
    $msg = $messaggio;
    }
    if (
    mail($destinatario, $oggetto, $msg, $headers))
    {
    echo
    "<script type="text/javascript">alert('Banner inviato, ora premi sul pulsante Paga con PayPal e il tuo banner sar&agrave; pubblicato entro 2 giorni.')</script>";
    }else{
    echo
    "<script type="text/javascript">alert('Errore: Il banner non &egrave; stato inviato!')</script>";
    }
    ?>

    <link rel="stylesheet" href="banner.css">
    <p align="center"><font style="font-size: 10pt">Banner inviato alla redazione tuttofree.net che lo pubblicherà entro 2 giorni dal pagamento. In caso di mancata pubblicazione, contattaci a redazione@tuttofree.net.</font></p>
    <p align="center"><form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="business" value="878328@email.it">
    <input type="hidden" name="item_name" value="Pagamento banner">
    <input type="hidden" name="no_shipping" value="2">
    <input type="hidden" name="no_note" value="1">
    <input type="hidden" name="currency_code" value="EUR">
    <input type="hidden" name="amount" value="8">
    <input type="hidden" name="tax" value="2">
    <input type="hidden" name="lc" value="IT">
    <input type="hidden" name="bn" value="PP-DonationsBF">
    <button type="submit" style="float: center">Paga con PayPal</button></form></p>

    Citazione Originalmente inviato da probid Visualizza messaggio
    Su questo ci sarebbe da fare un bel discorsetto dal punto di vista legale, soprattutto visto che sei minorenne ...ma non andiamo OT.
    Ma dai...io parlo in prima persona ma tutto è a nome di mio zio che ha la partita iva (in altervista per test, ma poi tutto fuori eh).

    Ciao...
    Ultima modifica di heidi52 : 03-01-2008 alle ore 22.22.22

  4. #4
    Guest

    Predefinito

    Togli le virgolette dov'è presente l'array $_POST.


    Ciao!

  5. #5
    Ospite Guest

    Predefinito

    Non ho controllato la logica dello script, ma dando un'occhiata veloce alla sintassi ti ho corretto alcune parti del codice:

    Codice PHP:
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $ip = $_SERVER['REMOTE_ADDR'];
    $oggi = date('D d M Y, G:i:s');
    $email = $_POST['email'];
    $web = $_POST['web'];
    $tit = $_POST['tit'];
    Codice PHP:
    echo "<script type=\"text/javascript\">alert('Banner inviato, ora premi sul pulsante Paga con PayPal e il tuo banner sar&agrave; pubblicato entro 2 giorni.')</script>";
    Codice PHP:
    echo "<script type=\"text/javascript\">alert('Errore: Il banner non &egrave; stato inviato!')</script>";
    Ma dai...io parlo in prima persona ma tutto è a nome di mio zio che ha la partita iva (in altervista per test, ma poi tutto fuori eh).
    bah.

    Ciao!

  6. #6
    Guest

    Predefinito

    Non funziona provo a compilare tutti i campi ma mi appare questo:



    Ciao...

  7. #7
    Ospite Guest

    Predefinito

    Codice:
    if(empty($accetta) || empty($email) || empty($web) || empty($tit) || empty($file) || empty($nome) || empty($cognome))
    Non dichiari $accetta nè $file...

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •