2017-01-26 5 views
-2

Ich habe eine URL hier, die ich verwende, um eine Postanforderung an meinen Server zu senden, und ich möchte die EventType, Date fangen und ihre Werte in ein Array, wenn möglich. Ich versuche so viele Methoden, aber aus irgendeinem Grund kann ich diese Informationen nicht bekommen. HierParameter können nicht aus der URL in der POST-Anfrage abgerufen werden. Php

ist die URL

//POST 
    https://localhost/hello/index.php/kyc_succeeded_hook?EventType=SUCCEEDED&RessourceId=1309853&Date=1397037093 

ich zum ersten Mal diese Methode verwendet,

$data = file_get_contents("php://input"); 
     var_dump($data); 
    //I get nothing back. 

Dann habe ich versucht, diese

$Query_String = explode("&", explode("?", $_SERVER['REQUEST_URI'])[1]); 
    var_dump($Query_String); 

I-Werte zurück, wie dies in Postbote, wenn ich echo es

<pre class='xdebug-var-dump' dir='ltr'> 
    <b>array</b> 
    <i>(size=3)</i> 
    0 
    <font color='#888a85'>=&gt;</font> 
    <small>string</small> 
    <font color='#cc0000'>'EventType=SUCCEEDED'</font> 
    <i>(length=23)</i> 
    1 
    <font color='#888a85'>=&gt;</font> 
    <small>string</small> 
    <font color='#cc0000'>'RessourceId=1309853'</font> 
    <i>(length=19)</i> 
    2 
    <font color='#888a85'>=&gt;</font> 
    <small>string</small> 
    <font color='#cc0000'>'Date=1397037093'</font> 
    <i>(length=15)</i> 
</pre> 
<pre class='xdebug-var-dump' dir='ltr'> 
    <small>string</small> 
    <font color='#cc0000'>''</font> 
    <i>(length=0)</i> 
</pre> 

Ich bin nicht sicher, wie Sie diese Werte in ein Array setzen.

+0

Sie diese Parameter wie http 'GET' Argumente senden. Daher können Sie einfach mit der superglobalen Variablen $ $ _GET auf sie zugreifen. – arkascha

+1

Ein paar Stunden mit dem PHP-Handbuch und das wäre kein Problem oder eine Frage. SO soll nicht das Lesen des Handbuchs oder ein paar gute Bücher oder Tutorials ersetzen – RiggsFolly

+0

@RiggsFolly Ich weiß, wie get und post funktioniert, ich war mit einem APi von jemand anderem gemacht, um die Antwort zu erhalten und es wurde angegeben, verwenden Sie eine POST-Anfrage, was meinen Kopf vermasselt hat ... –

Antwort

0

Abfrage-String-Variablen, die an die URL der Seite angehängt werden, werden immer als get-Variablen betrachtet. Daher müssen Sie das Array $_GET verwenden, um sie zu finden.

Also, um die Eventtype zu erhalten, können Sie folgendes tun:

$eventType = $_GET['EventType']; 

Wenn Sie alle bekommen und POST-Variablen in einem Array wollen, können Sie die $_REQUEST Array verwenden können.

0

Ihre http Methode erhalten Sie haben also unter $_GET oder $_REQUEST .try verwenden:

echo $_GET['EventType'];// same for others it will print SUCCESS 

echo $_REQUEST['EventType'];// same for others it will print SUCCESS 
Verwandte Themen