Form mail
Ciao a tutti.
Avrei bisogno del vostro aiuto in quanto non sono un grande esperto in materia.
Vorrei inserire nel mio sito web (hostato tramite AlterVista.org) un form mail con allegati e campi obbligatori. Le voci dovrebbero essere all'incirca così:
Nome*
Citta'
Mail*
Definisci il tuo record*
Allegato*
I campi dovrebbero essere obbligatori, quindi se uno non li compila dovrebbe apparirgli il messaggino "Errore, non hai compilato etc.etc."
Inoltre vorrei che lo script per gli allegati leggesse tutti i formati, dal png al bmp ai video (video indispensabile).
E' possibile farlo?
Eccoti una base, studiati le basi del php e dell'HTML in modo da poterlo modificare:
Codice PHP:
$recipient = $webmaster_mail ;
$name = htmlspecialchars ( trim ( $_POST [ 'name' ]));
$email_name = htmlspecialchars ( trim ( str_replace ( ' ' , '' , str_replace ( '@' , '' , $_POST [ 'email_name' ]))));
$email_domain = htmlspecialchars ( trim ( str_replace ( ' ' , '' , str_replace ( '@' , '' , $_POST [ 'email_domain' ]))));
$email_extension = htmlspecialchars ( trim ( str_replace ( ' ' , '' , $_POST [ 'email_extension' ])));
$email = $email_name . '@' . $email_domain . '.' . $email_extension ;
$subject = htmlspecialchars ( trim ( $_POST [ 'subject' ]));
$mail_body = htmlspecialchars ( trim ( $_POST [ 'mail_body' ]));
$is_send = $_POST [ 'send_form' ];
$is_clean = $_POST [ 'clean_form' ];
$captcha = $_POST [ 'captcha' ];
$header = 'From: ' . $name . ' <' . $webmaster . '>' ;
$option_name = $lang [ 'name' ];
$option_email = $lang [ 'email' ];
$option_subject = $lang [ 'subject' ];
$option_mail_body = $lang [ 'mail_body' ];
$lang_send = $lang [ 'send' ];
$lang_clean = $lang [ 'clean' ];
$ename = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]' ;
$edomain = '([a-z]([-a-z0-9]*[a-z0-9]+)?)' ;
$eextension = '([a-z])' ;
$regex = '^' . $ename . '+' . '(\.' . $ename . '+)*' . '@' . '(' . $edomain . '{1,63})+' . '.' . $eextension . '{2,3}' . '$' ;
$extensions = array( 'eu' , 'com' , 'edu' , 'gov' , 'int' , 'mil' , 'net' , 'org' , 'ac' , 'ad' , 'ae' , 'af' , 'ag' , 'ai' , 'al' , 'am' , 'an' , 'ao' , 'aq' , 'ar' , 'as' , 'at' , 'au' , 'aw' , 'az' , 'ba' , 'bb' , 'bd' , 'be' , 'bf' , 'bg' , 'bh' , 'bi' , 'bj' , 'bm' , 'bn' , 'bo' , 'br' , 'bs' , 'bt' , 'bv' , 'bw' , 'by' , 'bz' , 'ca' , 'cc' , 'cd' , 'cf' , 'cg' , 'ch' , 'ci' , 'ck' , 'cl' , 'cm' , 'cn' , 'co' , 'cr' , 'cs' , 'cu' , 'cv' , 'cx' , 'cy' , 'cz' , 'de' , 'dj' , 'dk' , 'dm' , 'do' , 'dz' , 'ec' , 'ee' , 'eg' , 'eh' , 'er' , 'es' , 'et' , 'fi' , 'fj' , 'fk' , 'fm' , 'fo' , 'fr' , 'ga' , 'gb' , 'gd' , 'ge' , 'gf' , 'gg' , 'gh' , 'gi' , 'gl' , 'gm' , 'gn' , 'gp' , 'gq' , 'gr' , 'gs' , 'gt' , 'gu' , 'gw' , 'gy' , 'hk' , 'hm' , 'hn' , 'hr' , 'ht' , 'hu' , 'id' , 'ie' , 'il' , 'im' , 'in' , 'io' , 'iq' , 'ir' , 'is' , 'it' , 'je' , 'jm' , 'jo' , 'jp' , 'ke' , 'kg' , 'kh' , 'ki' , 'km' , 'kn' , 'kp' , 'kr' , 'kw' , 'ky' , 'kz' , 'la' , 'lb' , 'lc' , 'li' , 'lk' , 'lr' , 'ls' , 'lt' , 'lu' , 'lv' , 'ly' , 'ma' , 'mc' , 'md' , 'mg' , 'mh' , 'mk' , 'ml' , 'mm' , 'mn' , 'mo' , 'mp' , 'mq' , 'mr' , 'ms' , 'mt' , 'mu' , 'mv' , 'mw' , 'mx' , 'my' , 'mz' , 'na' , 'nc' , 'ne' , 'nf' , 'ng' , 'ni' , 'nl' , 'no' , 'np' , 'nr' , 'nu' , 'nz' , 'om' , 'pa' , 'pe' , 'pf' , 'pg' , 'ph' , 'pk' , 'pl' , 'pm' , 'pn' , 'pr ' , 'ps' , 'pt' , 'pw' , 'py' , 'qa' , 're' , 'ro' , 'ru' , 'rw' , 'sa' , 'sb' , 'sc' , 'sd' , 'se' , 'sg' , 'sh' , 'si' , 'sj' , 'sk' , 'sl' , 'sm' , 'sn' , 'so' , 'sr' , 'st' , 'su' , 'sv' , 'sy' , 'sz' , 'tc' , 'td' , 'tf' , 'tg' , 'th' , 'tj' , 'tk' , 'tm' , 'tn' , 'to' , 'tp' , 'tr' , 'tt' , 'tv' , 'tw' , 'tz' , 'ua' , 'ug' , 'uk' , 'um' , 'us' , 'uy' , 'uz' , 'va' , 'vc' , 've' , 'vg' , 'vi' , 'vn' , 'vu' , 'wf' , 'ws' , 'ye' , 'yt' , 'yu' , 'za' , 'zm' , 'zr' , 'zw' ,);
if( $is_send )
{
if(empty( $name ) || empty( $email ) || (! eregi ( $regex , $email )) || empty( $subject ) || empty( $mail_body ) || (! in_array ( $email_extension , $extensions )) || $captcha != '' )
{
$content_error = $lang [ 'error_general' ] . '<ul>' ;
if(empty( $name ))
{
$content_error .= '<li>' . $lang [ 'Mail_Error_Name' ] . '</li>' ;
$option_name = '<span class="contact_option_error">' . $lang [ 'Name' ] . '</span>' ;
}
else
{
$option_name = '<span class="contact_option_correct">' . $lang [ 'Name' ] . '</span>' ;
}
if(empty( $email ))
{
$content_error .= '<li>' . $lang [ 'Mail_Error_Mail' ] . '</li>' ;
$option_email = '<span class="contact_option_error">' . $lang [ 'Email' ] . '</span>' ;
}
elseif (! eregi ( $regex , $email ))
{
$content_error .= '<li>' . $lang [ 'Mail_Error_Mail' ] . '</li>' ;
$content_error .= '<ul><li>' . $lang [ 'Mail_Error_Mail_Format' ] . '</li></ul>' ;
$option_email = '<span class="contact_option_error">' . $lang [ 'Email' ] . '</span>' ;
}
elseif (! in_array ( $email_extension , $extensions ))
{
$content_error .= '<li>' . $lang [ 'Mail_Error_Mail' ] . '</li>' ;
$content_error .= '<ul><li>' . $lang [ 'Mail_Error_Mail_Format_Extension' ] . '</li></ul>' ;
$option_email = '<span class="contact_option_error">' . $lang [ 'Email' ] . '</span>' ;
}
else
{
$option_email = '<span class="contact_option_correct">' . $lang [ 'Email' ] . '</span>' ;
}
if(empty( $subject ))
{
$content_error .= '<li>' . $lang [ 'Mail_Error_Subject' ] . '</li>' ;
$option_subject = '<span class="contact_option_error">' . $lang [ 'Subject' ] . '</span>' ;
}
else
{
$option_subject = '<span class="contact_option_correct">' . $lang [ 'Subject' ] . '</span>' ;
}
if(empty( $mail_body ))
{
$content_error .= '<li>' . $lang [ 'Mail_Error_Mail_Body' ] . '</li>' ;
$option_mail_body = '<span class="contact_option_error">' . $lang [ 'Mail_Body' ] . '</span>' ;
}
else
{
$option_mail_body = '<span class="contact_option_correct">' . $lang [ 'Mail_Body' ] . '</span>' ;
}
}
else
{
#mail($recipient, $subject, $mail_body, $header);
$content_send = '<div class="contact_send">' ;
$content_send .= '<h3>' . $lang [ 'Send_True' ] . '</h3><ul>' ;
//$content_send .= '<li>A: ' . $recipient . '</li>';
$content_send .= '<li>' . $lang [ 'Name' ] . ' ' . $name . '</li>' ;
$content_send .= '<li>' . $lang [ 'Subject' ] . ' ' . $sbject . '</li>' ;
$content_send .= '<li>' . $lang [ 'Email' ] . ' ' . $email . '</li>' ;
$content_send .= '<li>' . $lang [ 'Mail_Body' ] . ' ' . $mail_body . '</li>' ;
$content_send .= '</ul></div>' ;
$name = '' ;
$email_name = '' ;
$email_domain = '' ;
$email_extension = '' ;
$subject = '' ;
$mail_body = '' ;
$is_send = '' ;
$header = '' ;
}
}
Grazie mille funziona perfettamente!^^
Ah un'altra cosetta.. a dir la verita' sono due:
- E' possibile modificare la pagina di errore predefinita?
Se vai ad una pagina inesistente ti appare "Errore 404 etc.." e' possibile modificare il colore di sfondo etc??
- E' possibile creare una specie di dock bar per i video?
Nel senso che un utente mi manda un suo video, io lo hosto tramite l'host interno del mio sito ok?
E' possibile modificare di colori, le immagini (pulsanti) etc di questo http://i31.tinypic.com/2j5z5ex.png ?
Scusami, ma che c'entra con questa discussione?
Per la prima puoi cercare e leggere le FAQ, basta mettere un file not_found.html nella root del sito e questa funzionerà da 404, altrimenti lavorare via .htaccess con le regola ErrorDocument.
Per la seconda non so, non lavoro in Flash, tanto meno con qualcosa che ha a che fare con esso.
PS: Ti consiglio di legegre il regolamento, per evitare qualche infrazione.
Ah i'm sorry, thanks comunque!
Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere ai messaggi
Non puoi inserire allegati.
Non puoi modificare i tuoi messaggi
Regole del forum