Gegevens overbrengen van een query naar een mailscript met Get_file_content

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick engels

patrick engels

30/01/2018 23:35:03
Quote Anchor link
Ik probeer de uitvoer van een query, geplaatst in een tabel te versturen per email

Kan iemand mij zeggen hoe ik de waarde van '".$_GET["OrderID"]."' kan overbrengen naar het script da de mail verstuurd ?

Als ik een vaste waarde meegeef aan file_get_contents, bijvoorbeeld file_get_contents('view_order.php?OrderID=61'); werkt het
en ontvangt de onvanger de volledige tabel met alle uit de query gehaalde velden zoals in view_order.


Dit is een de Select query uit View_order.php die waarden uit database in ee ntabel plaatst :

$strSQL = "SELECT * FROM orders WHERE OrderID = '".$_GET["OrderID"]."' ";
$objQuery = mysql_query($strSQL) or die(mysql_error());
$objResult = mysql_fetch_array($objQuery);


Dit is het script dat de tabel uit View_order verstuurd via mail :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
mysql_connect("localhost","user","pass");
mysql_select_db("dbnaam");
include 'view_order.php';
$onderwerp = " Uw overzicht ";
$inhoud = file_get_contents('view_order.php');
$ontvanger = "emailadres";
...
enz
?>
 
PHP hulp

PHP hulp

29/11/2024 19:51:58
 
- Ariën  -
Beheerder

- Ariën -

30/01/2018 23:49:23
Quote Anchor link
In view_order.php kan je toch prima je $_GET["OrderID"] oproepen, als deze bestaat?

Verder:
- Er is SQL-injection mogelijk. Gebruik parametered queries of escape ze.
- Gebruik bij sterke voorkeur de mysqli-functies, en niet de oude mysql-functies. In PHP 7 zijn deze verwijderd en zal je script direct 'breken'.
Gewijzigd op 30/01/2018 23:54:18 door - Ariën -
 
Patrick engels

patrick engels

31/01/2018 00:03:15
Quote Anchor link
ik heb geen enkel probleem met view_order.php
Deze werkt perfect en geeft alle gegeven weer.

Wat mij niet lukt is wanneer ik het mailscript draai, krijg ik een lege tabel
doordat deze de waarde van .$_GET["OrderID"] niet meeneemt.
Geef ik zelf een waarde in bij file_get_contents dan is er ook geen probleem
vb : file_get_contents('view_order.php?OrderID=61
 
- Ariën  -
Beheerder

- Ariën -

31/01/2018 00:13:50
Quote Anchor link
Ik vraag me af of het wel hand is is om de output van een PHP-script met GET-parameter erbij op te halen. Kan je niet met file_get_contents() een template ophalen met bepaalde placeholder-variabelen? Waarna je deze vanuit je mailscript kan voorzien van de juiste informatie.

Dus in view_order.php zet je bijv neer: [[name]] [[address]] etc. Waarbij je die data dus vervangt door de juiste informatie.
 
Adoptive Solution

Adoptive Solution

31/01/2018 00:42:44
Quote Anchor link
Misschien helpt het als je in regel 6 ?OrderID=nn meegeeft.

En waarom wordt het bestand in regel 4 ingesloten?
 
Thomas van den Heuvel

Thomas van den Heuvel

31/01/2018 00:44:47
Quote Anchor link
Ik denk dat het probleem hier is (om het aan de praat te krijgen, los van alle veiligheidsrisico's waar Ariën op wees) dat je een bestand probeert te openen als een URL. Als je daadwerkelijk wilt dat het "bestand" als URL wordt behandeld zul je een volledige URL op moeten geven zodat er dan wrappers in werking treden die op de achtergrond de URL oproepen en de content ophalen (en vervolgens serveren als bestand).

view_order.php?OrderID=61 zal dus niet begrepen worden,
http(s)://jouw.domein.nl/view_order.php?OrderID=61 waarschijnlijk wel.

Deze wrappers moeten overigens wel ingeschakeld staan, zoals ook in de handleiding wordt aangehaald.

En ja, wat @Adoptive dus zei :p.
Gewijzigd op 31/01/2018 00:45:46 door Thomas van den Heuvel
 



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.