Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: chiarimento su upload

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    64

    chiarimento su upload

    Ciao a tutti! ho guardato un po sul sito e nel forum riguardo all'argomento UPLOAD, ma essendo alle prime armi con PHP dopo un po mi perdo....

    Espongo il mio problema:

    ho creato un form (curriculum vitae) dove l'utente compilando i vari campi puo spedire tramite web. I dati inseriti nel form arrivano corretti alla mia mail. se volessi permettere all'utente di inviare anche un file (che è sul suo pc)tramite il form? Ho inserito il campo per l'upload del file ma poi? (<input name="allegato" type="file" id="allegato">)Come diventerebbe la pagina php?

    questo è il file php dove raccolgo i dati inseriti e a cui punta la form dopo l'invio:

    <html>
    <head>
    <title>Grazie</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#181050" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">


    <?php

    $testo = "Nome:$nome\n";
    $testo .= "Cognome:$cognome\n";
    $testo .= "Data di nascita:$data_nascita\n";
    $testo .= "Luogo di nascita:$luogo_nascita\n";
    $testo .= "Nazionalità:$nazionalita\n";
    $testo .= "Stato civile:$stato_civile\n";
    $testo .= "Città:$citta\n";
    $testo .= "Cap:$cap\n";
    $testo .= "Via:$via\n";
    $testo .= "Telefono:$telefono\n";
    $testo .= "Email:$email\n";
    $testo .= "Servizio militare:$militare\n";
    $testo .= "Automunito:$patente\n";
    $testo .= "Lingue straniere:$lingue\n";
    $testo .= "Conoscenza lingua straniera:$livello_lingua\n";
    $testo .= "Note:$note\n";


    mail("rossi.mario@tin.it", "Curriculum Vitae", $testo);
    ?>

    <p align="center"><font face="Arial, Helvetica, sans-serif" size="5" color="#FFFFFF">Grazie
    per avere compilato il form.</font>

    </body>
    </html>

    grazie in anticipo....

  2. #2
    per gestire l'invio di file tramite mail io uso l'ottima classe phpmailer, la trovi su souceforge.net, è semplice da usare e alo stesso tempo ti permette di fare tantissime cose!

    http://phpmailer.sourceforge.net/




    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    64
    ti ringrazio...ma cos'è la classe phpmailer?qualcosa di più semplice per me comune mortale? cioè senza stravolgere il mio file di php...
    Come diventerebbe?

    Brutta bestia l'ignoranza....

    Grazie mille

  4. #4
    phpmailer altro non è che una classe già fatta per gestire il traffico in uscita delle mail dal tuo mailserver verso qualsiasi altro indirizzo.
    La classe è già compilata, quindi tu non devi fare assoutamente niente

    ani usarla è semplicissimo e non devi stravolgere niente del tuo codice, ti faccio un piccolo esempio:

    codice:
    require("class.phpmailer.php");
    
    $mail = new PHPMailer();
    
    $mail->From     = "mail@domani.com"; // from mail
    $mail->FromName = "paolo rossi";     // from name
    
    // con AddAddress aggiungi tutti gli indirizzi a cui lo vuoi inviare
    $mail->AddAddress("indirizzo1@email.com", "Nome");
    $mail->AddAddress("indirizzo2@email.com", "Nome");
    $mail->AddAddress("indirizzo3@email.com", "Nome");
    
    // con AddBCC aggiungi gli indirizzi in carbon-copy
    $mail->AddBCC("indirizzo4@email.com", "Nome");
    $mail->Subject = "oggetto della mail";
    $mail->Body    = "";	// qui metti il tuo testo
    
    // ed ecco come aggiungere allegati
    $mail->AddAttachment("percorsofile", "nomefile");  // allegato
    
    if(!$mail->Send())
    {
       echo "fatal server error";
       exit;
    }

    comunque sul sito trovi molti esempi.

    Io avevo risolto il problema degli allegati anche senza la classe, seguendo la pillola che trovi nel regolamento, ma una volta scoperta la classe non l'ho più abbandonata perché mi risulta molto più semplice ed intuitivo usarla, nonchè più veloce.






    p.s. se non vuoi utilizzare la classe utilizza pure la pillola che è fatta altrettanto bene e non dovresti avere problemi
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    altra cosa che ho dimenticato, ma che probabilmente hai già agigunto tu, nel form, avendo aggiunto il campo form devi aggiungere l'attributo enctype altrimenti non funziona:

    <form enctype="multipart/form-data" name="form" action="pagina.php" method="post">




    ciauz!!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    64
    quindi la mia pagina php diventa cosi?


    <html>
    <head>
    <title>Grazie</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <?php
    require("class.phpmailer.php");

    $mail = new PHPMailer();

    $mail->From = "mia.mail@tin.it"; // from mail
    $mail->FromName = "paolo rossi"; // from name

    // con AddAddress aggiungi tutti gli indirizzi a cui lo vuoi inviare
    $mail->AddAddress("mia.mail@tin.it", "Nome");

    // con AddBCC aggiungi gli indirizzi in carbon-copy
    $mail->AddBCC("marcocaldara@hotmail.com", "Nome");
    $mail->Subject = "Curriculum Vitae";
    $mail->Body = "grazie per aver compilato il form"; // qui metti il tuo testo

    // ed ecco come aggiungere allegati (la cartella upload l'ho creata io sul mio web server)
    $mail->AddAttachment("/usr/home/plastik.it/public_html/beta/upload", "allega"); // allegato

    if(!$mail->Send())
    {
    echo "fatal server error";
    exit;
    }
    ?>
    </html>


    mi sa che ho sbagliato qualcosa perche mi da errore sul percoroso...
    Fatal error: Failed opening required 'class.phpmailer.php' (include_path='.:/usr/share/pear') in /usr/home/plastik.it/public_html/beta/riepilogo_prova.php on line 8

  7. #7
    ti dice che non trova la classe phpmailer, l'hai messa nella stessa cartella?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    64
    cioe? devo scaricare la classe phphmailer e metterla nella cartella upload?

    ma il codice è giusto?

    grazie....

  9. #9
    si beh se includi una classe dovrai pur averla a portata di mano

    comunque basta che scarichi la classe le dai il nome che vuoi e poi la includi nel tuo file passando il percorso giusto.

    Il codice mi sembra giusto, l'unica cosa è che non so se puoi allegare direttamente una cartella, ma penso dei files singoli.




    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    64
    ho copiato la classe al di fuori della cartella upload, la mail arriva ma con scritto grazie per avere compilato il form

    ma i dati che inserisco nel form che fine fanno?(nome,cognome...) sono quelli che dovrebbero comparire nel corpo della mia mail....e neanche l'allegato non arriva....

    inizio ad odiare gli upload....

    dove sta il problema?

    ancora grazie...

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.