2017-02-21 7 views
0

В моей форме я пытаюсь проверить, есть ли у моего url свойство, называемое электронной почтой, и если haves покажет мне входной адрес электронной почты в форме с уже заполненным значением и в случае, если он не даст ввода электронной почты, но пустой. Но я получаю «неопределенный индекс: электронная почта».Проверьте, доступен ли параметр в url

Мой лезвие HTML является:

<?php 
       $email = $_GET['email']; 
      ?> 
      @if(isset($email)) 

       <div class="form-group"> 
        <label>Email:</label> 
        <input class="form-control" type="email" name="email_source" value="{{$email}}"> 
       </div> 

      @else 
       <div class="form-group"> 
        <label>Email:</label> 
        <input type="email" name="email_source" value=""> 
       </div> 
      @endif 

В моем URL там есть 2 канд ситуации:

http://domain.com/surveys/9/show (no email) 
and 
http://domain.com/surveys/9/[email protected] (with email) 

Кто-то есть идея, что им делать неправильно?

+0

Загрузите метод контроллера, который возвращает это представление – mrabbani

ответ

2
$email = isset($_GET["email"]) ? $_GET["email"] : NULL; 

Что он делает:

  • Initialize $ электронной почты переменной
  • Проверьте $ _GET [ "электронная почта"] установлено
  • Если это правда, набор $ электронной почты до $ _GET [ "электронная почта «]
  • Если ложь, установите $ Отправить NULL

Затем продолжить, чтобы проверить, если $ электронная почта s et или нет.

Прямой вызов $ email = $ _GET ["email"] установит переменную как пустую строку, если $ _GET ["email"] пуст.

+0

В PHP> = 7.0 вы даже можете сделать '$ email = $ _GET ['email'] ?? нуль; '. См. [Null coalescing operator] (http://php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op). –

+0

@ChrisMagnussen за это! Я все еще перехожу на PHP7, и это пригодится – LordNeo

Смежные вопросы