emin vural
emin vural

Reputation: 33

Laravel welcome.blade.php doesn't load propery

I've just started learning laravel from laracasts, but there's something wrong with the welcome.blade.php page.

I have tried to start new projects, but the result hasn't changed. Somehow the browser sees the laravel code (@...) as html.

I realized this problem in this video - https://laracasts.com/series/laravel-from-scratch-2017/episodes/5 . When I try to echo out

   <h1>Hello, <?php echo $name ?><h1>   

and in the web.php page do exactly like Jeffrey says

  Route::get('/', function() { 
     return view('Welcome', [
     name=>'World'
   ]);
  });

I still get undefined value error. Do I need to change something or is there a way to reinstall laravel?

Please see screenshot.

and this is the default page code for welcome.blade.php - I didn't touch anything.

<!doctype html>
<html lang="{{ app()->getLocale() }}">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>

        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">

        <!-- Styles -->
        <style>
            html, body {
                background-color: #fff;
                color: #636b6f;
                font-family: 'Raleway', sans-serif;
                font-weight: 100;
                height: 100vh;
                margin: 0;
            }

            .full-height {
                height: 100vh;
            }

            .flex-center {
                align-items: center;
                display: flex;
                justify-content: center;
            }

            .position-ref {
                position: relative;
            }

            .top-right {
                position: absolute;
                right: 10px;
                top: 18px;
            }

            .content {
                text-align: center;
            }

            .title {
                font-size: 84px;
            }

            .links > a {
                color: #636b6f;
                padding: 0 25px;
                font-size: 12px;
                font-weight: 600;
                letter-spacing: .1rem;
                text-decoration: none;
                text-transform: uppercase;
            }

            .m-b-md {
                margin-bottom: 30px;
            }
        </style>
    </head>
    <body>
        <div class="flex-center position-ref full-height">
            @if (Route::has('login'))
                <div class="top-right links">
                    @auth
                        <a href="{{ url('/home') }}">Home</a>
                    @else
                        <a href="{{ route('login') }}">Login</a>
                        <a href="{{ route('register') }}">Register</a>
                    @endauth
                </div>
            @endif

            <div class="content">
                <div class="title m-b-md">
                    Laravel
                </div>

                <div class="links">
                    <a href="https://laravel.com/docs">Documentation</a>
                    <a href="https://laracasts.com">Laracasts</a>
                    <a href="https://laravel-news.com">News</a>
                    <a href="https://forge.laravel.com">Forge</a>
                    <a href="https://github.com/laravel/laravel">GitHub</a>
                </div>
            </div>
        </div>
    </body>
</html>

Upvotes: 3

Views: 4233

Answers (2)

Vicky Gill
Vicky Gill

Reputation: 734

Use blade syntax , double curly braces like so:

{{ $name }} 

Also remove double semi-colon from your return statement.

Upvotes: 1

user3451822
user3451822

Reputation:

Judging from the screenshot, the URL indicates that these pages are not being served by an HTTP server. Make sure you are serving all php source from an HTTP server. You could use Laravel's simple server by running:

php artisan serve

You'll be able to access your work, hopefully on http://localhost:8000.

May I also draw your attention to your welcome route definition. Given your file is welcome.blade.php. I believe it should look like so:

Route::get('/', function() { 
    return view('welcome', [
       'name' => 'World'
    ]);
});

Upvotes: 1

Related Questions