2017-02-21 30 views
0

在我的表單中,我試圖檢查我的url是否有一個名爲email的屬性,如果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 

在我的網址有C和有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; 

作用:

  • 初始化$電子郵件可變
  • 檢查$ _GET [ 「電子郵件」]設置
  • 如果爲真,設置$電子郵件至$ _GET [「電子郵件「]
  • 如果爲假,設置$電子郵件爲NULL

然後進行檢查,如果$電子郵件是S是否。

如果$ _GET [「email」]爲空,直接調用$ email = $ _GET [「email」]會將該變量設置爲空字符串。

+0

在PHP> = 7.0中,您甚至可以執行'$ email = $ _GET ['email'] ??空;'。請參閱[空合併運算符](http://php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op)。 –

+0

@ChrisMagnussen謝謝你的!我仍然將自己遷移到PHP7,這將派上用場 – LordNeo