shopping cart to mail

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

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 »

Jonathan

Jonathan

13/10/2006 22:23:00
Quote Anchor link
Met de volgende functie krijg ik mijn shopping cart op het scherm:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo showCart(); ?>


Met deze functie kan ik een form naar mijn e-mail sturen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? mail($your_email, $subject, $message, "From: $name <$email>"); ?>


hoe kan ik nu de inhoud van mijn shopping cart meesturen met de e-mail?
 
PHP hulp

PHP hulp

12/01/2025 20:07:52
 
Joren de Wit

Joren de Wit

13/10/2006 22:34:00
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$message
.= showCart();
?>


De shopping cart die normaal op het scherm weergegeven wordt, wordt nu achter aan het bericht van je mail geplakt.
 
Jonathan

Jonathan

13/10/2006 22:47:00
Quote Anchor link
Dit is mijn checkout code. En voor de pietjes precies: ik weet dat het er nu nog 'slordig' uitziet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?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();

?>


<html>
<head>
<link rel="stylesheet" href="_MODIFIED_CART/css/styles.css" />
</head>
<body
bgcolor="#CCCCCC"
text="#003311"
link="#F50066"
vlink="#F50066"
alink="#F50066">


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
<?php

$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>";


$name = stripslashes($_POST['txtName']);
$email = stripslashes($_POST['txtEmail']);
$message .= showCart();

if (!isset($_POST['txtName'])) {


?>


<form method="post" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['REQUEST_URI']; ?>
">

<p><label for="txtName">Name:</label><br />
<input type="text" title="Enter your name" name="txtName" /></p>

<p><label for="txtEmail">Email:</label><br />
<input type="text" title="Enter your email address" name="txtEmail" /></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>

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
28
29
30
31
32
33
<?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;
    
}


?>

<div id="contents">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
        echo showCart();
?>
</div>



</body>
</html>


Ik heb dus dit aangepast:

$message .= showCart();

En inderdaad krijg ik nu de shopping cart in mijn e-mail, maar ook de tussenliggende code!
Gewijzigd op 01/01/1970 01:00:00 door Jonathan
 
Jonathan

Jonathan

13/10/2006 23:00:00
Quote Anchor link
En dit is de showCart in functions.inc.php:


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
28
29
30
31
32
33
34
35
36
37
38
<?php
function showCart() {
    global $db;
    $cart = $_SESSION['cart'];
    if ($cart) {
        $items = explode(',',$cart);
        $contents = array();
        foreach ($items as $item) {
            $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
        }

        $output[] = '<form action="cart.php?action=update" method="post" id="cart">';
        $output[] = '<table cellspacing=6 cellpadding=4 border=0>';
        foreach ($contents as $id=>$qty) {
            $sql = 'SELECT id, title, author, price FROM data WHERE id = '.$id;
            $result = $db->query($sql);
            $row = $result->fetch();
            extract($row);
            $output[] = '<tr>';
            $output[] = '<td width=11%><a style="text-decoration: none" href="cart.php?action=delete&id='.$id.'" class="r">Verwijder</a></td>';
            $output[] = '<td width=61%>'.$title.'; '.$author.'</td>';
            $output[] = '<td width=8%>&#8364; '.$price.'</td>';
            $output[] = '<td width=7%><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" /></td>';
            $output[] = '<td width=11% align="right">&#8364; '.number_format(($price * $qty), 2).'</td>';
            $total += $price * $qty;
            $output[] = '</tr>';
        }

        $output[] = '</table><hr>';
        $output[] = '<table cellspacing=6 cellpadding=4 border=0>';
        $output[] = '<tr><td align="right" width=88%>Subtotaal:</td><td align="right" width=6%>&#8364;</td><td align="right" width=6%>'.number_format(($total), 2).'</td></tr>';
        $output[] = '<tr><td align="right" width=88%>Verzendkosten:</td><td align="right" width=6%>&#8364;</td><td align="right" width=6%><u>6.20</u></td></tr>';
        $output[] = '<tr><td align="right" width=88%><strong>Prijs inclusief verzendkosten</strong>:</td><td align="right" width=6%><strong>&#8364;</strong></td><td align="right" width=6%><strong>'.number_format(($total + 6.20), 2).'</strong></td></tr>';
        $output[] = '</table>';
    }
else {
        $output[] = '<br><p>Uw winkelwagen is leeg.</p><br>';
    }

    return join('',$output);
}

?>


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?
Gewijzigd op 01/01/1970 01:00:00 door Jonathan
 
Robert Deiman

Robert Deiman

13/10/2006 23:00:00
Quote Anchor link
wat staat er precies in de funcie showCart(); voor code?
 
Joren de Wit

Joren de Wit

13/10/2006 23:04:00
Quote Anchor link
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.
 
Jonathan

Jonathan

13/10/2006 23:39:00
Quote Anchor link
Blanche schreef op 13.10.2006 23:04:
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?
 
Jonathan

Jonathan

14/10/2006 12:18:00
Quote Anchor link
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?
Gewijzigd op 01/01/1970 01:00:00 door Jonathan
 



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.