J'appelle une API à partir d'une source externe et je souhaite effectuer l'enregistrement en fonction de l'API donnée. J'ai quelques problèmes:
Je voudrais obtenir les données et les transmettre à mon enregistrement de vue, mais je reçois un index non défini: pays. Je sais où je me suis trompé mais je n'ai pas trouvé la solution. dans cette méthode, je devrais déclarer mes $countries, n'est-ce pas ?
public function showRegistrationForm()
{
return view('auth.register');
}
mais j'ai déclaré à ma méthode register(Request $request)
public function register(Request $request)
{
$country=$request->input('country');
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'test',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"country": "'.$country.'"
}',
CURLOPT_HTTPHEADER => array(
'accept: application/json',
'Content-Type: application/json',
'Cookie: device_view=full'
),
));
if($password!= $password_confirmation){
$msg = "passwords doesn't match";
}else {
$msg = "passwords match";
}
$response = curl_exec($curl);
curl_close($curl);
$registerArr= json_decode($response);
if(!EMPTY($registerArr->message)){ // Bad credentials
return $this->showRegistrationForm();
}else{
return redirect()->route('overview');
}
}
et voici ma vue de lame. Je voudrais obtenir les pays en utilisant le menu déroulant
<div class="col-xs-6 col-sm-6">
<div class="form-group">
<select class="form-control" id="country" name="country" required>
<option selected="true" disabled="disabled">Country</option>
@foreach($countries as $country)
<option value="{{$country->country_code}}">
{{$country->country_name}}</option>
@endforeach
</select>
</div>
</div>
et comment connaître le nom de la valeur et le nom du texte ? Parce que l'API n'affiche que le formulaire d'inscription sans la valeur. Est-ce que quelqu'un peut m'aider? Merci
Solution du problème
Vos postfields doivent être un tableau:
CURLOPT_POSTFIELDS => [
"country" => $country,
],
Aucun commentaire:
Enregistrer un commentaire