Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 15-07-10, 11:43   #1 (permalink)
User Newbie
 
Data di registrazione: Dec 2009
Messaggi: 2
Unhappy Poter inviare piu allegati(non solo uno com'è ora) e controllo del form stesso

Salve a tutti,
Sono riuscito a trovare in internet un form contatti, con la possibilità di inviarmi un allegato via mail, per il mio sito.
Ora, avrei bisogno che questo form, non avesse solo un campo per gli allegati, ma, al click dell'utente su(per esempio) un piu, l'utente stesso possa inserire un allegato in più, fino ad un massimo di cinque allegati. E' possibile fare ciò?? Potreste aiutarmi con qualche codice
Inoltre, vorrei(per evitare spam selvaggio) che se l'utente, nel momento in cui non riempe tutti i campi obbligatori(email,oggetto,messaggio ed almeno un allegato) venisse fuori un errore. Ero riuscito a far venir fuori il messaggio d'errore, ma a me la mail veniva spedita lo stesso

Vi copio qui i file delle due pagine:
pagina uno chiamata "form.htm"
Codice PHP:
<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<
title>WEBSPA.it Richiesta di inserimento foto</title>
</
head>
<
body>
<
form action="form1.php" method="POST" enctype="multipart/form-data">
<
input type="hidden" name="destinatario" value="fedegamez@yahoo.it">
<
div align="center">
<
table border="0" width="567">
<
tr>
           <
td width="561" colspan="2">
           <
p align="center"><b>
           <
font face="Tahoma" color="#00B00D" size="5">
           
RICHIESTA INSERIMENTO FOTO</font></b></p>
           <
p align="center"><b>
           <
font face="Tahoma" color="#FFFFFF" style="font-size: 1pt">
           -</
font></b></p>
           </
td>
          </
tr>
<
tr>
           <
td width="561" colspan="2">
           <
hr color="#00B00D" width="90%"></td>
          </
tr>
<
tr>
           <
td width="561" colspan="2">
           <
p align="center">
           <
b>
           <
font face="Tahoma" size="1" color="#00B00D">
           
Pagina per la richiesta 
           dell
'inserimento della tua vespa 
           nell'
archivio</font></b></td>
          </
tr>
<
tr>
           <
td width="561" colspan="2">
           <
hr color="#00B00D" width="90%"></td>
          </
tr>
<
tr>
  <
td>
 <
p align="right"><b>
 <
font face="Tahoma" style="font-size: 11pt" color="#00B00D">La tua Mail:</font></b></td>
  <
td><input type="text" name="mittente" value="" /></td>
</
tr>
<
tr>
  <
td>
 <
p align="right"><b>
 <
font color="#00B00D" face="Tahoma" style="font-size: 11pt">Oggetto</font></b></td>
  <
td><input type="text" name="oggetto" value="" /></td>
</
tr>
<
tr>
  <
td align="center" colspan="2"><b>
<
font color="#00B00D" face="Tahoma" style="font-size: 11pt">Messaggio:</font></b><p>
 <
textarea cols="44" rows="8" name="messaggio"></textarea></td>
  </
tr>
<
tr>
  <
td>&nbsp;</td>
  <
td>&nbsp;</td>
</
tr>
<
tr>
  <
td>
 <
p align="right"><b>
 <
font color="#00B00D" face="Tahoma" style="font-size: 11pt">Allega la foto 
 dellarticolo
:</font></b></td>
  <
td><input type="file" name="allegato" /></td>
</
tr>
<
tr>
  <
td colspan="2">&nbsp;</td>
</
tr>
<
tr>
  <
td colspan="2">
 <
p align="center"><input type="submit" value="Invia la Foto" /></td>
</
tr>
<
tr>
  <
td colspan="2">&nbsp;</td>
</
tr>
<
tr>
           <
td width="561" colspan="2">
           <
hr color="#00B00D" width="90%"></td>
          </
tr>
<
tr>
           <
td width="561" colspan="2">
           <
p align="center">
           <
font face="Tahoma" size="2">| 2010 
           © Webspa
.it All Rights Reserved&nbsp
           |</
font></td>
          </
tr>
</
table>
</
div>
</
form><script language=JavaScript>
<!--
var 
message="";
///////////////////////////////////
function clickIE() {if (document.all) {(message);return false;}}
function 
clickNS(e) {if 
(
document.layers||(document.getElementById&&!document.all)) {
if (
e.which==2||e.which==3) {(message);return false;}}}
if (
document.layers
{
document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
else{
document.onmouseup=clickNS;document.oncontextmenu=clickIE;}
document.oncontextmenu=new Function("return false")
// --> 
</script>
</body>
</html> 

pagina due chiamata "form1.php"
Codice PHP:
<?php
// Recupero il valore dei campi del form
$destinatario $_POST['destinatario'];
$mittente $_POST['mittente'];
$oggetto $_POST['oggetto'];
$messaggio $_POST['messaggio'];
// 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($filefilesize($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 .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
  
$msg .= $messaggio "\n\n";
  
// 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";
}
else
{
  
$msg $messaggio;
}
// Invio la mail
if (mail($destinatario$oggetto$msg$headers))
{
  echo 
"<p>Mail inviata con successo!</p>";
}else{
  echo 
"<p>Errore!</p>";         <--- non funzionaanche se lascio i campi vuoti viene fuori una pagina con sritto "Mail inviata con successo"
}
?>

Ringraziando anticipatamente chi mi aiuterà...
Federico
fred111 non in linea   Rispondi citando
Rispondi
Tags: , , , , , , , , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:28.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.