[RESOLU] formulaire php et curl

Petit nouveau ! | 8 Messages

20 sept. 2016, 20:59

Bonjour a tous, je suis en train de créer un site internet pour un client, dans lequel j'ai un formulaire dont les données doivent atterrir dans un crm sur un autre site, mais cela ne marche pas, les données ne s'affichent pas le crm et je ne comprend pas mon erreur.

Voici le formulaire
<form action="http://remere1.nessiafly.com/wp-content/themes/Avada/test2.php" method="post" class="std">
<fieldset> 
<div style="color: #00000;"> * Champs Obligatoires </div>
<div style="color: #fff;">
<div class="row">
    <div class="col-md-12 col-sm-12">
        <div class="row">
          <div class="col-md-2 col-sm-2">
                <div class="form-group">
<div>Civilité*</div>   <select name="rc_titre_particulier" >
                             <option value='2'>Mademoiselle </option>
                             <option value='3'>Madame </option>
                             <option value='1'>Monsieur </option>          </select>

</div>
            </div>
            <div class="col-md-5 col-sm-5">
                <div class="form-group">
                    <div>Nom*</div>
                    <input type="text" name="rc_demandenom_particulier" value="">
                </div>
            </div>
            <div class="col-md-5 col-sm-5">
                <div class="form-group">
                    <div>Prénom*</div>
                    <input type="text" name="rc_demandeprenom_particulier">
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-6 col-sm-6">
                <div class="form-group">
                    <div>Email*</div>
                    <input type="text" name="rc_demandeemail">
                </div>
            </div>
            <div class="col-md-6 col-sm-6">
                <div class="form-group">
                    <div>Téléphone*</div>
                   <input type="text" name="rc_demandetelephone_particulier">
                </div>
            </div>
        </div>

 <div class="row">
            <div class="col-md-6 col-sm-6">
                <div class="form-group">
                   <div>Adresse*</div>
                    <input type="text" name="rc_demandeadresse_particulier">
                </div>
            </div>
<div class="col-md-3 col-sm-3">
                <div class="form-group">
                      <div>Code Postal*</div>
                    <input type= "text" name="rc_demandecode_postal_particulier">
                </div>
            </div>
            <div class="col-md-3 col-sm-3">
                <div class="form-group">
                      <div>Ville*</div>
                    <input type="text" name="rc_demandeville_particulier">
                </div>
            </div>
        </div>
<div class="row">
            <div class="col-md-4 col-sm-4">
                <div class="form-group">
<div>Catégorie Professionnelle*</div>   <select name="rc_demandeprofession">
                  <option value='11'>Artisan-Commerçant</option><option value='24'>Assistante Maternelle</option><option value='20'>CDD</option><option value='13'>CDI non Cadre</option><option value='8'>CDI-Cadre</option><option value='21'>Congé Parental</option><option value='9'>Fonctionnaire (Titulaire)</option><option value='16'>Gérant- PDG</option><option value='19'>Intérimaire</option><option value='26'>Invalidité</option><option value='2'>Profession libérale</option><option value='4'>Retraité(e)</option><option value='25'>Sans Activité-Chomeur</option> 
          </select>

</div>
            </div>

 <div class="col-md-4 col-sm-4">
                <div class="form-group">
<div>Date de naissance* </div>   <input type="text" name="rc_demandedate_de_naissance_particulier"> 
</div>
</div>
 <div class="col-md-4 col-sm-4">
                <div class="form-group">
<div>Situation de Famille*</div>  <select name= "rc_demandesituation_de_famille_particulier">
                             <option value='1'>CELIBATAIRE</option><option value='2'>CONCUBINAGE</option><option value='3'>DIVORCE</option><option value='7'>DIVORCE ET UNION LIBRE</option><option value='4'>MARIE(E)</option><option value='9'>Pacsé</option><option value='8'>SEPARE(E) INSTANCE DE DIVORCE</option><option value='5'>UNION LIBRE</option><option value='6'>VEUF(VE)</option>  </select>

</div> 
</div> 

 <div class="row">
<div class="col-md-4 col-sm-4">
                <div class="form-group">
                    <div> Revenu mensuel total du ménage*</div> <input type="number" name"rc_demanderevenu_total_menage" size="10"></div>
</div>

<div class="col-md-4 col-sm-4">
                <div class="form-group">
                    <div>Valeur de votre bien immobilier*</div>
 <input type="number" name="rc_demandevaleur_bien_immobilier" size="10">
</div>
</div>

<div class="col-md-4 col-sm-4">
                <div class="form-group">
                    <div> Montant des dettes et des crédits*</div> <input type="number" name="rc_demandekrd_total" size="10">
</div>
</div>
</div>

<div><p>Résumé de votre demande<br /><textarea name="rc_demanderesume_demande" rows="19" cols="35"></textarea> </p></div>
 


<div>
<input type="submit" name="submitMessage" value="Envoyer" /> 
</div>
       </div>
