Hoe kan ik delen uit een url halen met php7

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Pagina: « vorige 1 2

- Ariën  -
Beheerder

- Ariën -

27/03/2020 20:44:03
Quote Anchor link
En $_POST ?
 
PHP hulp

PHP hulp

24/11/2024 08:19:26
 
Thomas van den Heuvel

Thomas van den Heuvel

27/03/2020 20:44:03
Quote Anchor link
Als ik het goed begrijp leest php://input de rauwe body van een HTML HTTP response.

Waarom gebruik je specifiek php://input, maar ook: hoe wordt de informatie aangeleverd?

Indien dit via POST gebeurt is deze tevens beschikbaar via $_POST.

Als de methode GET is dan is de informatie beschikbaar via GET, maar dan zou deze wel urlencoded aangeleverd moeten worden via de querystring (oftewel in de vorm script.php?name=iSpindel000&ID=125392 etc.)

En anders zul je misschien de REQUEST_URI moeten ontleden ofzo.

Aangezien $_GET leegt blijft vermoed ik dat het een POST request betreft?

Je zou ook de documentatie van deze "Arduino" kunnen raadplegen om na te gaan hoe deze zijn informatie aanlevert, ik neem aan dat dat gespecificeerd is.
Gewijzigd op 27/03/2020 21:04:36 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 20:45:11
Quote Anchor link
Wow, op dezelfde seconde zelfs, Thomas :-)
 
Bas Onbekend

Bas Onbekend

27/03/2020 20:57:46
Quote Anchor link
$_POST reageerd op dezelfde manier als $_GET.



Toevoeging op 27/03/2020 21:00:21:

Hallo Thomas,
php://input heb ik in het begin gebruikt en dit stuk code heeft altijd gewerkt. Het probleem is dat het nu zonder wijzigingen van mijn kant of wijzigingen in het apparaat niet meer werkt. Ik denk dat de hoster iets in het php pakket heeft veranderd ofzo. Ik stuur de info op dezelfde manier als voorheen dus ook handmatig via de webbrowser maar geen van beide werken nog.
 
Thomas van den Heuvel

Thomas van den Heuvel

27/03/2020 21:17:08
Quote Anchor link
Hm, en als je in dezelfde directory een bestandje aanmaakt, en deze probeert te lezen met file_get_contents()?

Vervolgens zou je een simpel formuliertje in elkaar kunnen zetten die iets POST naar een script die dit probeert te verwerken met file_get_contents('php://input'). Op die manier kun je in ieder geval uitsluiten dat het daar niet aan ligt.

Je zou ook kunnen kijken naar de documentatie van dit apparaat, staan daar nog details in over hoe informatie is aangeleverd?

En tot slot zou je altijd kunnen proberen om het melden + weergeven van fouten aan te zetten in het afhandelend script, en dan deze proberen aan te roepen zoals dit apparaat dat doet.

Zet het volgende bovenaan je code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
error_reporting(E_ALL); // welke fouten melden (alle)
ini_set('display_startup_errors', true);
ini_set('display_errors', 'stdout');
?>

Ook zou je wellicht $content op kunnen vangen in een plat bestand, en dan vervolgens dit bestand inhoudelijk kunnen inspecteren om te zien wat er aan data binnenkomt.

Op dit moment kun je denk ik het beste inzetten op strategieën waarmee je dingen kunt uitsluiten / data kunt analyseren.
Gewijzigd op 27/03/2020 21:18:07 door Thomas van den Heuvel
 
Bas Onbekend

Bas Onbekend

27/03/2020 21:20:27
Quote Anchor link
Kijk nu komen we verder



Warning: Use of undefined constant temperature - assumed 'temperature' (this will throw an Error in a future version of PHP) in /home/bla/public_html/sitepro/add1.php on line 24
ok

Toevoeging op 27/03/2020 21:22:15:

Sorry die reageerde op een echo. Nu krijg ik weer geen melding nu ik die echo weg gehaald heb
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 21:22:50
Quote Anchor link
Wat de error dus zegt :-)

Gebruik 'temperature' etc.. tussen je brackets.
Gewijzigd op 27/03/2020 21:29:08 door - Ariën -
 
Bas Onbekend

Bas Onbekend

27/03/2020 21:29:37
Quote Anchor link
Ja sorry dat had ik al aangepast. Was een testje om te zien of ik iets binnen kreeg. maar dus niet het probleem.
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 21:39:46
Quote Anchor link
En via $_POST?
 
Bas Onbekend

Bas Onbekend

27/03/2020 21:42:46
Quote Anchor link
Sorry Arien, ik snap je vraag niet.
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 21:52:59
Quote Anchor link
Heb je al gekeken of het via $_POST binnen komt?
 
Bas Onbekend

Bas Onbekend

27/03/2020 21:57:44
Quote Anchor link
Ja dat gaf hetzelfde antwoord als GET
 
- Ariën  -
Beheerder

- Ariën -

27/03/2020 22:01:36
Quote Anchor link
Kan je het niet met je Arduino naar een bestand schrijven? Als is het om te testen.
 
Bas Onbekend

Bas Onbekend

27/03/2020 22:03:19
Quote Anchor link
Nee de arduino software is door iemand anders geschreven en geeft deze output
 
Thomas van den Heuvel

Thomas van den Heuvel

27/03/2020 22:08:57
Quote Anchor link
Ah.

Zag dit al eerder in jouw tweede codefragment:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
"INSERT INTO fermentervalues (name, angle, temperature, battery,    wort, string )  VALUES( '$json[name]', '$json[angle]', '$json[temperature]', '$json[battery]', '$json[gravity]', '$unixtime')";


Voor de goede orde zouden de kolomnamen voorzien moeten worden van quotes (anders worden deze geinterpreteerd als (niet-bestaande) constanten), en zouden deze velden ook ge-escaped moeten worden in de SQL-context, bijvoorbeeld als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql
= "
    INSERT INTO fermentervalues (
        name, angle, temperature, battery, wort, string
    ) VALUES (
        '"
.mysqli_real_escape_string($conn, $json['name'])."',
        '"
.mysqli_real_escape_string($conn, $json['angle'])."',
        '"
.mysqli_real_escape_string($conn, $json['temperature'])."',
        '"
.mysqli_real_escape_string($conn, $json['battery'])."',
        '"
.mysqli_real_escape_string($conn, $json['gravity'])."',
        '"
.mysqli_real_escape_string($conn, $unixtime)."'
    )"
;
?>

Indien je de object georienteerde notatie gebruikt van mysqli kan de bovenstaande code nog wat korter.
Gewijzigd op 27/03/2020 22:10:47 door Thomas van den Heuvel
 

Pagina: « vorige 1 2



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.