I have created a form in Laravel 5.4 containing checkbox fields. I am validating on the front-end using parsley.js then on the backend. I want to send the checked values from the checkbox to my email but it produces an error
ErrorException htmlspecialchars() expects parameter 1 to be string, array given(View: C:\XAMPP\htdocs\Joswan\resources\views\emails\contact.blade.php)
Please assist ?
contact.blade.php
<label name="name"> Full Name: </label>
<input type="text" name="name" placeholder="Full Name..." class="input" required> <br> <br>
<label name="name"> Phone Number: </label>
<input type="text" name="phone" placeholder="Phone Number..." class="input" required> <br> <br>
<label name="name"> Email Address: </label>
<input type="email" name="email" placeholder="Email Address..." class="input" required> <br> <br>
<label name="name"> Service: </label> <br>
<input type="checkbox" name="checkbox[]" value="Website Design" > Website Development (Blog or E-Commerce)<br>
<input type="checkbox" name="checkbox[]" value="School Management System" > School Management Systems <br>
<input type="checkbox" name="checkbox" value="Graphics Design" > Graphics Design (3D, Wordmark logos)<br>
<input type="checkbox" name="checkbox[]" value="Digital Marketing" > Digital Marketing (SEO & Social Media) <br>
<input type="checkbox" name="checkbox[]" value="Article/Content writing" > Article/Content writing <br> <br>
<label name="name"> Message: </label> <br/>
<textarea placeholder="Type your Message here ..." name="message" class="input form-control" rows="5" required> </textarea>
<br><br>
<input type="submit" value="Send Message" class="submit">
Controller
//Contact form in index page and contact page
public function postContact(Request $request){
$this->validate($request, [
'name' => 'required',
'phone' => 'required',
'email' => 'required|email',
'message' => 'required|min:20',
'checkbox' => 'required']);
$data = array(
'name' => $request->name,
'phone' => $request->phone,
'email' => $request ->email,
'checkbox' => $request ->checkbox,
'bodyMessage' => $request->message
);
Mail::send('emails.contact', $data, function($message) use ($data){
$message->from($data['email']);
$message->to('info@*************');
});
return redirect()->back();
}
email.contact.blade.php
<h3> Contact Form </h3>
<div>
<b>Name: </b> {{ $name }} <br> <br>
<b>Phone: </b> {{ $phone }} <br> <br>
<b>Email Address: </b> {{ $email }} <br> <br>
<b>Service: </b> {{ $checkbox }} <br> <br>
<b>Message:</b> {{ $bodyMessage }}
</div>