ページの作成

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレートを更新

2. クイックスタート & チュートリアル(初心者向け)

当記事ではLaravelを使用してWebアプリケーションを作成します。

画面から値の入力、取得、削除をする簡単なアプリです。

アプリの作成を通してLaravelの以下の項目を説明します。

・データベース
・Eloqunetモデル ORM
・ルーティング
・バリデーション
・ビュー
・Bladeテンプレート

※Laravelの導入が済んでいない場合はこちらを参照。

※Windowsクライアントを使用する方はXAMPPを使用するのでXAMPPの導入が済んでいない場合はこちらを参照。

 

インストール

quickstart」という名前のプロジェクトを新規に作成しましょう。

composer create-project laravel/laravel quickstart --prefer-dist

 

データベースの準備

■データベースの作成(Windowsユーザーの場合)

XAMPPのControl PanelからphpMyAdminを起動しましょう。

phpMyAdminを開いたら「New」ボタンを押して「test」データーベースを作成しましょう。

 

■データベースの作成(Linux / Mac)

ターミナルで以下のコマンドを実行します。

sudo get mysql-server

sudo get php-mysqlnd

sudo mysql -u root

create database test;

 

■ユーザーの作成

「test」データベースを選択した状態で以下のコマンドを実行してデーターベースユーザーを作成しましょう。

GRANT ALL PRIVILEGES 
ON test.* 
TO testUser@localhost 
IDENTIFIED BY 'testPass';

 

■データーベースの接続設定

Laravel内にあるデータベースの接続設定を変更します。

ルートフォルダ直下の「.env」ファイルの以下の部分を変更しましょう。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=testUser
DB_PASSWORD=testPass

 

■テーブルの作成

データベースのマイグレーション機能を用いて「task」テーブルを作成してみましょう。

ルートディレクトリに移動して以下のコマンドを実行します。

php artisan make:migration create_tasks_table --create=tasks

 

database\migrations」配下にファイルが新規作成されたことを確認できます。

ファイルの中身を見てみましょう。

public function up()
    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->increments('id');
            $table->timestamps();
        });
    }

この関数内にある'id'とはtasksテーブルのカラムです。

 

tasksテーブルにカラムを追加してみましょう。

以下の例ではstring型のnameというカラムを追加しています。

public function up()
    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->increments('id');

            $table->string('name');
            $table->timestamps();
        });
    }

 

ファイルを書き換えただけではテーブルの構造は変化しません。

ファイルを保存して以下のコマンドを実行しましょう。

php artisan migrate

※デフォルトのテーブルでkey関連のエラーが発生した場合は「database\migrations」配下にある該当テーブルファイルの「->unique()」や「->index()」の記述を削除するか、対象のカラムの文字コードを以下のようにUTF-8に変更しましょう。

$table->string('email')->charset('utf8')->unique();

 

Eloqunetモデル ORM

次にDBからデータの保存、取得をする際に利用するEloqunetというORMを作成しましょう。

※「ORM(O/R Mapping)」とは

O/Rは「Object/Relational」の略で、オブジェクトとリレーショナルデータベースのデータの間をマッピングする技術のこと。

 

以下のコマンドを実行して「Task」というモデルを作成します。

php artisan make:model Task

モデルとなるクラスは、指定した名前でプロジェクトの「app」フォルダ内に作成されるので確認しましょう。

 

【Task.php】の中身

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Task extends Model
{
    //
}

 

 

ルーティング

ルーティングとはコントローラとURLを対応させる仕組みです。

※コントローラーの詳細に関しては当記事では触れません。(中級者向けの記事で説明します)

 

app/Http/routes.php」のファイルにルーティングの定義をします。

※Laravel5.3以降は、「routes」フォルダ配下にある「web.php」がそれに該当します。

とりあえず、以下の定義をしておきましょう。

<?php

use App\Task;
use Illuminate\Http\Request;

Route::get('/', function () {
    return view('tasks');
});

Route::post('/task', function (Request $request) {
    //
});

Route::delete('/task/{task}', function (Task $task) {
    //
});

 

 

ビューについて

Laravelのビューは「resources/views」に保管します。

return view('tasks');」と定義したのは「resources/views/tasks.blade.php」を表示するということです。

それでは実際に「tasks.blade.php」をつくりましょう。

↓が今回作るビューの完成形です。(※今回CSSはいじらないのであくまでイメージです)

 

レイアウトの作成

LaravelはBladeテンプレートを使用することでページ間の特徴を共有できます。

今回はレイアウトを「resources/views/layouts/app.blade.php」として定義します。

.blade.php」拡張子とすることでBladeテンプレートエンジンをするとフレームワークに指示を出します。

それでは「resources/views」に「layouts」フォルダを作成して以下の内容の「app.blade.php」を作成しましょう。

