Nadat een eerder probleem in php is opgelost met betrekking tot ons winkelmandje, komt een volgend probleem naar voren.

In de laatste stap van het bestellen moet je je bestelling bevestigen. Als je dit hebt gedaan komt de volgende regel in het scherm te staan:

Notice: Undefined property: ps_payment::$payment_code in /home/hoekst25/domains/kinderspulenzo.nl/public_html/administrator/components/com_virtuemart/classes/ps_checkout.php on line 1220

De bestelling wordt wel geplaatst en kan ik terug vinden in de backend van onze site.

Regel 1220 van ps_checkout.php vermeld:

<?php
if( $enable_processor == "Y" || stristr($_PAYMENT->payment_code, '_API' ) !== false ) {
?>

Kan iemand mij helpen de foutmelding op te lossen?

Met vriendelijke groet,

Rene Hoekstra

Voor de duidelijkheid de regels voor regel 1220:

<?php

// Export the order_id so the checkout complete page can get it
$d["order_id"] = $order_id;

/*
* Let the shipping module know which shipping method
* was selected. This way it can save any information
* it might need later to print a shipping label.
*/
if( is_callable( array($this->_SHIPPING, 'save_rate_info') )) {

}

// Now as everything else has been done, we can update
// the Order Status if the Payment Method is
// "Use Payment Processor", because:
// Payment Processors return false on any error
// Only completed payments return true!
$update_order = false;
if( $order_total == 0.00 ) { // code moved out of $_PAYMENT check as no payment will be needed when $order_total=0.0



} elseif (isset($_PAYMENT)) {
if( $enable_processor == "Y" || stristr($_PAYMENT->payment_code, '_API' ) !== false ) {
}

?>


@Rene,

De melding die je krijgt is een 'notice' dus alleen een melding maar laat de code wel werken. Je kunt error_reporting gewoon uit zetten en zul je die melding niet meer krijgen.

Aangezien je aangeeft dat alles wel gewoon werkt, zal het goed moeten zijn. Echter maak uiteraard wel een test zodat je dat ook zeker weet.
@Niels

Zal ik de volgende keer doen, sorry.
@Rene, is je probleem nu opgelost?
@Chris NVT

Enig idee waar ik de error_reporting moet uitzetten?
Zet dit in je Config script


<?php
error_reporting(0);
?>
@Chris NVT

Kan ik deze code op de 1e regel van het script neerzetten? Of moet deze elders geplaatst worden.
Dat kan ook maar dan wordt error reporting alleen voor die pagina uit gezet, en niet voor je hele site.
@Chris NVT

Ik heb de code toegevoegd en de foutmelding wordt nu niet meer weergegeven.
Mijn dank is groot.
Rene,

Graag gedaan.
Let wel, de fout (notice) is niet meer zichtbaar, maar is nog steeds aanwezig.

Reageren