Goedeavond,

Sinds we de php versie op onze server hebben ge-update van 5.1.6 naar 5.2.6 werkt een gedeelte van een gebruikt script niet meer. Het script zorgt ervoor dat de naam van bestelde artikelen meegestuurd wordt in de mail naar de klant en naar de webwinkel eigenaar. Dit werkte altijd prima met <?php... $mail .= file_get_contents($filename); .... ?>. Het werkt op basis van een session.
<?php ..
session_start();
//Put information from form in variables
$orderNumber = $_POST['ordernumber'];
$amount = $_POST['grandtotal'];
$amount *= 100;//Multiply amount by 100 to remove decimals
$product1number = $_POST['Product1Number'];
$product2number = $_POST['Product2Number'];
$product3number = $_POST['Product3Number'];
$product4number = $_POST['Product4Number'];
$issuerID = $_POST['issuerID'];
if($issuerID==0)
{
print("Kies uw bank uit de lijst om met iDEAL te betalen<br>");
exit();
}

.....

$filename = "trans".$transactionID;

....

$qid = mysql_query($q="SELECT * FROM fe_users u
WHERE uid='".$_POST['customerid']."'");
$user = mysql_fetch_assoc($qid);
$shopuser = $_SESSION['shopuser'];
$mail = "Er is een bestelling gedaan op www.domeinnaam.nl met de volgende gegevens:\n\n";
$mail .= "Ordernummer: $orderNumber\n";
$mail .= "Naam: ".$shopuser['name']."\n";
$mail .= "Adres: ".$shopuser['address']."\n";
$mail .= "Postcode: ".$shopuser['zip']."\n";
$mail .= "City: ".$shopuser['city']."\n";
$mail .= "Telefoonnummer: ".$shopuser['telephone']."\n";
$mail .= "E-mail: ".$shopuser['email']."\n";
$mail .= "\n";
$mail .= file_get_contents($filename);
$mail .= "\n";
$mail .= "U dient de betaling voor deze bestelling zelf te controleren!\n\n";
mail('[email protected]', 'Bestelling Bedrijfsnaam', $mail, 'From: [email protected]');

$mail = "Wij hebben de volgende bestelling van u ontvangen:\n\n";
$mail .= "Ordernummer: $orderNumber\n";
$mail .= "Naam: ".$shopuser['name']."\n";
$mail .= "Adres: ".$shopuser['address']."\n";
$mail .= "Postcode: ".$shopuser['zip']."\n";
$mail .= "City: ".$shopuser['city']."\n";
$mail .= "Telefoonnummer: ".$shopuser['telephone']."\n";
$mail .= "E-mail: ".$shopuser['email']."\n";
$mail .= "\n";
$mail .= file_get_contents($filename);
mail($shopuser['email'], 'Bestelling Bedrijfsnaam', $mail, 'From: [email protected]');
?>

Alvast bedankt!

Jorg
Wat werkt er precies niet meer?
Let op sql-injection lekken.
ik zal het wat beter uitleggen. een klant komt op de webwinkel en plaatst product1 in zijn winkelmandje. Vervolgens rekent hij af via iDeal. Op dat moment worden er 2 mails gestuurd. De een naar de eigenaar van de webwinkel :
<?php
$qid = mysql_query($q="SELECT * FROM fe_users u
WHERE uid='".$_POST['customerid']."'");
$user = mysql_fetch_assoc($qid);
$shopuser = $_SESSION['shopuser'];
$mail = "Er is een bestelling gedaan op www.domeinnaam.nl met de volgende gegevens:\n\n";
$mail .= "Ordernummer: $orderNumber\n";
$mail .= "Naam: ".$shopuser['name']."\n";
$mail .= "Adres: ".$shopuser['address']."\n";
$mail .= "Postcode: ".$shopuser['zip']."\n";
$mail .= "City: ".$shopuser['city']."\n";
$mail .= "Telefoonnummer: ".$shopuser['telephone']."\n";
$mail .= "E-mail: ".$shopuser['email']."\n";
$mail .= "\n";
$mail .= file_get_contents($filename);
$mail .= "\n";
$mail .= "U dient de betaling voor deze bestelling zelf te controleren!\n\n";
mail('[email protected]', 'Bestelling Bedrijfsnaam', $mail, 'From: [email protected]');
?>

en een naar de klant:
<?php
$mail = "Wij hebben de volgende bestelling van u ontvangen:\n\n";
$mail .= "Ordernummer: $orderNumber\n";
$mail .= "Naam: ".$shopuser['name']."\n";
$mail .= "Adres: ".$shopuser['address']."\n";
$mail .= "Postcode: ".$shopuser['zip']."\n";
$mail .= "City: ".$shopuser['city']."\n";
$mail .= "Telefoonnummer: ".$shopuser['telephone']."\n";
$mail .= "E-mail: ".$shopuser['email']."\n";
$mail .= "\n";
$mail .= file_get_contents($filename);
mail($shopuser['email'], 'Bestelling Bedrijfsnaam', $mail, 'From: [email protected]');
?>

In beide mails staat $mail .= file_get_contents($filename);
Deze regel zou de naam van het product moeten laten zien. Alle gegevens worden in de mails getoond (naam adres postcode etc) behalve de naam van het bestelde artikel (wat opgeroepen moet worden door $mail .= file_get_contents($filename);. Dit gedeelte werkt dus niet meer.

Voorheen zag de mail er als volgt uit:

Ordernummer: 8953503131433285
Naam: Jorg
Adres: straat 3
1111 ED Amsterdam
Postcode: 1111 ED
City: Amsterdam
Telefoonnummer: 0612345678
E-mail: [email protected]



1 x Hydro Sensitive Cleansing Gel, a EUR 20,35

1 x Hydro Sensitive Dag Creme a EUR 20,35

1 x Azulen Nacht Creme a EUR 22,90

1 x Azulen Dag Creme a EUR 22,90

x Verzendkosten a EUR 6,50

Voor een totaalbedrag van 93


Nu wordt het stuk na email adres weggelaten...
Volgens mij zit dit 'm in:
<?php
$filename = "trans".$transactionID;
$file = fopen($filename, 'w');

fputs($file, $description, strlen($description));
fputs($file, "\r\n\r\n");


foreach($_POST['proms'] as $key=>$value) {
$strLine = $_POST['praant'][$key]." x ".$_POST['proms'][$key]." a EUR ".number_format($_POST['prprc'][$key],2,',','.');
fputs($file, $strLine , strlen($strLine));
fputs($file, "\r\n\r\n");
}

$amount /= 100;
$strLine = "Voor een totaalbedrag van $amount";
fputs($file, $strLine , strlen($strLine));
fputs($file, "\r\n\r\n");

fclose($file);
?>
Ik zal er tevens bij zeggen dat ik geen echte php kennis heb. Ik kan het een beetje lezen, maar verder... Ik heb het destijds laten maken door een programmeur, maar kan geen contact meer krijgen met hem.. Hopelijk kan een van jullie mij verder helpen.
Jorg

Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

Ik zal er tevens bij zeggen dat ik geen echte php kennis heb. Ik kan het een beetje lezen, maar verder... Ik heb het destijds laten maken door een programmeur, maar kan geen contact meer krijgen met hem.. Hopelijk kan een van jullie mij verder helpen.

Jorg, PHPHulp is geen site die gratis scripts maakt voor mensen. De bedoeling van PHPHulp is dat we mensen helpen die zelf een script willen maken, maar die af en toe een duwtje in de goede richting nodig hebben.
Ik heb het erin geplaatst en krijg onderstaande te zien:

Notice: Undefined index: ordernumber in /var/www/vhosts/domeinnaam.nl/httpdocs/TransReq.php on line 21
Notice: Undefined index: grandtotal in /var/www/vhosts/domeinnaam.nl/httpdocs/TransReq.php on line 22
Notice: Undefined index: Product1Number in /var/www/vhosts/domeinnaam.nl/httpdocs/TransReq.php on line 24
Notice: Undefined index: Product2Number in /var/www/vhosts/domeinnaam.nl/httpdocs/TransReq.php on line 25
Notice: Undefined index: Product3Number in /var/www/vhosts/domeinnaam.nl/httpdocs/TransReq.php on line 26
Notice: Undefined index: Product4Number in /var/www/vhosts/domeinnaam.nl/httpdocs/TransReq.php on line 27
Notice: Undefined index: issuerID in /var/www/vhosts/domeinnaam.nl/httpdocs/TransReq.php on line 28
Kies uw bank uit de lijst om met iDEAL te betalen

Wat kan ik hieraan doen?
Beste Jan Koehoorn

Ik snap dat dat niet de bedoeling is. Ik ben daar ook niet op uit. Ik ben op zoek naar een tip of advies hoe ik dit kan oplossen. Een duwtje in de rug kan ik zeker wel gebruiken. Als iemand mij kan vertellen waar het aan zou kunnen liggen dan ga ik dat zelf uitzoeken.

Ik wil in ieder geval iedereen die mij wil helpen alvast bedanken.

Jorg

Gelieve Niet Bumpen: Herhaling

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.
Op regel 4 van je eerste voorbeeld heb je:
<?php
$orderNumber = $_POST['ordernumber'];
?>
maar je hebt niet gecheckt of $_POST['ordernumber'] wel bestaat met de functie isset ();

Reageren