<!-- resources/views/layouts/app.blade.php -->

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Laravel Quickstart - Basic</title>

        <!-- CSSとJavaScript -->
    </head>

    <body>
        <div class="container">
            <nav class="navbar navbar-default">
                <!-- ナビバーの内容 -->
            </nav>
        </div>

        @yield('content')
    </body>
</html>

@yield('content')」は「contentセクション」を持つ子ビューを挿入するという意味です。

 

子ビューの作成

それでは「contentセクション」を持つ子ビューを作成しましょう。

※先ほど作ったのはレイアウトで今回はビューです。

resources/views/tasks.blade.php」としてビューを定義します。

<!-- resources/views/tasks.blade.php -->

@extends('layouts.app')

@section('content')

    <!-- Bootstrapの定形コード… -->

    <div class="panel-body">
        <!-- バリデーションエラーの表示 -->
        @include('common.errors')

        <!-- 新タスクフォーム -->
        <form action="{{ url('task') }}" method="POST" class="form-horizontal">
            {{ csrf_field() }}

            <!-- タスク名 -->
            <div class="form-group">
                <label for="task" class="col-sm-3 control-label">タスク</label>

                <div class="col-sm-6">
                    <input type="text" name="name" id="task-name" class="form-control">
                </div>
            </div>

            <!-- タスク追加ボタン -->
            <div class="form-group">
                <div class="col-sm-offset-3 col-sm-6">
                    <button type="submit" class="btn btn-default">
                        <i class="fa fa-plus"></i> タスク追加
                    </button>
                </div>
            </div>
        </form>
    </div>

    <!-- TODO: 現在のタスク -->
@endsection

@extends('layouts.app')」は先ほど作成した「resources/views/layouts/app.blade.php」レイアウトを使用するという意味です。

@section('content')」から「@endsection」の内容を、先ほどのレイアウトで定義した「@yield('content')」の部分に挿入します。

@include('common.errors')」は「resources/views/common/errors.blade.php」のテンプレートを使用するという意味です。

(このテンプレートは後ほど作成します。)

 

画面を表示させてみましょう。

ルートディレクトリ上で以下のコマンドを実行してサーバーを起動します。

php artisan serve

 

とりあえず表示させるには「@include('common.errors')」を一時的に削除して「http://localhost:8000/」にアクセスしてみましょう。

以下の画面が表示されます。※表示したら「@include('common.errors')」は戻しておいてください。

 

バリデーション(入力値チェック)

tasks」テーブルに追加する値のチェックを行います。

値の追加はPOSTメソッドで行うので「app/Http/routes.php」もしくは「routes/web.php」に以下の記述をしましょう。

Route::post('/task', function (Request $request) {

    $validator = Validator::make($request->all(), [
        'name' => 'required|max:255',
    ]);

    if ($validator->fails()) {
        return redirect('/')
            ->withInput()
            ->withErrors($validator);
    }

    // タスク作成処理…
});

これは「name」フィールドの入力値に何かしらの値が入力されていて、かつ255字以内であることをチェックしています。

もし、入力値チェックにひっかかった場合は「'/'」にリダイレクトします。

->withInput()」で入力値を再表示し、「->withErrors($validator)」でエラーを$errors変数に格納します。

 

 

エラーの表示

次は$errors変数は子ビューの「@include('common.errors')」の部分で表示させるようにしましょう。

resources/views/common/errors.blade.php」を作成して以下の実装をしましょう。

<!-- resources/views/common/errors.blade.php -->

@if (count($errors) > 0)
    <!-- Form Error List -->
    <div class="alert alert-danger">
        <strong>入力値に誤りがあります。</strong>

        <br><br>

        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

 

データベースへの値の追加

次は値をデータベースに追加する処理を記載します。

app/Http/routes.php」もしくは「routes/web.php」に記載したバリデーション続きに以下の内容を追加しましょう。

Route::post('/task', function (Request $request) {

    $validator = Validator::make($request->all(), [
        'name' => 'required|max:255',
    ]);

    if ($validator->fails()) {
        return redirect('/')
            ->withInput()
            ->withErrors($validator);
    }

    $task = new Task;
    $task->name = $request->name;
    $task->save();

    return redirect('/');
});

new Task」でモデルを生成して「name」に値をセット、「save()」で保存をします。

 

データベースから値を取得

保存した値を取得する処理を以下のように実装します。

Route::get('/', function () {

    $tasks = Task::orderBy('created_at', 'asc')->get();

    return view('tasks', [
       
'tasks' => $tasks
    ]);
});

get()」で値を取得します。「orderBy('created_at', 'asc')」は取得順序の指定です。

tasks.blade.php」に対して取得した「$tasks」を渡します。

 

 

ビューに値を表示

データベースから取得した値をビューに表示しましょう。

resources/views/tasks.blade.php」を以下の内容に書き換えましょう。

(※黄色が追加した部分です)

@extends('layouts.app')

