2015-12-08 5 views
0

mon erreur est, j'ai cette variable:obtenir des données avec file_get_content

$request = "https://xxxxx.xxx.com/2/delivery/request?"; 
    $request.= "api_key=".$api_key."&"; 
    $request.= "user_id=".$user_id."&"; 
    $request.= "deliveery_type=".$delivery_type."&"; 
    $request.= "route=E.+Pallares+y+&"; 
    $request.= "street_number=110&"; 
    $request.= "neighborhood=San Lucas&"; 
    $request.= "locality=Distrito&"; 
    $request.= "administrative_area_level_1=Distrito&"; 
    $request.= "postal_code=04030&"; 
    $request.= "country=Mexico&"; 
    $request.= "latlng=".$latlng."&"; 
    $request.= "destination-route=".$destination_route."&"; 
    $request.= "destination-street_number=&"; 
    $request.= "destination-neighborhood=&"; 
    $request.= "destination-locality=".$destination_locality."&"; 
    $request.= "destination-administrative_area_level=".$destination_administrative_area_level."&"; 
    $request.= "destination-postal_code=".$destination_postal_code."&"; 
    $request.= "destination-country=Mexico&"; 
    $request.= "destination-latlng=".$d_latlng."&"; 
    $request.= "customer_email=".$customer_email."&"; 
    $request.= "customer_phone=".$customer_phone."&"; 
    $request.= "notification_email=&"; 
    $request.= "notes=".$notes."&"; 
    $request.= "dispatch=True"; 

file_get_contents (demande de $);

toutes ces variables sont remplies automatiquement, mais quand je lance cela avec file_get_contents la réponse est comme ça:

Warning: file_get_contents(https://xxxxx.xxx.com/2/delivery/request?api_key=23894thfpoiq10fapo93fmapo&user_id=5744125&deliveery_type=Programado&route=E.+Pallares+y&street_number=110&neighborhood=San Lucas&locality=Distrito+Federal&administrative_area_level_1=Distrito+Federal&postal_code=04030&country=Mexico&latlng=19.346%2C-99.154&destination-route=Pallares+y+Portillo+181+Casa+5%2CParque+San&destination-street_number=&destination-neighborhood=&destination-locality=Coyoacan&destination-administrative_area_level=Distrito+Federal&destination-postal_code=04030&destination-country=Mexico&destination-latlng=19.365%2C-99.1966&customer_email=saul%4099minutos.com&customer_phone=5554&notification_email=&notes=Orden%3A+%231019%2C+Cliente%3A+Ricardo+Torreblanca%2C+Productos%3A+Paquete+Blackmore+ONE+%5Bincluye+1+cafetera+en+comodato+%2B+60+c%C3%A1psulas+mensuales%2C+durante+12+mes in 
/home/public_html/shopify/shipping_test.php on line 1301 

dans mon error_log je vérifie et j'ai vu que l'URL est complet, mais je ne sais pas pourquoi ces erreurs

+0

Oui, vous voulez certainement urlencode() ces valeurs pour chaque param. Vous ne pouvez pas mettre un email non codé dans une chaîne get (le symbole @). (ci-dessous) –

+0

L'avertissement est un peu étrange, on dirait que vous avez encodé l'ensemble de la chaîne get ... –

Répondre

0

Je pense que vous allez vouloir urlencode la valeur de chaque paramètre/segment de valeur comme dans:

$request = "https://www.site.tld/path/to/api?param=" . urlencode($value); 

... etc.

+0

à la fin du code, j'oublie d'écrire file_get_contents ($ request); de cette façon, j'ai un avertissement quand je cours mon code – victor

+0

Vous devez toujours urlencode chaque valeur de param séparément. Vous envoyez un email. Nous savons qu'au moins une valeur est en train de casser. –