</div>
</div>
</div>
</div>
</fieldset>
</form>
et voici la fonction php curl qui est appelée
<?php
$url = 'https://remere-cars.com/curl.php';
$customer_data = array("rc_demandetitre_particulier" => "rc_demandetitre_particulier","rc_demandenom_particulier" => "rc_demandenom_particulier","rc_demandeemail"=>"rc_demandeemail","rc_demandeadresse_particulier" => "rc_demandeadresse_particulier","rc_demandeville_particulier" => "rc_demandeville_particulier","rc_demandecode_postal_particulier" => "rc_demandecode_postal_particulier", "rc_demandetelephone_particulier" =>  "rc_demandetelephone_particulier","rc_demandeprofession" =>  "rc_demandeprofession","rc_demandedate_de_naissance_particulier" => "rc_demandedate_de_naissance_particulier", "rc_demandesituation_de_famille_particulier" => "rc_demandesituation_de_famille_particulier", "submitMessage" => "Envoyer" );
$data = array("xelia" => $customer_data);
$data_string = json_encode($data);
$ch=curl_init($url);

curl_setopt_array($ch, array(
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $data_string,
    CURLOPT_HEADER => true,
    CURLOPT_CAINFO=> "cacert.pem",
    CURLOPT_SSL_VERIFYPEER=> true,
    CURLOPT_HTTPHEADER => array('Content-Type:application/json', 'Content-Length: ' . strlen($data_string)))
);

$result = curl_exec($ch);
curl_close($ch);
?>
lors de la validation du form j'ai ce message:
HTTP/1.1 200 OK Date: Tue, 20 Sep 2016 19:35:34 GMT Server: Apache/2.2.22 (Debian) X-Powered-By: PHP/5.4.45 Vary: Accept-Encoding Transfer-Encoding: chunked Content-Type: text/html {"error_code":1,"response":"demande incorrecte _cl61_"}

et rien ne s'affiche dans le crm

merci de votre aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 sept. 2016, 22:06

Bonjour,

Code : Tout sélectionner

{"error_code":1,"response":"demande incorrecte _cl61_"}
Le système distant sur lequel tu fait ton appel curl te renvoie un message d'erreur, il faut donc que tu regarde dans la doc de ce système ou que tu pose la question à celui qui le gère pour savoir à quoi correspond ce message d'erreur.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 8 Messages

20 sept. 2016, 22:10

je vais me renseigner merci, et reviendrai si je ny arrive pas

Petit nouveau ! | 8 Messages

21 sept. 2016, 12:30

J ai parle avec le concepteur du crm qui me dit qu il manque une variable
tu as oublié de rajouter la variable pQuoi avec la valeur "rc_demande"
Les champs complémentaires (à ne pas mettre en hidden !)
name="pQuoi" valeur="rc_demande
Mais la je ne vois pas ou la mettre,

https://we.tl/P18xxMGf5s

c est la doc qu'ils mont fournis si ça peut aider car la je rame grave.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 sept. 2016, 12:52

salut,

dans le tableau des données au début ?
'pQuoi' =>'rc_demande' ?

a priori le submit n'est pas utile.

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 8 Messages

21 sept. 2016, 13:03

Salut et merci, mais vu que c est une variable obligatoire, ou je dois l insérer?

Petit nouveau ! | 8 Messages

21 sept. 2016, 21:50

j ai trouve la solution si ca aide quelqu'un
<?php
$url = 'https://remere-cars.com/curl.php';
$data_string = array("pQuoi" => "rc_demande","rc_demandetitre_particulier" => "rc_demandetitre_particulier","rc_demandenom_particulier" => "rc_demandenom_particulier","rc_demandeemail"=>"rc_demandeemail","rc_demandeadresse_particulier" => "rc_demandeadresse_particulier","rc_demandeville_particulier" => "rc_demandeville_particulier","rc_demandecode_postal_particulier" => "rc_demandecode_postal_particulier", "rc_demandetelephone_particulier" =>  "rc_demandetelephone_particulier","rc_demandeprofession" =>  "rc_demandeprofession","rc_demandedate_de_naissance_particulier" => "rc_demandedate_de_naissance_particulier", "rc_demandesituation_de_famille_particulier" => "rc_demandesituation_de_famille_particulier", "submitMessage" => "Envoyer" );
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CAINFO, "cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
$output = curl_exec($ch);
$result = curl_exec($ch);
curl_close($ch);
print_r ($result);
?>
cependant un probleme persiste dans l affichage des donnees, il y a un probleme au niveau du code au debut
"rc_demandetitre_particulier" => "rc_demandetitre_particulier","rc_demandenom_particulier" => "rc_demandenom_particulier"...
sauriez vous ce que je dois mettre pour recuperer les donnees du formulaire?

merci

Mammouth du PHP | 2703 Messages

21 sept. 2016, 21:59

"rc_demandetitre_particulier" => $_POST["rc_demandetitre_particulier"]

Petit nouveau ! | 8 Messages

21 sept. 2016, 22:36

Tout est bon, Merci§