@section('content')

    <!-- Bootstrapの定形コード… -->

    <div class="panel-body">
        <!-- バリデーションエラーの表示 -->
        @include('common.errors')

        <!-- 新タスクフォーム -->
        <form action="{{ url('task') }}" method="POST" class="form-horizontal">
            {{ csrf_field() }}

            <!-- タスク名 -->
            <div class="form-group">
                <label for="task" class="col-sm-3 control-label">タスク</label>

                <div class="col-sm-6">
                    <input type="text" name="name" id="task-name" class="form-control">
                </div>
            </div>

            <!-- タスク追加ボタン -->
            <div class="form-group">
                <div class="col-sm-offset-3 col-sm-6">
                    <button type="submit" class="btn btn-default">
                        <i class="fa fa-plus"></i> タスク追加
                    </button>
                </div>
            </div>
        </form>
    </div>

    <!-- 現在のタスク -->
    @if (count($tasks) > 0)
        <div class="panel panel-default">
            <div class="panel-heading">
                現在のタスク
            </div>

            <div class="panel-body">
                <table class="table table-striped task-table">

                    <!-- テーブルヘッダ -->
                    <thead>
                        <th>Task</th>
                        <th>&nbsp;</th>
                    </thead>

                    <!-- テーブル本体 -->
                    <tbody>
                        @foreach ($tasks as $task)
                            <tr>
                                <!-- タスク名 -->
                                <td class="table-text">
                                    <div>{{ $task->name }}</div>
                                </td>

                                <td>
                                    <!-- TODO: 削除ボタン -->
                                </td>
                            </tr>
                        @endforeach
                    </tbody>
                </table>
            </div>
        </div>
    @endif

@endsection

$tasks」が0件でない場合、foreach文で回して一件ずつ「name」を表示します。

 

データベースの値の削除

先ほど追加したコードの「<!-- TODO: 削除ボタン -->」の部分に、以下のコードを追加して削除ボタンを追加しましょう。

