$_POST waardes in php bestand zijn gevuld maar zie geen waardes

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Van Sebas

Van Sebas

14/05/2023 09:47:42
Quote Anchor link
Beste allemaal,

Ik heb een php bestand waar via een url een POST request op gedaan wordt waarmee ik de $_POST waardes kan inzien.
Nu krijg ik alleen geen waardes te zien, het huidige script om deze $_POST waardes in te zien heb ik hieronder geplakt. Ik zie beide echo teksten "Test1" en "Test2", dus er is een POST request en de $_POST['data'] is niet leeg.
Alleen met de beide onderstaande methodes krijg ik geen value terug bij zowel status als amount.

Wat doe ik fout waarom ik geen waardes te zien krijg?
Ter info; op mijn hosting maak ik gebruik van php8.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php

//Test 1
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['data'])){
    $p = xml_parser_create();
    xml_parse_into_struct($p,$_POST['data'],$vals,$index);
    xml_parser_free($p);
    
    // Index keys
    $status_index = $index['STATUS'][0];
    $amount_index = $index['AMOUNT'][0];

    // Value keys
    $status = $vals[$status_index]['value'];
    $amount = $vals[$amount_index]['value'];
    
    // Echo Value
    echo "Test1";
    echo "Status: ". $status ." | Amount: ". $amount ."";
}



//Test 2
echo "Test2";
echo "Status: ". $_POST['STATUS'] ." | Amount: ". $_POST['AMOUNT'] ."";

?>
 
PHP hulp

PHP hulp

29/05/2023 07:01:50
 
- Ariën  -
Beheerder

- Ariën -

14/05/2023 09:51:13
Quote Anchor link
Heb je al een var_dump($_POST) geprobeerd?
 
Van Sebas

Van Sebas

15/05/2023 21:33:16
Quote Anchor link
Ik wist het even niet meer zeker maar ik heb het zojuist getest maar met:
var_dump($_POST)

Krijg ik ook helemaal geen waardes terug.
Ik heb ook dit geprobeerd:
$json = file_get_contents('php://input');
$data = json_decode($json);

Maar ook hierbij blijft $data leeg.

Vind het wel apart omdat de check hierop
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['data'])){

Blijkbaar wel iets ziet in de post data...
 
Ivo P

Ivo P

15/05/2023 22:09:53
Quote Anchor link
Hoe ziet je <form> tag eruit?

staat daar wel in dat je wilt "post"en? (en niet GET)
 
Van Sebas

Van Sebas

18/05/2023 19:51:33
Quote Anchor link
Een derde partij doet een POST-request naar het opgegeven php bestand met xml tags.
Deze xml-data staat in het POST-veld "data".

Hoe dat "posten" eruit ziet weet ik niet want dat is van een derde partij.
 
- Ariën  -
Beheerder

- Ariën -

18/05/2023 20:14:00
Quote Anchor link
Dan log je dat toch?
 
Ivo P

Ivo P

19/05/2023 14:11:00
Quote Anchor link
Als een derde partij de POST doet: hoe zie jij dan wat je script met var_dump() doet?

En zit er nog ergens een redirect in het verhaal (.htaccess). Bijvoorbeeld van http naar https of van www.domain.nl naar domain.nl ? Want met een redirect wordt het een get-request.

En sturen ze ook daadwerkelijk de xml in "data" en niet in de body van het post-request?

Je zou ook
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$entityBody
= file_get_contents('php://input');
?>


kunnen proberen en kijken waar daarin zit.
 
Willem vp

Willem vp

20/05/2023 15:22:52
Quote Anchor link
Ivo P op 19/05/2023 14:11:00:
Want met een redirect wordt het een get-request.

Hangt er een beetje vanaf. Als het een 307- of 308-redirect is, blijft het een POST.
 
Ivo P

Ivo P

22/05/2023 14:40:38
Quote Anchor link
zo leer nog altijd wat bij :-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.