Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Настраивал сайт на Битрикс, но он зараза напрочь отказывался работать с nginx,
в результате nginx удалил и поставил apache.
в homestead.yaml вот такие связки
sites:
- map: homestead.app
to: /home/vagrant/Code/public
- map: info.loc
to: /home/vagrant/Code/info
php: "5.6"
type: apache
- map: mexovoy.loc
to: /home/vagrant/Code/mexovoy
php: "5.6"
- map: phpmyadmin.loc
to: /home/vagrant/Code/phpmyadmin
при вводе в адресную строку к примеру info.loc появляется главная страница Apache которая говорит что все работает....
но почему не появляется сам сайт?
Больше нигде ничего не прописывал.... мне кажется где-то еще нужно прописать пути, но вот где? Заранее спасибо!
Переустановил Homestead все заработало. Спасибо. Проблема решена
В файле Homestead.yaml
прописываю
- map: mexovoy.loc
to: /home/vagrant/Code/mexovoy/
php: "5.6"
однако все равно используется php 7.1
Почему может не работать, может кто-нить подскажет куда копать. Заранее спасибо.
Спасибо, все заработало!!!
выдает ошибку:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to a member function nullable() on null
Мне кажется что-то не подключено...но что?
При попытке миграции выдает вот такую ошибку
[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to a member function default() on null
Вот сам код, да, ошибку начало выдавать когда я пытаюсь вставить значения полей по умолчанию
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePagesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pages', function (Blueprint $table) {
$table->increments('id');
$table->string('name')->default('NULL');
$table->text('text')->default('NULL');
$table->string('alias')->default('NULL');
$table->timestamps()->default('NULL');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('pages');
}
}
Да, Вы правы, всё получилось. Спасибо за помощь.
Хм.... действительно.... а почему тогда в $request не приходят данные которые я отправляю из формы (POST).
В массив приходит только токен.
Здравствуйте, помогите разобраться.
Прописываю роут
Route::match(['get','post'],'/contact', ['uses'=>'Admin\ContactController@show','as'=>'contact']);
далее контроллер
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class ContactController extends Controller
{
public function show(Request $request) {
$array = array(
'title'=>'Contacts'
);
if (view()->exists('default.contact')){
print_r($request->all());
return view('default.contact', $array);
}
abort(404);
}
}
после чего сама форма
@extends('default.layouts.layout')
@section('content')
<h2>Contact us!</h2>
<form method="post" action="{{route('contact')}}">
{{ csrf_field() }}
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
</div>
<div class="form-check">
<label class="form-check-label">
<input type="checkbox" class="form-check-input">
Check me out
</label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
@endsection
Когда открываю страницу contact, загружается форма и в самом верху отображается
Array ( [_token] => LaJLs0QIDiLykZTwjr3DjasbY3dyKfOsbBh6OezQ )
Не могу понять почему он отображается на странице, я ведь его нигде не вывожу?
И ещё, в контроллере я прописываю print_r($request->all()), однако данный метод я так понимаю не срабатывает, по крайней мере я ничего не вижу (код страницы открывал - там ничего нет).
Пишу для тех кто тоже занимается по видеоурокам и столкнулся с такой же проблемой.
Необходимо создать 2 rout в файле web.php
Route::get('/comments',function (){
return view('form');
});
Route::post('/comments',function (){
print_r($_POST);
});
1-ый ведет на форму, которую необходимо поместить в resources/views/form.blade.php
2-ой обрабатывает саму форму.
Да, ошибка выскакивает именно из-за не использования csrf_field().
форму в файле resources/views/form.blade.php
писать так:
<form action="/comments" method="POST">
{{ csrf_field() }}
Имя:
<input type="text" name="name"><br/>
Комментарий:<br/>
<textarea name="text" id="text" cols="30" rows="10"></textarea>
<!--<input type="hidden" name="_method" value="PUT">-->
<br/>
<input type="submit" value="Добавить">
</form>
Если я в файле forma.html пропишу вот этот код
xml<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Форма</title> </head> <body> <form action="/comments" method="POST"> {{ csrf_field() }} Имя: <input type="text" name="name"><br/> Комментарий:<br/> <textarea name="text" id="text" cols="30" rows="10"></textarea> <!--<input type="hidden" name="_method" value="PUT">--> <br/> <input type="submit" value="Добавить"> </form> </body> </html>
то всё будет видно, вот к примеру
http://joxi.ru/n2YZMlBHjeZ7vA
Я это всё к чему, может у меня что-то не подключено что обрабатывает
xml{{ csrf_field() }}
xml<form action="/comments" method="POST"> <input type="hidden" name="csrf_field" value="{{csrf_field() }}"> Имя: <input type="text" name="name"><br/> Комментарий:<br/> <textarea name="text" id="text" cols="30" rows="10"></textarea> <!--<input type="hidden" name="_method" value="PUT">--> <br/> <input type="submit" value="Добавить"> </form>
Ничего не понял, просто вставить
{{ csrf_field() }}
между тегами <form>?
Так оно же отобразится на экране… (((
xml<form action="/comments" method="POST"> {{ csrf_field() }} Имя: <input type="text" name="name"><br/> Комментарий:<br/> <textarea name="text" id="text" cols="30" rows="10"></textarea> <!--<input type="hidden" name="_method" value="PUT">--> <br/> <input type="submit" value="Добавить"> </form>
Аналогичная ошибка выскакивает, только я вообще не использую контроллеры, у меня все до ужаса просто
xml<body> <form action="/comments" method="POST"> Имя: <input type="text" name="name"><br/> Комментарий:<br/> <textarea name="text" id="text" cols="30" rows="10"></textarea> <br/> <input type="submit" value="Добавить"> </form> </body>
Route::post('/comments',function (){
print_r($_POST);
});
Это вообще возможно?
Я так понимаю нужно удалить php7.1 и установить php5.6.
Какими командами это сделать? будет ли потом все работать?
Я прошу прощения может не совсем по теме, но я думаю профи использующие laravel встречались с данной проблемой.
Я установил Homestead+PHP Version 7.1.7-1+ubuntu16.04.1+deb.sury.org+1 (Ngnx 1.11.9).
Подскажите как можно изменить версию используемого php на 5.6.
Заранее всем спасибо за ответы.
Страницы 1