Form Universale Funziona Con Tutti I Form Da Te Creati
ciao raga o uno scrip php che raccogliie e invia tutti i dati inseriti da un qualsiasi form da voi creato problema non so come inserire tre allegati mi potete aiutare e 5 mesi che sto inpazzendo in compenso potete utilizzare lo scrip php gratis. grazie.

Tengo a precisare che i codici presenti nelle pagine non possono essere modificati altrimenti il presente form non sarebbe piu universale per tutti i form che si crean.


Mi postete aiutare e modificarlo mantenendo la graranzia dell universale.


Pubblicate i vostri aiuti o mandate una mail grazie per l aiuto prezioso.




PAGINA gc_formmail.php

<?
/**
*
* Vi suggerisco di inserire nei form, per i quali userete questo script, in fondo alla pagina la riga:
* <? $act=1; include "gc_formmail.php"; ?>
*
**/


// Non toccare NULLA in questo file

include "config.php";

$version = "1.2.1";

if ($act == 1)
{
echo getCredits();

return;
}

$key = array ();
$val = array ();

$output = "";

$senderNames = array ($senderNames);

foreach($_POST as $chiave=>$valore)
{
// <Input type=qualunque name=chiave value=valore>


// verifico se il campo è obbligatorio. Verifico e tolgo il prefisso

if (isRequired($chiave, $reqTag))
{
if (empty($valore))
{
$missedFields = true;
break;
}
else
{
$chiave = eregi_replace ($reqTag, "", $chiave);
}
}


array_push ($key, $chiave);
array_push ($val, eregi_replace("\\'", "'", $valore));

if (!empty($emailField))
{
if ($chiave == $emailField)
{
$emailMittente = $valore;
}
}

if (!empty($subjectField))
{
if ($chiave == $subjectField)
{
$subject = $valore;
}
}

if (!empty($senderNames))
{
for ($i = 0; $i < count ($senderNames); $i++)
{
if ($chiave == $senderNames[$i])
{
$nome .= $valore." ";
}
}
}

}


if ($missedFields)
{
// Messaggio errore e esci

echo "
".$erroreCampiMancanti."


".getHtmlOutput($key, $val)."


".getCredits();
exit();
}

if (!empty($subject))
{
$oggetto .= " - ".$subject;
}

if ($html)
{
$output = getHtmlOutput ($key, $val);

$intestazioni = "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
}
else
{
for ($i = 0; $i < count ($key); $i++)
{
$output .= $key[$i].": ".$val[$i]."\n";
}

$intestazioni = "";
}

if ( (!empty($emailMittente)) || (!empty($nome)) )
{
$intestazioni .= "From: ".$nome."<".$emailMittente."> \r\n";
}
else
{
$intestazioni .= "From: ".$mittente."\r\n";
}

if (!mail($destinatari, $oggetto, $output, $intestazioni))
{
echo "
".$messaggioErrore."


".getHtmlOutput($key, $val)."


".getCredits();

if (strlen($paginaErrore) < 5)
{
exit ();
}
else
{
echo "<META HTTP-EQUIV=Refresh CONTENT=\"10; URL=".$paginaErrore."\">";
}
}

echo "
".$messaggioConferma."


".getHtmlOutput($key, $val)."


".getCredits();

if (strlen($paginaConferma) < 5)
{
exit ();
}
else
{
echo "<META HTTP-EQUIV=Refresh CONTENT=\"10; URL=".$paginaConferma."\">";
}



function isRequired ($varname, $reqTag)
{
if (eregi($reqTag, $varname))
return true;
else
return false;
}


