Mailfunctie...

Status
Niet open voor verdere reacties.

GooGooJansen

Gebruiker
Lid geworden
16 jul 2006
Berichten
513
Hallo,

Ik heb van iemand een script gekregen voor een WebShop, nu maakt dat gebruik van een mail-functie:

$bericht .= number_format($verzend, 2, ",", ".");
$totaal = $totaal + $verzend;
$bericht .= "\n\nTotaal: € " . number_format($totaal, 2, ",", ".");
if (!mail($_GET['mail'], "Uw bestelling", "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht) || !mail($mail, "Bestelling van " . $webshopnaam, "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht)){

Hoe verander ik dat zodat het script dat in een bestandje plaatst en opslaat?
Ik draai zelf de server, heb geen mailserver. Vandaar dat ik dit wil.

GooGooJansen
 
Laatst bewerkt:
Je moet de PHP functie FOPEN gebruiken: http://nl3.php.net/fopen

Daarmee kan je bestandjes (txt bijv) openen, iets in written en weer sluiten.
Je moet het desbetreffende bestandje wel de lees/schrijf rechten (chmod 777) geven op de server.

Success! :thumb:
 
Ik zal even kijken:thumb: , ik ben nog niet zo goed in php:rolleyes:

GooGooJansen

:eek: :eek:

Dus wat moet ik nu precies doen? Dit?:

if (!mail($_GET['mail'], "Uw bestelling", "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht) || !mail($mail, "Bestelling van " . $webshopnaam, "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht)){
Vervangend door:
$handle = fopen ("c:/data/Hosting.txt", "w+");

Of anders? P.S. Kun je een beetje helpen?

Thx

EDIT:

Misschien heb ik het:

if (($handle = fopen ("c:/data/Hosting.txt", "w+"), "Uw bestelling", "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht) || !mail($mail, "Bestelling van " . $webshopnaam, "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht)){

Dit???
 
Laatst bewerkt:
Ik zal even kijken:thumb: , ik ben nog niet zo goed in php:rolleyes:

GooGooJansen

:eek: :eek:

Dus wat moet ik nu precies doen? Dit?:

if (!mail($_GET['mail'], "Uw bestelling", "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht) || !mail($mail, "Bestelling van " . $webshopnaam, "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht)){
Vervangend door:
$handle = fopen ("c:/data/Hosting.txt", "w+");

Of anders? P.S. Kun je een beetje helpen?

Thx

Nouja dit script gaat er vannuit dat je een pagina die hiervoor kwam enkele veldjes had.
Formulierveldjes wel te verstaan, deze laten zich verzenden door de submit button.
Die met de methode GET geleverd worden aan dit script.

Bijv...

Invoer.php --> verwerk.php

Invoer.php is je pagina met invoerveldjes (mag ook invoer.html zijn)
Die verzend de gegevens naar verwerk.php (dit moet .php zijn).

Je wilt ipv verzenden per mail nu het opslaan in een bestandje op je webserver.
Dan moet je inderdaad je data in een .txt file drukken.

Nog een nederlandse handleiding dan: http://www.phphulp.nl/php/howto/index.php?page=10
 
Parse error: syntax error, unexpected '{' in C:\Documents and Settings\Bureaublad\AppServ\www\Hosting\shop\cart.php on line 271

Volgens mij doe ik iets fout :p


GooGooJansen
 
Laatst bewerkt:
Nee, ik heb dat geprobeerd, maar dat is weer TE.

Die ik van hem kreeg was goed, alleen krijg ik het niet goed met dat post gedoe.:confused:

GooGooJansen

P.S.

Ik snap dat ik moet aangeven wat het moet posten.

Ben alweer verder :rolleyes:

maar krijg dit:

Warning: fopen() expects parameter 4 to be resource, string given in C:\Documents and Settings\Bureaublad\AppServ\www\Hosting\shop\cart.php on line 271

Ik heb de regel aangepast in:
if ($handle = fopen ("c:/data/Hosting.txt", "w+", "Uw bestelling", "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht) || !fopen($fopen, "Bestelling van " . $webshopnaam, "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht)){

Ik denk dat de fout bij !fopen zit (vetgedrukt)
 
Laatst bewerkt:
Hmm,

Ik ben alweer iets verder:p althans dat denk ik:rolleyes:

In deze regel:
if ($handle = fopen("c:/data/Hosting.txt", "w+", "Uw bestelling", "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht) || fopen($fopen, "Bestelling van " . $webshopnaam, "De volgende bestelling is ingevoerd bij " . $webshopnaam . "\n\n" . $bericht)){

zit de fout in het vetgedrukte gedeelte.:confused:

Wat nu?

Nogmaals de error (Warning):

PHP:
Warning: fopen() expects parameter 4 to be resource, string given in C:\Documents and Settings\Bureaublad\AppServ\www\Hosting\shop\cart.php on line 271

GooGooJansen
 
Laatst bewerkt:
Je moet iets eerst openen en daarna moet je er iets in schrijven...

Dus je opent eerst het bestand en daarna schrijf je er iets in...

Lees anders de php-pagina van fwrite(); even door. Voorbeeld 566 zal je wel op weg helpen.
 
Bedankt, maar het is niet meer nodig. Ik heb een domein gekocht en nu kan ik binnenkort met e-mail werken:) .


GooGooJansen
 
Het kan wellicht handig zijn als backup wanneer het mailtje niet goed is overgekomen...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan