echter in onderstaande geeft hij gewoon $agent weer in de output:
<?php
$body .='
<p>Dear $agent<br>
<br>
You will be responsible for the following charter with contract nr $contractnr<br><br>
Ilse Adams will send you the HOTAC confirmation and proof of payment.
<br>';
?>
<?php
$body .='
<p>Dear {$agent}<br>
<br>
You will be responsible for the following charter with contract nr $contractnr<br><br>
Ilse Adams will send you the HOTAC confirmation and proof of payment.
<br>';
?>
of
<?php
$body .='
<p>Dear '.$agent.'<br>
<br>
You will be responsible for the following charter with contract nr $contractnr<br><br>
Ilse Adams will send you the HOTAC confirmation and proof of payment.
<br>';
?>
?
Onbekende gebruiker
07-10-2015 11:41
Je eerste code bevat een bug van jouzelf of van PHP, met single quotes mag PHP de variabele niet vervangen. Met double quotes wel.
... of druk statische HTML simpelweg niet via PHP af en/of stop deze niet (op deze manier) in een string ...
Als je grote lappen HTML/output wilt opvangen in een PHP-variabele, overweeg dan de gebruikmaking van output buffering, dat maakt je HTML-code/output een stuk leesbaarder en daarmee minder gevoelig voor fouten.
Als je $agent niet (meer) ziet als het afgedrukt wordt, kan dat op verschillende manieren komen.
Er is (later in het script) ergens een eval()....
Later is er iets als een str_replace('$agent', $agent);
Dat laatste is niet heel ongebruikelijk: je gebruikt '$agent' dan eigenlijk als placeholder in een string waar je later iets anders wilt gebruiken. Niet geheel onlogisch, maar voor de duidelijkheid kan je het dan beter niet $agent noemen, maar iets als %agent% is dan gebruikerlijker.