Tja het is een beetje weinig code om er echt wijs uit te worden, maar als je hetgeen wat je normaal op je scherm te zien krijgt in het mailtje wilt hebben:
<?php
$message .= showCart();
?>
De shopping cart die normaal op het scherm weergegeven wordt, wordt nu achter aan het bericht van je mail geplakt.
Dit is mijn checkout code. En voor de pietjes precies: ik weet dat het er nu nog 'slordig' uitziet.
<?php
// Include MySQL class
require_once('_MODIFIED_CART/inc/mysql.class.php');
// Include database connection
require_once('_MODIFIED_CART/inc/global.inc.php');
// Include functions
require_once('_MODIFIED_CART/inc/functions.inc.php');
// Start the session
session_start();
$your_email = "[email protected]";
$subject = "Bestelling";
$empty_fields_message = "<p>Niet alle verplichte velden zijn ingevuld.</p>";
$thankyou_message = "<p>Dank u wel voor uw bestelling.</p>";
<p><label for="txtMessage">Your message:</label><br />
<textarea title="Enter your message" name="txtMessage"></textarea></p>
<p><label title="Send your message">
<input type="submit" value="Send" /></label></p>
</form>
<?php
}
elseif (empty($name) || empty($email)) {
echo $empty_fields_message;
}
else {
// Stop the form being used from an external URL
// Get the referring URL
$referer = $_SERVER['HTTP_REFERER'];
// Get the URL of this page
$this_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
// If the referring URL and the URL of this page don't match then
// display a message and don't send the email.
if ($referer != $this_url) {
echo "You do not have permission to use this script from another URL.";
exit;
}
// The URLs matched so send the email
mail($your_email, $subject, $message, "From: $name <$email>");
// Display the thankyou message
echo $thankyou_message;
Let wel: de table wordt definitief afgesloten in cart.php aangezien die knoppen wel in de css komen, maar niet in de (show)Cart.
De vraag is dus eigenlijk: hoe krijg ik de inhoud van showCart (dus hetzelfde resultaat wat je krijgt als je echo showCart uitvoert) meegezonden met de e-mail zonder dat de tussenliggende code ook wordt meegezonden?
Jep, klopt. Alle code die je normaal op de pagina zou zien door het aanroepen van showCart() wordt in het mailtje geplakt. Als je de tussenliggende code niet gemaild wilt krijgen, zou je misschien een nieuwe functie kunnen maken die je shopping cart zonder tussenliggende code weergeeft.
Jep, klopt. Alle code die je normaal op de pagina zou zien door het aanroepen van showCart() wordt in het mailtje geplakt. Als je de tussenliggende code niet gemaild wilt krijgen, zou je misschien een nieuwe functie kunnen maken die je shopping cart zonder tussenliggende code weergeeft.
Dat is toch wel balen. Maar... op zich zou ik zelf eea kunnen ontcijferen, alleen het volgende probleem is dat bij iedere bestelling de output na zoveel tekens wordt afgekapt. Is het aan te passen dat dit ongelimiteerd is?
Ik heb bedacht dat het eigenlijk niet erg is, omdat ik die code gewoon in een html editor kan stoppen. Het enige is dat voorkomen moet worden dat de output van $message in mijn mail wordt afgekapt.
Kan dit door $message van tevoren in te stellen als varchar met een oneindig aantal tekens? Nee, volgens mij heeft dit alleen te maken met MySQL... heeft iemand enig idee hoe ik het afkappen kan voorkomen?