Visualizzazione dei risultati da 1 a 6 su 6

Discussione: form php

  1. #1

    form php

    Salve a tutti!Vi chiedo cortesemente un grande favore,non essendo esperto di php.
    Devo creare un form mail che abbia i campi obbligatori e che permetta anche di allegare un file (qualsiasi).
    Il suo contenuto deve essere più o meno così :
    Nome*
    Cognome*
    Mail*
    Città
    Telefono*
    Codice fiscale*
    Partita Iva*
    Allega file*

    *= campi obbligatori

    Ho provato molti script, ma con molti script se inserisco l'allegato mi arrivano per email anche tutti i dati nome, cognome, mail, citta', mentre se non inserisco allegato l'email mi arriva vuota.
    Io voglio che anche non inserendo l'allegato l'email venga vista correttamente con tutti i suoi dati.
    E' possibile?



    Vi prego aiutatemi!!Grazie per l'attenzione!
    Risolvo piccoli, medi, e grandi problemi di pc. Sono un tecnico informatico esperto da 8 anni.

  2. #2
    Utente di HTML.it L'avatar di dash
    Registrato dal
    Jan 2008
    Messaggi
    46
    Ma vuoi un form già scritto per intero o hai bisogno di qualche consiglio su come risolvere il problema su un form già esistente? Nel secondo caso posta un pò di codice almeno si può dare un'occhiata. Ciao
    dash

  3. #3
    Gradirei se per intero...
    Grazie
    Magri più tardi ne posto uno esistente, uno che usato io
    Risolvo piccoli, medi, e grandi problemi di pc. Sono un tecnico informatico esperto da 8 anni.

  4. #4
    Ecco i codici....

    Vi prego di aiutarmi

    il file form.html è questo

    Codice PHP:
    Il file form.html è questo :

    <!
    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <
    title>Form mail</title>

    <
    script type="text/javascript" language="javascript">
    function 
    valida(){
    if (!
    confirm('Confermi i dati inseriti?')) return false;

    if (
    document.getElementById('nome').value=='') {
    alert('Compilare correttamente il campo Nome!');
    document.getElementById('nome').focus();
    return 
    false;
    }

    if (
    document.getElementById('cognome').value=='') {
    alert('Compilare correttamente il campo Cognome!');
    document.getElementById('cognome').focus();
    return 
    false;
    }

    if (
    document.getElementById('mail').value=='') {
    alert('Compilare correttamente il campo Mail!');
    document.getElementById('mail').focus();
    return 
    false;
    }

    if (
    document.getElementById('citta').value=='') {
    alert('Compilare correttamente il campo Città!');
    document.getElementById('citta').focus();
    return 
    false;
    }

    if (
    document.getElementById('telefono').value=='') {
    alert('Compilare correttamente il campo Telefono!');
    document.getElementById('telefono').focus();
    return 
    false;
    }

    if (
    document.getElementById('codice_fiscale').value=='') {
    alert('Compilare correttamente il campo Codice_fiscale!');
    document.getElementById('codice_fiscale').focus();
    return 
    false;
    }

    if (
    document.getElementById('p_iva').value=='') {
    alert('Compilare correttamente il campo P_iva!');
    document.getElementById('p_iva').focus();
    return 
    false;
    }


    return 
    true;
    }
    //valida
    </script>

    </head>

    <body>
    <form action="invio.php" method="post" enctype="multipart/form-data" onsubmit="return valida();">
    <input type="hidden" name="destinatario" value="info@miosito.it">
    <table align="center" width="600" cellpadding="2" cellspacing="2">
    <tr>
    <td>Nome *</td>
    <td><input type="text" name="nome" id="nome" size="30" maxlength="100" /></td>
    </tr>
    <tr>
    <td>Cognome *</td>
    <td><input type="text" name="cognome" id="cognome" size="30" maxlength="100" /></td>
    </tr>
    <tr>
    <td>Oggetto</td>
    <td><input name="oggetto" type="text" id="oggetto" value="oggetto" size="30" maxlength="100" /></td>
    </tr>
    <tr>
    <td>Mail *</td>
    <td><input type="text" name="mail" id="mail" size="30" maxlength="100" /></td>
    </tr>
    <tr>
    <td>Città *</td>
    <td><input type="text" name="citta" id="citta" size="30" maxlength="100" /></td>
    </tr>
    <tr>
    <td>Telefono *</td>
    <td><input type="text" name="telefono" id="telefono" size="30" maxlength="100" /></td>
    </tr>
    <tr>
    <td>Codice fiscale *</td>
    <td><input type="text" name="codice_fiscale" id="codice_fiscale" size="30" maxlength="100" /></td>
    </tr>
    <tr>
    <td>P iva *</td>
    <td><input type="text" name="p_iva" id="p_iva" size="30" maxlength="100" /></td>
    </tr>
    <tr>
    <td>Allegato *

    </td>
    <td><input type="file" name="allegato" id="allegato" /></td>
    </tr>
    </table>
    <div align="center">
    <input type="submit" value="Invia dati" />
    </div>
    </form>
    </body>
    </html> 
    il file invio.php è questo

    Codice PHP:
    <?php

    $to
    "xxxxx@xxxxx.it";
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $oggetto=$_POST['oggetto'];
    $mail=$_POST['mail'];
    $citta=$_POST['citta'];
    $telefono=$_POST['telefono'];
    $codice_fiscale=$_POST['codice_fiscale'];
    $p_iva=$_POST['p_iva'];

    $messaggio='

    Nome :
    '
    .$nome.'

    Cognome :
    '
    .$cognome.'

    Oggetto :
    '
    .$oggetto.'

    Mail :
    '
    .$mail.'

    Città :
    '
    .$citta.'

    Telefono :
    '
    .$telefono.'

    Codice Fiscale :
    '
    .$codice_fiscale.'

    p_iva :
    '
    .$p_iva.'

    '
    ;

    $allegato $_FILES['allegato']['tmp_name'];
    $allegato_type $_FILES['allegato']['type'];
    $allegato_name $_FILES['allegato']['name'];

    $headers "From: " $mail;
    $msg "";

    if (
    is_uploaded_file($allegato))
    {
    $file fopen($allegato,'rb');
    $data fread($filefilesize($allegato));
    fclose($file);
    $data chunk_split(base64_encode($data));
    $semi_rand md5(time());
    $mime_boundary "==Multipart_Boundary_x{$semi_rand}x";

    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary=\"{$mime_boundary}\"";
    $msg .= "This is a multi-part message in MIME format.\n\n";
    $msg .= "--{$mime_boundary}\n";


    $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
    $msg .= $messaggio "\n\n";
    $msg .= "--{$mime_boundary}\n";

    $msg .= "Content-Disposition: attachment;\n";
    $msg .= " filename=\"{$allegato_name}\"\n";
    $msg .= "Content-Transfer-Encoding: base64\n\n";
    $msg .= $data "\n\n";

    $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
    echo 
    "

    Errore!</p>"
    ;
    }


    if (
    mail($to$oggetto$msg$headers))
    {
    echo 
    "

    Mail inviata con successo!</p>"
    ;
    }else{
    echo 
    "

    Errore!</p>"
    ;
    }
    ?>
    Il problema è che se io mando la mail con allegato allora vedo sia l'allegato inserito sia i dati inseriti, se invece invio senza allegato la mail che arriva è completamente vuota.
    Potete aiutarmi gentilmente?
    Mi spiego meglio:
    Io voglio che sia con allegato sia senza allegato, i dati inseriti arrivino correttamente quando ricevo la mail. Attualmente cosi come è ricevo i dati SOLO se viene inserito l'allegato.
    Potete aiutarmi?
    Risolvo piccoli, medi, e grandi problemi di pc. Sono un tecnico informatico esperto da 8 anni.

  5. #5
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    863
    Prova ad eliminare le variabile degli allegati, se sono nulli, con delle If $allegato ...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    66

    form non invia

    salve ragazzi ho il mio form che quando si compila non fa l'nvio mi viene la pagina riprova a rispedirlo

    per cortesia qualcuno puo aiutarmi a trovare l'errore?
    vi ringrazio

    non posso mettere link qui per dimostravi
    qualcuno puo contattare per via e-mail

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 © 2024 vBulletin Solutions, Inc. All rights reserved.