2017-03-20 173 views
1

我有一個網站,加密和解密輸入到文本框中的數據,當我點擊「加密」應用程序將發送包含加密的電子郵件信息。Laravel 5.4:當通過電子郵件發送變量變爲NULL

問題:電子郵件包含一切,除了實際的加密消息。

我使用mailtrap查看發送的電子郵件。 這裏的代碼:

控制器:

public function encrypt(Request $request){ 
    $output = encrypt($request->name); 
    Mail::to('[email protected]')->send(new EncryptionSent($output)); 

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

的Mailables:

class EncryptionSent extends Mailable{ 
use Queueable, SerializesModels; 

public $output; 

public function __construct($output){ 
    // 
} 
public function build(){ 
    return $this->from('[email protected]')->view('decrypt', ['output' => $this->output]); 
} 

}

觀:

@extends ('home') 
@section('content') 
<div style = "width: 250px;border: 1px solid #000000;word-wrap:break-word"> 
<!-- The Decrypted code is located here --> 
{{ $output }} 
</div> 

<form action="{{ url('/decrypt/'.$output)}}" method="POST" class="form- horizontal"> 
    {{ csrf_field() }} 
    <br/><br/> 
    <button type="submit" class="btn btn-default"> 
     <i class="fa fa-btn fa-plus"></i> Decrypt! 
    </button> 
</form> 

@endsection 

我用DD()來找出問題所在,但是$輸出總是返回控制器中的加密消息並且可以郵寄。

感謝您的閱讀,希望有人能幫助!

+1

不要使用** **全球。使用$ output作爲參數或作爲對象的屬性(** $ this-> output **) –

+0

感謝您的提示,我更改了代碼;結果仍然是一樣的。 –

+0

嘿:)你忘了在__construct方法中設置屬性: '$ this-> output = $ output' –

回答

0

請勿使用global。使用$輸出參數或對象($這個 - >輸出) 的財產,在__construct方法添加$這個 - >輸出= $輸出

相關問題