[PHP] Validare form prenotazione appuntamento tattoo con upload image

fla88vus

Nuovo Utente
20 Set 2017
3
0
1
33
Buongiorno,

sono nuova nel Forum, e da poco sto approcciando a PHP.
La questione è la seguente, io ho un form di prenotazione, con campi obbligatori, e checkbox, per l'autorizzazione della maggiore età, e l'upload di un file img formato; jpg, gif, png, jpeg, pdf; un input option value. Il messaggio dovrà contenere tutti i campi compilati dal cliente, includendo il file img allegato, la prenotazione contenente tutti i dati dovrà esser spedita alla mail del negoziante.

HTML

<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" >
<input type="text" name="From" value="Your Name" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Your Name';}" required="">
<input type="email" value="Best email to reach you" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Best email to reach you';}" required="">
<input type="text" value="Contact No." onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Contact No.';}" required="">

<br>

<strong> Place for tattoo </strong>
<br>

<select style="width:100%" class="select_form">
<option value=""> </option>
<option value="Ankle">Ankle</option>
<option value="Back - full">Back - full</option>
<option value="Back - lower">Back - lower</option>
<option value="Back - upper">Back - upper</option>
<option value="Behind ear">Behind ear</option>
<option value="Calf">Calf</option>
<option value="Chest / sternum">Chest / sternum</option>
<option value="Foot">Foot</option>
<option value="Forearm - inner">Forearm - inner</option>
<option value="Forearm - outer">Forearm - outer</option>
<option value="Full sleeve">Full sleeve</option>
<option value="Hand">Hand</option>
<option value="Hip">Hip</option>
<option value="Neck">Neck</option>
<option value="Ribs">Ribs</option>
<option value="Shin">Shin</option>
<option value="Shoulder">Shoulder</option>
<option value="Stomach">Stomach</option>
<option value="Thigh - back">Thigh - back</option>
<option value="Thigh - front">Thigh - front</option>
<option value="Throat">Throat</option>
<option value="Upper arm - inner">Upper arm - inner</option>
<option value="Upper arm - outer">Upper arm - outer</option>
<option value="Wrist">Wrist</option>
<option value="Other -">Other - </option>
</select>
<br>
<br>
<strong>Rough Size - Height... cm Width... cm</strong>
<br>

<input style ="width:100%" type="text" name="Rough Size" value="Rough Size" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Rough Size ';}" required="">
<br>
<br>
<strong> When would be the ideal time for you to get your tattoo?</strong>
<br>
<select style="width:100%" class="select_form">
<option value=""> </option>
<option value="Today">Today</option>
<option value="Next few days">Next few days</option>
<option value="Within a week">Within a week</option>
<option value="Within two weeks">Within two weeks</option>
<option value="Within a month">Within a month</option>
<option value="Within two months">Within to months</option>
<option value="After two months">After to months</option>

</select>
<br>
<br>
<strong>References (images)</strong>
<br>
<div style="background-color:#F3F3F3; height:80%; width:100% ; border:dashed;border-color:#9B9B9B";>
<br>
<h2 style="color:#9B9B9B; font-size:15px; text-align:center">drop files here or</h2>
<br>
<input type="file" value="Select file" name="attachment"style="display: block; margin:0 auto; width:88px" name="foto[]" id="foto[]">
<br>
</div>
<br>
Accepted file types: jpg, gif, png, jpeg, pdf.
<br>
<br>
<strong>Tattoo Description</strong>
<br>
Eg; colour, style, subjects, background etc
<br>

<textarea name="message" value="message" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = '';}" required></textarea>
<br>
<br>
<strong>Legal*</strong>

<input type="checkbox" name="autorizzo" value="y" id="autorizzo_0">
<br>
I am 18 years of age (or older) with a valid form of identification
<br>
<br>
<input type="submit" value="Send message" >
</form>

PHP

if (isset($_POST["Send message"])){
$nome=$_POST['Your Name'];
$email=$_POST['From'];
$telephone=$_POST['Contact No.'];
$autorizzo=$_POST['autorizzo'];
$message=$_POST['message'];
$rought=$_POST['Rough Size'];

$attachment = $_FILES['attachment']['tmp_name'];
$attachment_type = $_FILES['attachment']['type'];
$attachment_name = $_FILES['attachment']['name'];

$intestazioni = "From: " . $email;
$message = "";

if (is_uploaded_file($attachment))
{
$file = fopen($attachment,'rb');
$data = fread($file, filesize($attachment));
fclose($file);
$data = chunk_split(base64_encode($data));
$rand = md5(time());
$boundary = "==Multipart_Boundary_x{$rand}x";

$intestazioni .= "\nMIME-Version: 1.0\n";
$intestazioni .= "Content-Type: multipart/mixed;\n";
$intestazioni .= " boundary=\"{$boundary}\"";

$messaggio .= "This is a multi-part message in MIME format.\n\n";
$messaggio .= "--{$boundary}\n";
$messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
$messaggio .= $message . "\n\n";
$messaggio .= "--{$boundary}\n";
$messaggio .= "Content-Disposition: attachment;\n";
$messaggio .= " filename=\"{$attachment_name}\"\n";
$messaggio .= "Content-Transfer-Encoding: base64\n\n";
$messaggio .= $data . "\n\n";
$messaggio .= "--{$boundary}--\n";
}
else{
$messaggio = $message;
}

if (mail($mail_to , $email, $messagge, $intestazioni))
{
echo "Messaggio inviato con successo.";
}else{
echo "Si &egrave; verificato un errore nell'invio.";
}
}else{



$mail_to="[email protected]com";
$mail_from="$email";// [email protected]
$mail_subject="Booking & Enquiries";
$mail_body="$message";


$mail_in_html="MIME-Version:1.0\r\n";
$mail_in_html.="Content-type:text/html;charset=iso-8859-1\r\n";
$mail_in_html.="From:$mail";

mail($mail_to,$mail_subject,$mail_body,$mail_in_html);
}

Potreste aiutarmi?

Grazie anticipatamente!

Flavia
 
Discussioni simili
Autore Titolo Forum Risposte Data
MarcoGrazia [PHP] [regex] Validare un url PHP 2
M Domande su validare i dati inseriti dagli utenti con jQuery e PHP Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 2
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1

Discussioni simili