[PHP] Validare form prenotazione appuntamento tattoo con upload image

fla88vus

Nuovo Utente
20 Set 2017
3
0
1
35
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]";
$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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery 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 1
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

Discussioni simili