Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
он у меня и так уже в PATH есть
PS C:\laragon\www\laravel> $env:path -split ';'
C:\Program Files (x86)\Common Files\Intel\Shared Files\cpp\bin\Intel64
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\WINDOWS\System32\OpenSSH\
C:\HashiCorp\Vagrant\bin
C:\Users\Anastasia\AppData\Local\Microsoft\WindowsApps
а если ввожу в CMD полный путь C:\HashiCorp\Vagrant\bin\vagrant
то получаю Access is denied.
Но на компе всего один пользователь и он АДМИН
Я уже чуток поковырялся. Похоже какая-то проблема с виндой.
Только не знаю какая.
Короче я попробовал на другом ноуте и всё работает.
Хоть бы они какие-то требования к настройкам системы написали. А то непонятно где искать проблему.
Всем привет,
не получается установить Homestead. Даже видео смотрел, где чувак просто пошагово
1) установил Virtualbox
2) установил Vagrant
3) создал папку C:\Users\User\Documents\laravel-dev\homestead
4) распаковал туда архив проекта https://github.com/laravel/homestead
5) рядом создал папку для проектов C:\Users\User\Documents\laravel-dev\projects
6) в папке homestead запустил init.bat
7) в файле Homestead.yaml отредактировал строки
ip: "192.168.20.10"
folders:
- map: C:\Users\User\Documents\laravel-dev\projects\first
to: /home/vagrant/first
sites:
- map: first.test
to: /home/vagrant/first/public
8) в файле C:\WINDOWS\System32\drivers\etc\hosts добавил вниз строку 192.168.20.10 first.test
9) в cmd проверил ping first.test - работает
10) и в конце я запускаю powershell в папке homestead и вижу такую ошибку
PS C:\Users\User\Documents\laravel-dev\homestead> vagrant up
vagrant : Имя "vagrant" не распознано как имя командлета, функции
, файла сценария или выполняемой программы. Проверьте правильност
ь написания имени, а также наличие и правильность пути, после чег
о повторите попытку.
строка:1 знак:1
+ vagrant up
+ ~~~~~~~
+ CategoryInfo : ObjectNotFound: (vagrant:String) [
], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
При этом Virtualbox установлен. Можно открыть, запустить виртуальную машину. Vagrant в списке приложений в панели управления установлен.
Всё вроде нормально.
что за фигня?
еще раз
есть такая форма в компоненте vue и в ней значение {!! csrf_field() !!} выводится как есть - то есть прямо текст {!! csrf_field() !!} выводится на странице.
assets\js\components\callback.vue
<template>
<div class="callback">
<a href="mailto:info@mail.ru">info@mail.ru</a><br>
<a class="btn btn-primary btn-large" href="#callback" title="Обратный звонок" data-toggle="modal" data-target="#callback">
<i class="fa fa-phone"> </i> {{ name }}</a></p>
<div class="modal fade" id="callback" tabindex="-1" role="dialog" v-show="show" transition="modal" >
<div class="modal-dialog">
<form v-on:submit.prevent="submitForm" name="callback" method="POST" action="/" role="form" class="form-horizontal" enctype="multipart/form-data">
{!! csrf_field() !!}
<div class="modal-content">
<div class="modal-header">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Закрыть</button>
<button type="submit" class="btn btn-primary pull-right" v-on:click="sendMessage()">Отправить</button>
</div>
</div>
</form>
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {
...
}
},
methods: {
...
},
mounted() {
console.log('Callback button ready.')
}
}
</script>
как это вывести в шаблоне компонента vue?
Я пытаюсь сделать форму обратной связи в компоненте vue.
При этом внутри компонента переменная {!! csrf_field() !!} не опознается (выводится на странице прям так).
Что делать?
Я использую Laravel 5.3, в который теперь по умолчанию включен vuejs.
Естественно есть ошибки в консоли. Но раньше, когда я пользовался Laravel 5.2 + jQuery, при нажатии на каждую ошибку открывался код, вызвавший ошибку, а сейчас выводится сообщение
Access forbidden!
You don't have permission to access the requested object.
It is either read-protected or not readable by the server.
То есть например есть ошибка в консоли https://yadi.sk/i/cbVezCuvwwuug
[Vue warn]: Duplicate value found in v-for="furnitura in furnitura": "4". Use track-by="$index" if you are expecting duplicate values.app-b9a66aba7d.js%20line%20149%20%3E%20eval:1137:9
Если справа нажать на ссылку app-b9a66ab...:1137:9
То откроется новая вкладка с адресом view-source:http://blog2/build/js/app-b9a66aba7d.js%20line%20149%20%3E%20eval
и ошибкой Access forbidden!
https://yadi.sk/i/836AJOCLwww2K
При этом если попробовать открыть http://blog2/build/js/app-b9a66aba7d.js, то проблем нету. Но читать этот файл вообще невозможно.
Что за очереди?
Это точно не поможет, т.к. это я добавил уже после того как перестало работать, потому что нашёл это в каком-то буржуйском блоге
никак не могу решить проблему отправки писем в Laravel 5.3
та же проблема была в 5.1, решения не нашел - поставил 5.3
первое время все работало, но потом я опять не заметил после чего стала появляться эта ошибка токена
вроде ничего, касающегося формы не трогал
routes\web.php
Route::get('/admin', ['as' => 'admin.index', 'uses' => 'AdminController@index']);
Route::group(['middleware' => ['web']], function () {
Route::get('/', ['as' => 'home', 'uses' => 'HomeController@index']);
Route::post('/', ['as' => 'callback', 'uses' => 'PostController@callback']);
});
PostController.php
public function callback(Request $request)
{
$this->validate($request, [
'name' => 'required|min:3',
'tel' => 'required|min:10'
]);
if ($request->ajax()) return;
return 'publish';
}
resources\assets\js\app.js
Vue.component('callback', require('./components/callback.vue'));
const app = new Vue({
el: 'body',
data: {
mymessage: "hello world!",
formInputs: {},
formErrors: {}
},
methods: {
submitForm: function(e) {
var form = e.target;
var action = form.action;
var csrfToken = form.querySelector('input[name="_token"]').value;
this.$http.post(action, this.formInputs, {
headers: {
'X-CSRF-TOKEN': csrfToken
}
})
.then(function() {
form.submit();
})
.catch(function (data, status, request) {
var errors = data.data;
this.formErrors = errors;
});
}
},
});
resources\assets\js\components\callback.vue
<template>
<div class="callback">
<a href="/" class="root"> </a>
<p>8 (495) 790 84 15<br>
<a href="mailto:sales@steklo-group.ru">sales@steklo-group.ru</a><br>
<a class="btn btn-primary btn-large" href="#callback" title="Обратный звонок" data-toggle="modal" data-target="#callback">
<i class="fa fa-phone"> </i> Обратный звонок</a></p>
</div>
</template>
<script>
export default {
ready() {
console.log('Callback ready.')
}
}
</script>
resources\views\layouts\public.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<link rel="stylesheet" href="{{ elixir("css/app.css") }}">
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
</head>
<body>
<div class="flex-center position-ref full-height panel panel-default">
<header class="layout-header panel-heading">
@include('modules.topmenu')
<callback></callback>
@include('modules.mainmenu')
</header>
{!! Breadcrumbs::renderIfExists() !!}
@if(Session::has('message'))
<div class="alert alert-info">{{Session::get('message')}}</div>
@endif
@if(Session::has('errors'))
<div class="alert alert-info">@foreach($errors->all() as $error){{ $error }}<br>@endforeach
</div>
@endif
<content id="content" class="panel-body content" style="clear:both;">@yield('content')</content>
<div class="clearfix"></div>
<footer id="bottommodules" class="panel-footer">@yield('bottommodules')</footer>
</div>
@include('modules.totop')
@include('modules.callback')
<script src="{{ elixir("js/app.js") }}"></script>
</body>
</html>
resources\views\modules\callback.blade.php
<div class="modal fade" id="callback" tabindex="-1" role="dialog" aria-labelledby="callback" aria-hidden="true">
<div class="modal-dialog">
<form @submit.prevent="submitForm" name="callback" method="POST" action="/" role="form" class="form-horizontal" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="CallbackModalLabel"><i class="fa fa-envelope-o text-primary"></i> Отправить письмо / Попросить перезвонить</h4>
</div>
<div class="modal-body">
<div class="text-primary">* обязательное поле</div>
<div class="form-group">
<label class="control-label" for="name">Ваше имя *</label>
<input id="name" name="name" class="form-control" v-model="formInputs.name" type="text" required>
<span v-if="formErrors['name']" class="error">@{{ formErrors['name'] }}</span>
</div>
<div class="form-group">
<label class="control-label" for="phone">Номер телефона *</label>
<input id="phone" name="tel" class="form-control" v-model="formInputs.tel" required>
<span v-if="formErrors['tel']" class="error">@{{ formErrors['name'] }}</span>
</div>
<div class="form-group">
<label class="control-label" for="time">Желательное время звонка</label>
<input id="time" name="time" class="form-control" v-model="formInputs.time" type="text">
</div>
<div class="form-group">
<label class="control-label" for="email">Адрес e-mail</label>
<input id="email" name="email" class="form-control" v-model="formInputs.email" type="email">
</div>
<div class="form-group">
<label class="control-label" for="message">Сообщение</label>
<textarea id="msg" name="msg" class="form-control" v-model="formInputs.msg"></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Закрыть</button>
<button type="submit" class="btn btn-primary pull-right">Отправить</button>
</div>
</div>
</form>
</div>
</div>
TokenMismatchException in VerifyCsrfToken.php line 68:
in VerifyCsrfToken.php line 68
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Router.php line 644
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 618
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Debugbar.php line 51
at Debugbar->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 54
получилось!!!
1) сначала надо объявить пустую публичную переменную $input
2) потом ей в __construct присвоить значение $request->all(). Но обязательно надо добавить $this
и уже тогда она попадает в шаблон
use Illuminate\Http\Request;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class Callback extends Mailable
{
use Queueable, SerializesModels;
public $input;
public function __construct(Request $request)
{
$this->input = $request->all();
}
public function build()
{
return $this->from('info@expertphp.in')
->view('emails.callback');
}
}
вот так я тоже пробовал
в ответ получаю Undefined variable: name
namespace App\Mail;
use Illuminate\Http\Request;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class Callback extends Mailable
{
use Queueable, SerializesModels;
public $request;
public function __construct(Request $request)
{
$this->request = $request->all();
}
public function build(Request $request)
{
return $this->view('emails.callback');
}
}
сейчас попробовал сделать так
public function build()
{
return $this->view('emails.callback')->withRequest($request);
}
и так
public function build(Request $request)
{
return $this->view('emails.callback')->withRequest($request);
}
результат тот же Undefined variable: request
Ну формально да, не передаю. Но если ты посмотришь видео на ларакасте https://laracasts.com/series/whats-new- … episodes/6
То в нем Джефри точно также не передаёт переменные во вьюху.
не могу понять как передать объект $request в Mailable Laravel 5.3
я всё время получаю ошибку, что $request is not defined.
web.php
Route::get('/', ['as' => 'home', 'uses' => 'HomeController@index']);
Route::get('/callback', ['as' => 'callback.show', 'uses' => 'PostController@callbackshow']);
Route::post('/callback', ['as' => 'callback.send', 'uses' => 'PostController@callbacksend']);
Controllers\PostController.php
namespace App\Http\Controllers;
use App\Mail\Callback;
use Illuminate\Http\Request;
class PostController extends Controller {
public function __construct()
{
}
public function callbackshow()
{
return view('callback');
}
public function callbacksend(Request $request)
{
$email = new Callback($request);
\Mail::to('test@gmail.com')->send($email);
}
Mail\Callback.php
namespace App\Mail;
use Illuminate\Http\Request;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class Callback extends Mailable
{
use Queueable, SerializesModels;
public function __construct(Request $request)
{
$this->request = $request->all();
}
public function build()
{
return $this->view('emails.callback');
}
}
emails\callback.blade.php
Name: {{ $request->name }}<br>
Email : {{ $request->email }}<br>
вот ошибка
Whoops, looks like something went wrong.
2/2 ErrorException in 76aac56b59bc685390113940ddc975544836b896.php line 2: Undefined variable: request (View: D:\OpenServer\domains\blog2\resources\views\emails\callback.blade.php)
in 76aac56b59bc685390113940ddc975544836b896.php line 2
at CompilerEngine->handleViewException(object(ErrorException), '0') in PhpEngine.php line 44
at PhpEngine->evaluatePath('D:\OpenServer\domains\blog2\storage\framework\views/76aac56b59bc685390113940ddc975544836b896.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in CompilerEngine.php line 59
at CompilerEngine->get('D:\OpenServer\domains\blog2\resources\views/emails/callback.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in View.php line 149
at View->getContents() in View.php line 120
at View->renderContents() in View.php line 85
at View->render() in Mailer.php line 430
at Mailer->getView('emails.callback', array('connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in Mailer.php line 310
at Mailer->addContent(object(Message), 'emails.callback', null, null, array('connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in Mailer.php line 186
at Mailer->send('emails.callback', array('connection' => null, 'queue' => null, 'delay' => null), object(Closure)) in Mailable.php line 117
at Mailable->send(object(Mailer)) in Mailer.php line 173
at Mailer->send(object(Callback)) in MailableMailer.php line 99
at MailableMailer->send(object(Callback)) in PostController.php line 24
at PostController->callbacksend(object(Request))
at call_user_func_array(array(object(PostController), 'callbacksend'), array(object(Request))) in Controller.php line 55
at Controller->callAction('callbacksend', array(object(Request))) in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(PostController), 'callbacksend') in Route.php line 190
at Route->runController() in Route.php line 144
at Route->run(object(Request)) in Router.php line 642
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Router.php line 644
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 618
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 54
1/2 ErrorException in 76aac56b59bc685390113940ddc975544836b896.php line 2: Undefined variable: request
in 76aac56b59bc685390113940ddc975544836b896.php line 2
at HandleExceptions->handleError('8', 'Undefined variable: request', 'D:\OpenServer\domains\blog2\storage\framework\views\76aac56b59bc685390113940ddc975544836b896.php', '2', array('__path' => 'D:\OpenServer\domains\blog2\storage\framework\views/76aac56b59bc685390113940ddc975544836b896.php', '__data' => array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message)), 'obLevel' => '0', '__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in 76aac56b59bc685390113940ddc975544836b896.php line 2
at include('D:\OpenServer\domains\blog2\storage\framework\views\76aac56b59bc685390113940ddc975544836b896.php') in PhpEngine.php line 42
at PhpEngine->evaluatePath('D:\OpenServer\domains\blog2\storage\framework\views/76aac56b59bc685390113940ddc975544836b896.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in CompilerEngine.php line 59
at CompilerEngine->get('D:\OpenServer\domains\blog2\resources\views/emails/callback.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in View.php line 149
at View->getContents() in View.php line 120
at View->renderContents() in View.php line 85
at View->render() in Mailer.php line 430
at Mailer->getView('emails.callback', array('connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in Mailer.php line 310
at Mailer->addContent(object(Message), 'emails.callback', null, null, array('connection' => null, 'queue' => null, 'delay' => null, 'message' => object(Message))) in Mailer.php line 186
at Mailer->send('emails.callback', array('connection' => null, 'queue' => null, 'delay' => null), object(Closure)) in Mailable.php line 117
at Mailable->send(object(Mailer)) in Mailer.php line 173
at Mailer->send(object(Callback)) in MailableMailer.php line 99
at MailableMailer->send(object(Callback)) in PostController.php line 24
at PostController->callbacksend(object(Request))
at call_user_func_array(array(object(PostController), 'callbacksend'), array(object(Request))) in Controller.php line 55
at Controller->callAction('callbacksend', array(object(Request))) in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(PostController), 'callbacksend') in Route.php line 190
at Route->runController() in Route.php line 144
at Route->run(object(Request)) in Router.php line 642
at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Router.php line 644
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 618
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 54
простой скрипт angular не работает в Laravel
в файле gulp я попытался закомментировать остальные скрипты и удалить уже скопированные файлы из папки resources/js, чтобы потестить только angular.
gulp.js
elixir(function(mix) {
mix
// .copy('vendor/bower_components/jquery/dist/jquery.js', 'resources/js/1-jquery.js')
// .copy('vendor/bower_components/bootstrap/dist/js/bootstrap.js', 'resources/js/2-bootstrap.js')
.copy('vendor/bower_components/angular/angular.js', 'resources/js/3-angular.js')
// .copy('vendor/bower_components/lightgallery/dist/js/lightgallery-all.js', 'resources/js/4-lightgallery.js')
// .copy('vendor/bower_components/lightslider/dist/js/lightslider.js', 'resources/js/5-lightslider.js')
.scriptsIn('resources/js')
.version([
'public/css/app.css',
'public/js/all.js'
])
});
blade.php
{!! Form::open(array('route' => 'order', 'class' => 'go-right calculator', 'files' => true, 'ng-app' => 'SaunaDoorCalc', 'ng-controller' => 'SaunaDoorCalcController')) !!}
<div class="form-group door_size_radio col-xs-12 col-sm-6" style="margin-bottom:67px;"><h4>Размер дверной коробки (в миллиметрах)</h4>
<div ng-repeat="a in sizeswitch" class="form-group">
<input type="radio" value="@{{a.value}}" name="door_size_radio" class="radio">
<label for="door_size_radio" class="radio">@{{a.label}}</label>
</div>
</div>
{!! Form::close() !!}
app.js
angular
.module('SaunaDoorCalc',[])
.controller('SaunaDoorCalcController', function($scope) {
$scope.sizeswitch = [
{ value: 'standard', label: 'Стандартный' },
{ value: 'special', label: 'Ввести размер' }
];
$scope.submit = function() {
alert('submit');
};
$scope.myDate = new Date();
$scope.minDate = new Date(
$scope.myDate.getFullYear(),
$scope.myDate.getMonth() - 2,
$scope.myDate.getDate());
$scope.maxDate = new Date(
$scope.myDate.getFullYear(),
$scope.myDate.getMonth() + 2,
$scope.myDate.getDate());
$scope.onlyWeekendsPredicate = function(date) {
var day = date.getDay();
return day === 0 || day === 6;
}
});
но на странице я вижу {{a.label}} и только один раз, а не 2
А че делать что нормально было?
Я с этим Аяксом вообще ни разу не связывался. Поэтому вообще не пойму как быть
там нету нихрена
total туда не попадает
Content-Type: multipart/form-data; boundary=---------------------------304341834022026
Content-Length: 1865
-----------------------------304341834022026
Content-Disposition: form-data; name="_token"
RNf1X3RBBpzmTY7kKQpybECb3vAuQkc5fhVksEEC
-----------------------------304341834022026
Content-Disposition: form-data; name="calc"
skinali
-----------------------------304341834022026
Content-Disposition: form-data; name="size_b1"
2000
-----------------------------304341834022026
Content-Disposition: form-data; name="size_h1"
600
-----------------------------304341834022026
Content-Disposition: form-data; name="rozetki"
2
-----------------------------304341834022026
Content-Disposition: form-data; name="otverstija"
1
-----------------------------304341834022026
Content-Disposition: form-data; name="krepej"
4
-----------------------------304341834022026
Content-Disposition: form-data; name="glass"
Прозрачное
-----------------------------304341834022026
Content-Disposition: form-data; name="led"
нет
-----------------------------304341834022026
Content-Disposition: form-data; name="dekor"
Фотопечать
-----------------------------304341834022026
Content-Disposition: form-data; name="dostavka"
в пределах МКÐД
-----------------------------304341834022026
Content-Disposition: form-data; name="zamkad"
-----------------------------304341834022026
Content-Disposition: form-data; name="montazh"
нет
-----------------------------304341834022026
Content-Disposition: form-data; name="name"
ИльÑ
-----------------------------304341834022026
Content-Disposition: form-data; name="tel"
1234567
-----------------------------304341834022026
Content-Disposition: form-data; name="email"
test@mail.ru
-----------------------------304341834022026
Content-Disposition: form-data; name="message"
-----------------------------304341834022026--
закомментировал return false; - не помогло
Здравствуйте друзья
хочу сделать на странице форму онлайн калькулятора
упрощенно будет выглядеть так
{!! Form::open(array('route' => 'order', 'class' => 'go-right calculator', 'files' => true)) !!}
@if(Session::has('message'))
<div class="alert alert-info">{{Session::get('message')}}</div>
@endif
@if(Session::has('errors'))
<div class="alert alert-info">@foreach($errors->all() as $error){{ $error }}<br>@endforeach
</div>
@endif
<input name="calc" type="hidden" value="mycalc">
<div class="row">
<div class="form-group col-xs-6 col-sm-4"><h4>Размеры</h4></div>
<div class="form-group col-xs-3 col-sm-4">
<input name="quantity" type="text" class="form-control">
<label for="quantity">Кол-во</label>
</div>
</div>
<div class="col-xs-6"><h4>Цена</h4></div>
<div class="col-xs-6"><div class="custom-dropdown custom-dropdown--white">
<select class="price custom-dropdown__select custom-dropdown__select--white" name="price">
<option value="2200" selected="selected">2200</option>
<option value="2800" >2200</option>
<option value="4000" >2200</option>
</select>
</div></div>
<div class="form-group col-xs-12 col-sm-6">
<input id="name" name="name" type="text" class="form-control" required>
<label for="name">Ваше имя *</label>
</div>
<div class="form-group col-xs-12 col-sm-6">
<input id="phone" name="tel" type="tel" class="form-control" required>
<label for="phone">Номер телефона *</label>
</div>
<div class="form-group col-xs-12 col-sm-6">
<input id="email" name="email" type="email" class="form-control" required>
<label for="email">Адрес электронной почты *</label>
</div>
<div class="form-group col-xs-12 col-sm-6">
<textarea id="message" name="message" class="form-control"></textarea>
<label for="message">Комментарии</label>
</div>
<div class="footer col-xs-12 col-sm-6">
<button type="submit" class="btn btn-primary pull-right">Отправить заказ</button>
</div>
<div class="result col-xs-12 col-sm-6"><h4>Итоговая спецификация</h4>
Стоимость: <span class="total">0</span>руб</div>
вот скрипт, который считает некоторое значение и выводит результат на странице в блок, имеющий класс .total
$(document).ready(function () {
$('input[name="quantity"]').change(function () {
calculation();
});
$('select.price').change(function () {
calculation();
});
function calculation() {
var total = $('input[name="quantity"]').val() * $('select.price option:selected').val();
$('.result').children('.total').html( total );
return false;
$.ajax({
type: "POST",
url: "/path/to/my/page",
data: {total:total },
});
};
});
насколько я понимаю последние строчки $.ajax при нажатии на кнопку отправить должны передавать переменную total в массив POST и соответственно я смогу обрабатывать эту переменную в контроллере, но почему-то этого не происходит
вызов dd($request->all()) выводит массив только со значениями quantity и price
public function order(CalculatorRequest $request)
{
$input = Input::all();
$calc = $request->input('calc');
//check if its our form
if ( Session::token() !== Input::get( '_token' ) ) {
return Response::json( array(
'msg' => 'Несанкционированная попытка отправки письма'
) );
}
if ( $calc == 'mycalc' ) {
$mailtemplate = 'emails.mycalc';
$mailarray = array(
'quantity' => $request->quantity,
'price' => $request->price,
'total' => $request->total,
'name' => $request->input('name'),
'tel' => $request->input('tel'),
'email' => $request->input('email'),
'user_message' => $request->input('message'),
);
Mail::send($mailtemplate, $mailarray,
function($message) use ($request, $input)
{
$message->from('admin@mysyte.ru', $request->input('name') );
$message->to('info@mysyte.ru', 'info');
$message->setCc($request->input('email'), $request->input('name'));
$message->replyTo($request->input('email'), $request->input('name') );
$message->subject('Заказ с сайта');
});
// return Redirect::back()->with('message', 'Ваше сообщение отправлено! Мы свяжемся с вами в ближайшее время для уточнения деталей заказа');
// строку выше я пока заблокировал, чтобы видеть массив POST
return Redirect::back()->with( dd($request->all()) );
}
}
и в конце мне должно приходить письмо mycalc.blade.php
<p>
Кол-во: {{ $size }}<br>
Цена: {{ $price }}<br>
-------------------------<br>
Сумма: {{ $total }}<br>
-------------------------<br>
Имя: {{ $name }}<br>
Телефон: {{ $tel }}<br>
Email: {{ $email }}<br>
-------------------------<br>
Сообщение: {{ $user_message }}
</p>
<p>Это сообщение отправлено со страницы $pagetitle - {{ $_SERVER['SERVER_NAME'] }} $pageurl</p>
вот переменную $total никак не получается получить
например при обработке формы я могу обращаться к атрибуту текста вот так
$("input[name='glass']:checked").attr('text')
но я не пойму как это передать в laravel
в смысле в blade шаблоне письма наделать конструкций if...else
типа так?
@if ($glass='clear')
<p>
Стекло: прозрачное<br>
</p>
elseif ($glass='bronza')
.....
Мне это делать не очень хочется. Это громоздко.
Хочется найти решение типа такого
$request->input('glass').attr(text)
помогите, товарищи, решить проблемку
в blade шаблоне странице у меня есть переключатель
<input type="radio" value="clear" data-price="3000" name="glass" class="radio" text="Прозрачное">
<label for="glass" class="radio">Прозрачное (стандарт)</label>
<input type="radio" value="matelux" data-price="4000" name="glass" class="radio" text="Матовое">
<label for="glass" class="radio">Матовое</label>
<input type="radio" value="bronza" data-price="5200" name="glass" class="radio" text="Бронза">
<label for="glass" class="radio">Бронза</label>
<input type="radio" value="bronza_matelux" data-price="6200" name="glass" class="radio" text="Матовая бронза">
<label for="glass" class="radio">Матовая бронза</label>
в blade шаблоне письма
<p>
Стекло: {{ $glass }}<br>
</p>
в контроллере
Mail::send('emails.calculator',
array(
'glass' => $request->input('glass'),
)
И в полученном письме у меня отображается значение атрибута value.
Но мне хочется, чтобы там было значение атрибута text.
Это можно как-то сделать?