function getHtmlOutput ($k, $v)
{
global $stripsHtml;
global $tagAllowed;



$return = "<center><div style=\"width: 0; height: 0; text-align: center\">";

$return .= "<fieldset style=\"font-family: Verdana; font-size: 0pt; color: #white; font-weight: bold; border: 0px double #white; background-color: #white\">";
$return .= "<legend align=center></legend>";


$return .= "<table border=0 cellpadding=3 style=\"border-collapse: collapse; font-family:Verdana; font-size:0pt; color:#white\" bordercolor=#white cellspacing=5 width=0>";
$return .= "<colgroup span=1 style=\"text-align:right; font-weight: bold; background-color: #white\"></colgroup>";

for ($i = 0; $i < count ($k); $i++)
{
$v[$i] = eregi_replace ("\n", "
", $v[$i]);

if ($stripsHtml)
{
$v[$i] = strip_tags ($v[$i], $tagAllowed);
}

$return .= "<tr><td width=\"30%\">".$k[$i].": </td><td>".$v[$i]."</td></tr>";
}

$return .= "</table></fieldset></div></center>";

return $return;
}

function getCredits ()
{
global $version;

$return = "


<center>

</font>";

return $return;
}

/*
* To Do:
* - Limite inserimento ogni n secondi o n richieste al minuto
* - Messaggio di conferma al mittente. Più complicato, potrebbe essere hackerato e diventerebbe minaccia seria.
*/

/*
*
* Changelog:
*
* 1.2.1 (5/6/06)
* - "Required fields" feature added
*
* 1.2 (21/2/05)
* - Configuration file
* - Documentation
* - Other few changes
*
* 1.12 (19/2/05)
* - Removed backslash before char "'".
* - In html output and mail, \n becomes

* - Possibility to strips (all or some) html tags from html ouput
* - Possibility to set some field names as Name and Email Address of mail received
* - Possibility to set a field as subject after that set in "$oggetto"
* - Button green/red to see updates
*
* 1.11 (18/2/05)
* - Added Html Email Format
*/


?>


PAGINA config.php


<?
/**
**/


/**
* Nome e email del mittente che viene visualizzato nell'email ricevuta. Nella forma: "NOME VOSTRO SITO <vostramail@server.it>"
**/

$mittente = "oggetto mail <vostramail@server.it>";


/**
* Nomi e indirizzi email a cui verranno inviati i dati inseriti nel modulo
* Se si vuole inviare a più di un destinatario, inserire tutti i destinatari nella stessa forma separandoli con una virgola
* es. $destinatari = "Joe Black <>, Tim White <vostramail@server.it>";
**/

$destinatari = "Mario Rossi <vostramail@server.it>";


/**
* Oggetto che verrà visualizzato nell'email ricevuta
**/

$oggetto = "----DATI FORM ----";


/**
* Eventuale pagina a cui si sarà reindirizzati automaticamente dopo alcuni secondi dalla visualizzazione della pagina di conferma
* Scrivere l'indirizzo della pagina tra le virgolette. Se non è indicata una pagina, non verrà visualizzata semplicemente il mess di conferma
**/

$paginaConferma = "";


/**
* Messaggio/frase (può contenere html) che verrà visualizzato in cima alla pagina di conferma
**/


/**
* Eventuale pagina a cui si sarà reindirizzati automaticamente dopo alcuni secondi dalla visualizzazione della pagina di errore
* Scrivere l'indirizzo della pagina tra le virgolette. Se non è indicata una pagina, non verrà visualizzata semplicemente il mess di conferma
**/

$paginaerrore = "";


/**
* Messaggio/frase (può contenere html) che verrà visualizzato in cima alla pagina di conferma
**/

$messaggioErrore = "<center><font color=red size=3 face=verdana>Si è verificato un errore
Se il problema persiste contatta l'amministratore del sito!!
</font><center>
";


/**
* Messaggio/frase (può contenere html) che verrà visualizzato in caso di errore per la mancanza di dati obbligatori richiesti
**/

$erroreCampiMancanti = "<center><font color=red size=3 face=verdana>Campi Mancanti!
Devi inserire tutti i campi obbligatori
Torna alla pagina precedente e compila tutti i campi richiesti
</font><center>
";


/**
* Prefisso per identificare i CAMPI OBBLIGATORI. Puoi cambiare questo prefisso a tua scelta. Ogni campo che vuoi rendere obbligatorio deve avere questo prefisso (verrà poi eliminato automaticamente dal programma).
* Es. Voglio che il campo "email" sia obbligatorio. Lo chiamo quindi "_rrr_email". <input type="text" name="_rrr_email"> . Il prefisso _rrr_ verrà eliminato automaticamente dal programma, quindi per tutte le altre configurazioni
* qua sotto trattate il campo some se il prefisso non esista.
**/

$reqTag = "_rrr_";


/**
* Specifica il nome di un campo del form da trattare come indirizzo email del mittente. Ad es. se nel form ho un campo <input type=text name=indirizzoemail> potrò definire "indirizzoemail" come campo email qua sotto
*
**/

$emailField = "email";


/**
* Specifica il nome di un campo del form da trattare come oggetto del mittente. Ad es. se nel form ho un campo <input type=hidden name=tipomodulo value=nuove_proposte> potrò definire "nuove_proposte" come campo subject qua sotto.
* Il valore di questo campo sarà visualizzato nell'oggetto dell'email insieme all' "oggetto" specificato sopra. Se si vuole vedere come oggetto solo il valore di questo campo, cancellare il valore di $oggetto definito sopra
**/

$subjectField = "";


/**
* Specifica il nome di un campo o più campi del form da trattare come Nome del mittente.
* Ad es. se nel form ho un campo <input type=text name=nome> e <input type=text name=cognome> potrò definire "nome" e "cognome" come campo mittente qua sotto.
* Separare ogni campo con una virgola e ricordarsi di inserirlo tra virgolette
**/

$senderNames = "nome, cognome";


/**
* Se settato a 0, nella pagina di conferma mostra i dati inseriti. Se settato a zero stampa solo il messaggio di conferma senza far vedere ciò che si è inserito
**/

$mostraInputinConferma = 0;


/**
* Se settato a 1, le email vengono inviate graficamente in formato html, se settato a 0 in modalità di testo semplice
**/

$html = 1;


/**
* Se settato a 1, toglie tutti i tag html presenti negli input prima di visualizzarlo graficamente. E' possibile specificare quali tag permettere. Se a 0 permette tag html
**/

$stripsHtml = 1;


/**
* Specifica quali tag html sono permessi nel caso in cui il parametro di sopra sia settato a 1
**/

$tagAllowed = "[b][i]
<u>";


?>



__________________________________________________ ___________________________
CREATE UN FORM SEMPLICE MA INSERITE NEL

ACTION gc_formmail.php

VI GARANTISCO CHE FUNZIONA CON UN QUALSIASI FORM DA VOI CREATO. PROVATE.

VOI SE POTETE MODIFICATE IL CODICE CHE CONSENTA DI ALLEGARE 3 IMMAGINI .


MI SERVE IL VOSTRO AIUTO SOLO PERCHE I DATI DEL FORM VENGONO INVIATI MA SE VI SONO ALLEGATI FILE NEL FORM STESSO NON VENGONO INVIATI ARRIVANO SOLO I MESSAGGI TESTUALI QUINDI CREDO CHE DEBBA ESSERE MIDIFICATO QUALCOSA NELLA PAGINA


gc_formmail.php

o nella pagina

config.php