моя почта laravel показывает, что htmlspecialchars () ожидает, что параметр 1 будет строкой, но получил объект

#php #laravel #laravel-5

#php #laravel #laravel-5

Вопрос:

Я пытаюсь отправить электронное письмо зарегистрированным пользователям, но когда я попытался запустить свой код, я получил эту ошибку на вкладке сеть

сообщение»: «htmlspecialchars () ожидает, что параметр 1 будет строкой, заданный объект (просмотр: C:xampphtdocslaravel Projectsbankiscbankresourcesviewsemailswelcome.blade.php )», «исключение»: «ErrorException»,

вот мой код в welcome.blade.php

 <html lang="en-US">
<head>
    <meta charset="text/html">
</head>
<body>
    Name: {{$name}}
    Password:
    {{$password}}
</body>
</html>
  

вот мой RegisterController.php код

     <?php

namespace AppHttpControllersAuth;

use AppUser;
use AppHttpControllersController;
use IlluminateHttpRequest;
use IlluminateSupportFacadesValidator;
use IlluminateFoundationAuthRegistersUsers;
use IlluminateAuthEventsRegistered;
use AppMailWelcomeMail;
use IlluminateSupportFacadesMail;
use IlluminateSupportFacadesAuth;
use IlluminateSupportFacadesInput;

class RegisterController extends Controller{
    protected function genPass(){
        $limit= 8;
        $chars= 'abcdefghijklmnopqrstuvxwyz1234567890!@#$%^amp;*()_ =-[]{}|ABCDEFGHIJKLMNOPQRSTUVXWYZ';
        $chararray= str_split($chars);
        $gen=array();
        for($i=0;$i<$limit;$i  ){
            $index=rand(0,strlen($chars)-1);
            $gen[$i]= $chararray[$index];
        }
        return implode($gen);
    }
    protected function genAutKey(){
        return bin2hex(random_bytes(8));
    }
    protected function testFunction() {

     }

    use RegistersUsers;

    protected $redirectTo = '/home';
    private $genPass;
    private $genAutKey;

    public function __construct(){  
        $this->genPass = $this->genPass();
        $this->genAutKey = $this->genAutKey();      
        $this->middleware('admin');
    }

    protected function validator(array $data){
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'phoneNumber' => 'required|numeric|unique:users',
        ]);
    }

    protected function create(array $data){        
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],                
            'Authkey' => $this->genAutKey, 
            'password' => bcrypt($this->genPass),
            'phoneNumber' => $data['phoneNumber'],
            'address' => $data['address'],
        ]);
    }

     public function register(Request $request)  {       
        $validation = $this->validator($request->all());
        if ($validation->fails())  {  
            return response()->json(['errors'=>$validation->errors()->toArray()]);
        }
        else{            
            $this->create($request->all()); 

            // Mail::to($request->input('email'))->send(new WelcomeMail($sentt));
            $mail = Mail::send(['html' => 'emails.welcome'], array(
                'name' => $request->input('name'), 
                'email' => $request->input('email'), 
                'Authkey' => $this->genAutKey, 
                'password' => $this->genPass,
                ), function($message){
                    $message->from(Auth::user()->email, Auth::user()->name);    
                    $message->to(Input::get('email'))->subject(Input::get('subject'));    
            });
            return response()->json(['success'=>'Customer registerd successfully']);
        }
    }
}
  

Пожалуйста, что я делаю не так, я много пробовал и даже искал в Интернете, но не смог найти ничего полезного, что помогло бы мне

Комментарии:

1. пожалуйста, сбросьте $this->genPass и покажите нам, что он возвращает?

2. Можете ли вы сделать dd($this->genPass); ?

3. $this-> genPass работает нормально, он возвращает сгенерированный пароль

4. Log::info($name); и Log::info($password); перед вашей почтовой строкой просмотрите журналы, storage/logs/ чтобы увидеть, что содержит каждая переменная. Одним из них является объект вместо строки, которую ищет htmlspecialchars.