<form action="{{ url('task/'.$task->id) }}" method="POST">
    {{ csrf_field() }}
    {{ method_field('
DELETE') }}

    <button type="submit" class="btn btn-danger">
        <i class="fa fa-trash"></i> 削除
    </button>
</form>

削除ボタンをクリックすると、DELETEでリクエストします。

formタグ内ではPOSTを使用していますが、これはHTMLのフォームが許容しているのがGETとPOSTのみなので、とりあえず記載しているだけです。

実際はDELETEのリクエストとなります。

 

app/Http/routes.php」もしくは「routes/web.php」に以下のDELETEの処理を実装しましょう。

Route::delete('/task/{task}', function (Task $task) {
    $task->
delete();

    return redirect('/');
});

 

これで今回のWebアプリ作成は完了となります。

お疲れさまでした。

 

子ページ
子ページはありません
同階層のページ
  1. インストールと設定
  2. クイックスタート & チュートリアル(初心者向け)
  3. クイックスタート & チュートリアル(中級者向け)
  4. ルーティング
  5. Bladeテンプレート(ビュー/レイアウト)
  6. コントローラー
  7. マイグレーションとテーブル定義
  8. データベースの設定
  9. Eloquentモデル (ORM)
  10. SQLとクエリビルダー
  11. バリデーション
  12. .envファイルの設定値へのアクセス
  13. 動作環境による分岐処理
  14. configフォルダ配下の設定値へのアクセス
  15. assetヘルパーを利用したpublicフォルダへのアクセス
  16. storageフォルダへのアクセス
  17. アプリケーション名の変更
  18. メンテナンス
  19. ログイン画面(認証システム)の作成
  20. ログインの必須化
  21. ログインユーザー情報の取得
  22. ルートの認証化
  23. 本番サーバーへのデプロイ方法
  24. 多言語化
  25. csrf_field
  26. ファイルのダウンロード
  27. CSVのアップロードおよび読み込み(maatwebsite/excel)
  28. ページタイトルの設定
  29. コマンド一覧
  30. エラー一覧
  31. SQLの実行ログ出力方法
  32. キャッシュのクリア
  33. Selectの結果の最初もしくは最後に任意の値を追加する方法
  34. ajaxでPOST通信する際の注意点
  35. ソーシャルログインの実装
  36. セッション情報の確認
  37. ログイン、ユーザー登録、パスワードリセット後のリダイレクト先の変更方法
  38. redirectやreturn viewにメッセージを付与する方法
  39. クッキー(cookie)の設定と取得
  40. クラスの再読み込み
  41. csrfの有効時間を変更する方法
  42. ViewComposerを用いてviewに共通の値を付与する方法
  43. View::shareを用いて共通の値を各ビューに渡す方法
  44. ミドルウェアを用いた処理の共通化
  45. Middleware内でAuth::check()などを使用する方法
  46. Controller以外でリダイレクトする方法
  47. セッションの値の取得/保存/更新/削除
  48. $requestの値を変更する方法
  49. 常時SSL化
  50. ページング(ページネーション)をする方法
  51. vue.jsとの連携
  52. Vue.jsと連携するSPA実行環境構築
  53. .envの値をvue.jsで参照する方法
  54. vue.jsを本番環境にリリースする方法

最近の質問

コメント一覧

    No.43 | guest | 2020-05-29 16:58:04

    <a href="https://xantivirusx.com/">best antivirus software 2019</a> <a href=https://xantivirusx.com/> windows defender antivirus</a> https://xantivirusx.com/ - eset antivirus <a href="https://onlinedatingwow.com/">shemale dating</a> <a href=https://onlinedatingwow.com/> uncensored naked dating reality show</a> https://onlinedatingwow.com/ - free dating online <a href="https://supersweepstakesx.com/">sweepstakes</a> <a href=https://supersweepstakesx.com/> sweepstakes advantage</a> https://supersweepstakesx.com/ - diy network sweepstakes

    No.42 | guest | 2020-05-28 21:48:07

    <a href="https://xantivirusx.com/">free antivirus download</a> <a href=https://xantivirusx.com/> avast antivirus</a> https://xantivirusx.com/ - mcafee antivirus <a href="https://onlinedatingwow.com/">dating daddy odette part 3</a> <a href=https://onlinedatingwow.com/> free dating site</a> https://onlinedatingwow.com/ - free online dating <a href="https://supersweepstakesx.com/">online sweepstakes</a> <a href=https://supersweepstakesx.com/> online-sweepstakes</a> https://supersweepstakesx.com/ - slickdeals contests and sweepstakes forum

    No.41 | guest | 2020-05-27 18:47:32

    <a href="https://xantivirusx.com/">eset antivirus</a> <a href=https://xantivirusx.com/> panda antivirus</a> https://xantivirusx.com/ - free antivirus download <a href="https://onlinedatingwow.com/">who is dating whom</a> <a href=https://onlinedatingwow.com/> who is blake shelton dating</a> https://onlinedatingwow.com/ - uncensored naked dating reality show <a href="https://supersweepstakesx.com/">hgtv sweepstakes 2019</a> <a href=https://supersweepstakesx.com/> hgtv sweepstakes 2019</a> https://supersweepstakesx.com/ - online sweepstakes

    No.40 | guest | 2020-05-25 18:18:15

    is there any advantage to take viagra every day? your mama so ugly even her dildo needs viagra <a href=" https://pharm-usa-official.com/# #">viagra online </a> how to use viagra 100mg local pharmacy generic viagra using viagra with blood thinners buying viagra in bulk <a href=https://pharm-usa-official.com/#>generic viagra </a> gnc substitute for viagra viagra results https://pharm-usa-official.com - viagra

    No.39 | guest | 2020-05-24 13:35:25

    signs of low testosterone testosterone cream <a href=" https://pharm-usa-official.com/testosterone.php ">testosterone levels</a> best testosterone boosters 2019 testosteron high testosterone in men testosterone booster reviews <a href=https://pharm-usa-official.com/testosterone.php> Testocyp</a> testosterone side effects low testosterone treatment https://pharm-usa-official.com/testosterone.php - testosterone levels

    No.38 | guest | 2020-05-23 11:10:32

    do women have testosterone testosterone overdose <a href=" https://pharm-usa-official.com/testosterone.php ">testosterone booster</a> testosterone booster supplements que es testosterona testosterone cream for men testosterone injections <a href=https://pharm-usa-official.com/testosterone.php> testosteron</a> testosterone gel how to boost testosterone https://pharm-usa-official.com/testosterone.php - testosterone supplements

    No.37 | guest | 2020-05-22 13:48:29

    levitra 20 viagra vs cialis <a href=" https://drugstoreonliner.com/#">levitra 10mg </a> levitra dosage levitra cost generic levitra order levitra <a href=https://drugstoreonliner.com/#>generic levitra </a> levitra cheap levitra https://drugstoreonliner.com/ - order levitra

    No.36 | guest | 2020-05-21 14:04:22

    testostГ©rone testosterone enanthate <a href=" https://pharm-usa-official.com/testosterone.php ">testosterone supplements</a> testosterone injection sites testosterona testostГ©rone dГ©finition testosterone therapy <a href=https://pharm-usa-official.com/testosterone.php> low testosterone symptoms</a> androgel testosterone propionate side effects of testosterone injections https://pharm-usa-official.com/testosterone.php - testosterone definition

    No.35 | guest | 2020-05-20 17:55:10

    cheap levitra online levitra <a href=" https://drugstoreonliner.com/#">levitra coupon </a> order levitra cialis 20mg generic levitra online buy levitra <a href=https://drugstoreonliner.com/#>levitra 20 </a> generic levitra generic levitra online https://drugstoreonliner.com/ - levitra pills

    No.34 | guest | 2020-05-20 16:09:30

    que es la testosterona how to increase testosterone <a href=" https://pharm-usa-official.com/testosterone.php ">low testosterone symptoms</a> best testosterone supplements for men natural testosterone gel testosterone side effects in men foods that boost testosterone <a href=https://pharm-usa-official.com/testosterone.php> testosterone supplements</a> androgel testosterone propionate testosterone function https://pharm-usa-official.com/testosterone.php - testosterone gel

    No.33 | guest | 2020-05-18 22:48:06

    weight loss supplements weight loss pills that work <a href=" https://weight-loss-blogs.com/#">healthy diet </a> how to reduce weight how to reduce weight golo weight loss scam weight loss programs <a href=https://weight-loss-blogs.com/#>celine dion weight loss </a> randy jackson weight loss how to lose weight fast https://weight-loss-blogs.com - weight loss calculator

    No.32 | guest | 2020-05-18 17:29:24

    tadalafil lilly tadalafil 20mg prix <a href=" https://supertadalafil.com/ ">cheap tadalafil</a> cialis vs tadalafil generic cialis-impuissance tadalafil generic cialis tadalafil 20mg tadalafil lilly <a href=https://supertadalafil.com/> tadalafil cialis</a> tadalafil vs vardenafil tadalafil 20mg https://supertadalafil.com/ - tadalafil cialis tadalafil generic tadalafil liquid <a href=" https://xtadalafilx.com/ ">tadalafil liquid</a> tadalafil cialis tadalafil cost interactions for tadalafil buy tadalafil 20mg price <a href=https://xtadalafilx.com/> tadalafil 20 mg</a> liquid tadalafil tadalafil 20 mg prix https://xtadalafilx.com/ - cheap tadalafil

    No.31 | guest | 2020-05-17 17:59:12

    tadalafil 10mg tadalafil tablets 20 mg <a href=" https://supertadalafil.com/ ">tadalafil cialis</a> tadalafil lilly tadalafil cialis tadalafil 20mg avis tadalafil avis <a href=https://supertadalafil.com/> tadalafil 5mg</a> tadalafil generic vs cialis generic cialis tadalafil 40 mg https://supertadalafil.com/ - tadalafil 20 mg cialis vs tadalafil generic generic cialis tadalafil 40 mg <a href=" https://xtadalafilx.com/ ">generic tadalafil</a> tadalafil cost cvs tadalafil mylan buy tadalafil cialis vs tadalafil generic <a href=https://xtadalafilx.com/> tadalafil liquid</a> tadalafil 20 mg best price cialis-impuissance tadalafil https://xtadalafilx.com/ - cheap tadalafil

    No.30 | guest | 2020-05-16 17:48:02

    tadalafil en ligne tadalafil online canadian pharmacy <a href=" https://supertadalafil.com/ ">tadalafil reviews</a> tadalafil cost cvs tadalafil 20 mg wirkungsdauer vardenafil vs tadalafil tadalafil vs vardenafil <a href=https://supertadalafil.com/> liquid tadalafil</a> generic cialis tadalafil 20mg tadalafil 20mg prix https://supertadalafil.com/ - buy tadalafil online tadalafil 20 mg wirkungsdauer generic cialis tadalafil 40 mg <a href=" https://xtadalafilx.com/ ">tadalafil liquid</a> cialis generic cialis tadalafil tadalafil 10mg tadalafil biogaran prix tadalafil generique <a href=https://xtadalafilx.com/> generic tadalafil</a> cialis tadalafil tadalafil cialis https://xtadalafilx.com/ - tadalafil cialis

    No.29 | guest | 2020-05-16 09:31:28

    how to lose weight fast weight loss tips <a href=" https://weight-loss-blogs.com/#">best weight loss pills </a> phentermine weight loss medi weight loss best weight loss supplements how to reduce weight <a href=https://weight-loss-blogs.com/#>how to reduce weight </a> noom weight loss sota weight loss https://weight-loss-blogs.com - fastest way to lose weight

    No.28 | guest | 2020-05-15 13:23:42

    generic cialis tadalafil 20 mg from india tadalafila <a href=" https://supertadalafil.com/ ">buy tadalafil online</a> generic tadalafil tadalafila 20mg tadalafil powder tadalafil powder <a href=https://supertadalafil.com/> cheap tadalafil</a> generic cialis tadalafil 40 mg tadalafil online https://supertadalafil.com/ - tadalafil reviews tadalafil dosage vardenafil vs tadalafil <a href=" https://xtadalafilx.com/ ">generic cialis tadalafil</a> tadalafila tadalafil prix en pharmacie cialis tadalafil tadalafil generic cialis 20 mg <a href=https://xtadalafilx.com/> tadalafil generic</a> tadalafil 40 mg cialis vs tadalafil generic https://xtadalafilx.com/ - tadalafil 5mg

    No.27 | guest | 2020-05-14 15:21:59

    tadalafil 40 mg tadalafil prix en pharmacie <a href=" https://supertadalafil.com/ ">tadalafil reviews</a> tadalafil biogaran tadalafil generic tadalafil for women tadalafil lilly <a href=https://supertadalafil.com/> cialis tadalafil</a> generic cialis tadalafil best buys tadalafil vs sildenafil https://supertadalafil.com/ - tadalafil 5mg tadalafila 20mg generic cialis tadalafil 20 mg from india <a href=" https://xtadalafilx.com/ ">tadalafil reviews</a> tadalafil cost cvs tadalafil 40 mg tadalafil en ligne tadalafil avis <a href=https://xtadalafilx.com/> tadalafil generic</a> sildenafil vs tadalafil tadalafil en ligne https://xtadalafilx.com/ - cheap tadalafil

    No.26 | guest | 2020-05-14 06:46:41

    usa viagra pills viagra theophanyschool.org <a href=" https://pharm-usa-official.com/# #">viagra </a> walgreens viagra substitute teva viagra cost daughter helps dad with viagra viagra before and after <a href=https://pharm-usa-official.com/#>viagra </a> orgasims on viagra 100mg viagra without a doctor prescription https://pharm-usa-official.com - viagra

    No.25 | guest | 2020-05-13 11:42:39

    viagra cost per pill des medicare cover viagra <a href=" https://pharm-usa-official.com/# #">viagra </a> viagra contraindications thrombocytopenia, viagra cheaper viagra pill when will viagra become generic <a href=https://pharm-usa-official.com/#>viagra </a> slipped viagra mom lemonade viagra handcuff site:literotica.com https://pharm-usa-official.com - viagra

    No.24 | guest | 2020-05-12 18:55:06

    generic tadalafil tadalafil 20 mg prix <a href=" https://supertadalafil.com/ ">tadalafil dosage</a> generic cialis tadalafil 40 mg buy tadalafil tadalafil 20 mg tablet cialis-impuissance tadalafil <a href=https://supertadalafil.com/> tadalafil generic</a> tadalafil for women tadalafil 20 mg best price https://supertadalafil.com/ - tadalafil cialis tadalafil side effects tadalafil 20 mg <a href=" https://xtadalafilx.com/ ">generic tadalafil</a> side effects for tadalafil buy tadalafil tablets generic tadalafil tadalafil prix en pharmacie <a href=https://xtadalafilx.com/> tadalafil cialis</a> tadalafil en ligne tadalafil online https://xtadalafilx.com/ - tadalafil reviews

    No.23 | guest | 2020-05-12 16:44:07

    viagra from pharmacy in india lyons drug viagra <a href=" https://pharm-usa-official.com/# #">viagra </a> viagra without a doctor prescription cheap real viagra viagra accident viagra leukemia <a href=https://pharm-usa-official.com/#>viagra </a> using viagra how much did you pay for viagra https://pharm-usa-official.com - viagra

    No.22 | guest | 2020-05-12 00:33:48

    <a href="https://wowcialisnow.com/# ">cialis cialis</a> <a href=https://wowcialisnow.com/#> cialis buy cialis online</a> https://wowcialisnow.com/# - buy cialis online https://images.google.pn/url?q=http://make-money-blogs.com/ https://images.google.as/url?q=http://make-money-blogs.com/ https://images.google.md/url?q=http://make-money-blogs.com/ https://www.google.im/url?sa=t&rct=j&q=&esrc=s&source=web&cd=14&ved=0cdqqfjadoao&url=http://make-money-blogs.com/ http://www.google.at/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=14&ved=0CFUQFjADOAo&url=https://wowcialisnow.com/

    No.21 | guest | 2020-05-11 20:43:21

    intermittent fasting weight loss reddit weight loss <a href=" https://weight-loss-blogs.com/# ">weight loss clinic</a> weight loss diet gabourey sidibe weight loss before and after weight loss best weight loss pills <a href=https://weight-loss-blogs.com/#> weight loss foods</a> fast weight loss best protein powder for weight loss https://weight-loss-blogs.com/# - weight loss foods

    No.20 | guest | 2020-05-11 02:07:16

    <a href="https://wowcialisnow.com/# ">generic cialis 20mg</a> <a href=https://wowcialisnow.com/#> cialis cialis generic</a> https://wowcialisnow.com/# - buy generic cialis online http://maps.google.dj/url?q=http://make-money-blogs.com/ https://images.google.com.lb/url?q=https://wowcialisnow.com/ https://www.google.nr/url?q=http://make-money-blogs.com/ https://images.google.am/url?q=http://make-money-blogs.com/ https://maps.google.ad/url?q=https://wowcialisnow.com/

    No.19 | guest | 2020-05-10 20:03:22

    best weight loss supplements weight loss quotes <a href=" https://weight-loss-blogs.com/# ">chrissy metz weight loss</a> weight loss icd 10 rebel wilson weight loss weight loss smoothie recipes quick weight loss <a href=https://weight-loss-blogs.com/#> keto weight loss</a> joe thomas weight loss weight loss motivation https://weight-loss-blogs.com/# - chrissy metz weight loss

    No.18 | guest | 2020-05-10 13:26:07

    <a href="https://wowcialisnow.com/# ">cialis online</a> <a href=https://wowcialisnow.com/#> generic cialis tadalafil</a> https://wowcialisnow.com/# - cheap cialis https://maps.google.cm/url?q=https://wowcialisnow.com/ https://images.google.com.eg/url?q=https://wowcialisnow.com/ https://images.google.com.ly/url?q=https://wowcialisnow.com/ https://www.google.com.mt/url?q=https://wowcialisnow.com/ https://www.google.nr/url?q=https://wowcialisnow.com/

    No.17 | guest | 2020-05-09 19:13:07

    intermittent fasting for weight loss adele weight loss <a href=" https://weight-loss-blogs.com/# ">weight loss surgery</a> weight loss pills instagram restrict weight loss weight loss clinic near me weight loss foods <a href=https://weight-loss-blogs.com/#> intermittent fasting weight loss</a> kelly clarkson weight loss weight loss programs https://weight-loss-blogs.com/# - honey boo boo weight loss

    No.16 | guest | 2020-05-09 11:16:24

    <a href="https://wowcialisnow.com/# ">cialis</a> <a href=https://wowcialisnow.com/#> cialis cialis</a> https://wowcialisnow.com/# - cialis cialis http://maps.google.com.ng/url?q=https://wowcialisnow.com/ https://www.google.com.nf/url?q=https://wowcialisnow.com/ https://maps.google.com.ar/url?q=http://make-money-blogs.com/ https://maps.google.jo/url?q=http://make-money-blogs.com/ http://maps.google.ht/url?q=https://wowcialisnow.com/

    No.15 | guest | 2020-05-08 17:13:05

    <a href="https://wowcialisnow.com/# ">cialis generic</a> <a href=https://wowcialisnow.com/#> buy generic cialis online</a> https://wowcialisnow.com/# - cialis cialis

    No.14 | guest | 2020-05-08 10:25:32

    alli weight loss weight loss blogs <a href=" https://weight-loss-blogs.com/# ">intermittent fasting weight loss</a> extreme weight loss optivia weight loss lexapro weight loss red mountain weight loss <a href=https://weight-loss-blogs.com/#> weight loss calculator</a> celine dion weight loss sara rue weight loss https://weight-loss-blogs.com/# - best diet for weight loss

    No.13 | guest | 2020-05-08 00:18:32

    <a href="https://wowcialisnow.com/# ">cialis online</a> <a href=https://wowcialisnow.com/#> cialis buy cialis online</a> https://wowcialisnow.com/# - cialis cialis

    No.12 | guest | 2020-05-07 07:36:54

    <a href="https://wowcialisnow.com/# ">generic cialis 20mg</a> <a href=https://wowcialisnow.com/#> cialis</a> https://wowcialisnow.com/# - generic cialis 20mg

    No.11 | guest | 2020-05-07 00:43:53

    meal plan for weight loss fasting for weight loss <a href=" https://weight-loss-blogs.com/# ">weight loss meal plan</a> weight loss shakes weight loss blogs weight loss blogs weight loss foods <a href=https://weight-loss-blogs.com/#> weight loss calorie calculator</a> weight loss diet weight loss blogs https://weight-loss-blogs.com/# - keto weight loss

    No.10 | guest | 2020-05-06 13:51:39

    <a href="https://wowcialisnow.com/# ">cialis online</a> <a href=https://wowcialisnow.com/#> cialis generic cialis</a> https://wowcialisnow.com/# - cheap cialis

    No.9 | guest | 2020-05-05 10:57:53

    osrs money making guide send money online <a href=" https://make-money-blogs.com/# ">make extra money</a> money online work from home jobs amazon walmart to walmart money transfer online runescape money making <a href=https://make-money-blogs.com/#> make extra money</a> making money how to make easy money https://make-money-blogs.com/# - make money online fast

    No.8 | guest | 2020-05-04 19:11:50

    bovine coronavirus coronavirus definition <a href="https://pharm-usa-official.com/coronavirus/# ">fip coronavirus</a> equine coronavirus coronavirus. coronavirus isolation precautions what is mers coronavirus <a href=https://pharm-usa-official.com/coronavirus/#> coronavirus genome</a> respiratory syndrome coronavirus outbreak the coronavirus https://pharm-usa-official.com/coronavirus/# - what is coronavirus in cats

    No.7 | guest | 2020-05-04 17:05:33

    how to earn money online work from home data entry <a href=" https://make-money-blogs.com/# ">money online</a> work at home jobs legitimate work at home fifth harmony work from home diy crafts that make money <a href=https://make-money-blogs.com/#> free money online</a> how did jerry jones make his money make money fast https://make-money-blogs.com/# - make extra money

    No.6 | guest | 2020-05-04 01:11:25

    coronavirus treatment coronavirus in humans <a href="https://pharm-usa-official.com/coronavirus/# ">human coronavirus 229e</a> what is coronavirus in humans mers coronavirus what is coronavirus in cats middle east respiratory syndrome coronavirus mers cov <a href=https://pharm-usa-official.com/coronavirus/#> coronavirus in cattle</a> human coronavirus 229e coronavirus in cats https://pharm-usa-official.com/coronavirus/# - enteric coronavirus

    No.5 | guest | 2020-05-03 22:32:38

    make money online 2020 earn money online <a href=" https://make-money-blogs.com/# ">best ways to make money online</a> work at home jobs make money online free making money online home work <a href=https://make-money-blogs.com/#> passive income streams</a> home work work from home https://make-money-blogs.com/# - online surveys for money

    No.4 | guest | 2020-05-02 14:16:12

    best ways to make money online how to start a blog and make money <a href=" https://make-money-blogs.com/# ">make money online</a> how to make money on facebook diy crafts that make money diy crafts that make money legit ways to make money online <a href=https://make-money-blogs.com/#> make money</a> quick ways to make money how to make money fast https://make-money-blogs.com/# - make money http://alshamalnews.com/?p=16728&unapproved=713001&moderation-hash=cba1d47fc6b91ec32e3790002916304f#comment-713001 https://www.biznesidei.bg/chlenove/profesii-17/kak-se-stava-dobar-prodavach-93.html http://www.cinexclu.fr/video/22/the-dictator/ http://www.ntubh.cc/space-uid-612734.html https://www.feuerwehr-news.com/2017/02/19/bad-pyrmont-pkw-rollt-in-die-emmer/?unapproved=10077&moderation-hash=336d5ca7e385296c83d3644bd8610f93#comment-10077

    No.3 | guest | 2020-04-28 08:01:15

    romney coronavirus negative wisconsin coronavirus <a href=" https://pharm-usa-official.com/coronavirus/# ">coronavirus map</a> coronavirus deutschland sean payton coronavirus johns hopkins coronavirus dashboard coronavirus stärkster anstieg binnen 24 stunden <a href=https://pharm-usa-official.com/coronavirus/#> ‌‌coronavirus drug</a> new orleans coronavirus harvey weinstein coronavirus https://pharm-usa-official.com/coronavirus/# - ‌‌coronavirus drug http://www.qdsinocrown.com/?p=1331&unapproved=422535&moderation-hash=389ac4ab4abba82aeb23d74c22a12961#comment-422535 http://www.questohub.com/How-to-Set-up-Uverse-Email-in-Windows-Live https://www.r17.hu/termek/4634/120/70r17+190/50r17-w-michelin-power-2ct-parban-olcsobb-motor#review-form#review-form https://imagewit.com/black-man-phone-photo/?unapproved=90413&moderation-hash=77ee7dc87c627b6ea9501f2577086337#comment-90413 https://www.nilnews.com/u-s-health-experts-say-stricter-measures-are-required-to-limit-coronaviruss-spread/?unapproved=38080&moderation-hash=085d59b4f36e6e06d968f114269eabdc#comment-38080

    No.2 | guest | 2020-04-26 20:12:05

    personal loans embrace home loans <a href=" https://paydailoanz.com/# ">quicken loans login</a> avant loans prosper loans big picture loans nelnet student loans <a href=https://paydailoanz.com/#> navient student loans</a> online loans instant approval elastic loans https://paydailoanz.com/# - caliber home loans login http://erdenet.mn/medee/d/130900069#latest https://www.centrounicusano.it/bari/alla-ricerca-di-articoli-scientifici-per-approfondimenti-e-tesi/?unapproved=3858&moderation-hash=ca863103dfece17b283bd9d532982736#comment-3858 https://sitalpatinews.com/post/6528 https://trangchuwin2888.com/soi-cau-3-mien-09-12-2019-du-doan-xo-so-3-mien-9-12-2019/?unapproved=636392&moderation-hash=8a2de12af0baa8a14c2abccd83971007#comment-636392 http://www.lomebougeinfo.com/lome/?p=1870&unapproved=1612237&moderation-hash=034ce76629f4573c9f128c5bc5d7aa71#comment-1612237

    No.1 | guest | 2020-04-19 12:32:49

    how does facebook make money best ways to make money online <a href=" https://www.fresher.ru/elz/ ">make money online</a> how to make money on the side best way to make money online how does facebook make money how to make money online <a href=https://www.fresher.ru/elz/> make money online</a> make money on the side how to make quick money https://www.fresher.ru/elz/ - make money