Avatar billede Cyberdata.dk Praktikant
24. oktober 2004 - 02:21 Der er 3 kommentarer og
1 løsning

Problemer med at sende shopcart

Jeg bruger nopcart og det plejer at virke fint, men på min nye server virker det ikke, jeg kan ikke sende datane fra shopcart til mail.
Jeg mistænker en det fordi at register global er sat off.

her er linket til siden www.mechanicstuff.com

og her er scriptet:

<?
//=====================================================================||
//              NOP Design JavaScript Shopping Cart                  ||
//                  PHP SCRIPT Checkout Module                        ||
//                                                                    ||
// For more information on SmartSystems, or how NOPDesign can help you ||
// Please visit us on the WWW at http://www.nopdesign.com              ||
//                                                                    ||
// Javascript portions of this shopping cart software are available as ||
// freeware from NOP Design.  You must keep this comment unchanged in  ||
// your code.  For more information contact FreeCart@NopDesign.com.    ||
//                                                                    ||
// JavaScript Shop Module, V.4.4.0                                    ||
//=====================================================================||
//                                                                    ||
//  Function: Writes available form elements from the NOP              ||
//            Free Cart (http://www.nopdesign.com/freecart)            ||
//            and other form elements to an email file, and            ||
//            send user confirmation                                  ||
//                                                                    ||
//=====================================================================||


//######################################################################
//                                                                    #
// User defined variables:                                            #
//    $header        - string value containing the complete          #
//                      path of the HTML page header                  #
//    $footer        - string value containing the complete          #
//                      path of the HTML page footer                  #
//    $youremail    - string value containing the email address to  #
//                      send catalog orders in EMAIL or BOTH modes    #
//    $returnpage    - URL to send user when checkout is complete    #
//    $csvfilename  - string value containing the complete          #
//                      path of the user database.                    #
//    $csvquote      - string value containing what to use for quotes #
//                      in the csv file (typically "" or \")          #
//    $mode          - string value containing 'EMAIL', 'FILE' or    #
//                      'BOTH' to determine if the script should send  #
//                      an email to you with the new order, write the  #
//                      order to a CSV file, or do both.              #
//######################################################################
$header        = "header.html";
$footer        = "footer.html";
$returnpage    = "http://www.mechanicstuff.com";
$youremail    = "sales@mechanicstuff.com";
$csvfilename  = "orders.csv";
$csvquote      = "\"\"";
$mode          = "EMAIL";


//##############################################################
//#FUNCTION:  doFormError                                    #
//#RETURNS:                                                    #
//#PARAMETERS: A error message string.                        #
//#PURPOSE:    Generates an HTML page indicating a form        #
//#            submission error occurred.                      #
//##############################################################
function doFormError($errString) {

    include($header);

    echo "<FONT SIZE=+2>Den formel du har udfyldt er ikke færdig.<BR><BR></FONT>";
    echo "$errString<BR><BR>\n";
    echo "<INPUT TYPE=BUTTON ONCLICK='history.back()' VALUE='  Return to the checkout page '><HR>";

    include($footer);

    exit;
}

//##############################################################
//#FUNCTION:  doError                                        #
//#RETURNS:                                                    #
//#PARAMETERS: A error message string.                        #
//#PURPOSE:    Generates an HTML page indicating an error      #
//#            occurred.                                      #
//##############################################################
function doError($errString) {

    include($header);

    echo "$errString<BR><BR>\n";

    include($footer);

    exit;
}



//##############################################################
//##############################################################
//###  MAIN                                                  ###
//##############################################################
//##############################################################

if (($b_first == "") || ($b_last == "") || ($b_addr == "") || ($b_city == "") || ($b_zip == "") || ($b_phone == "") || ($b_email == "")) {
  doFormError("det ser ud til at du har glemt at udfylde et felt.  Gå tilbage <A HREF='java script:history.go(-1);'>back</A> og ret fejlen.");
  exit;
}

//# checks for valid email address
if( !(ereg("^(.+)@(.+)\\.(.+)$",$b_email)) ) {
    doFormError("Du har skrevet en forkert Email adresse.  Gå tilbage <A HREF='java script:history.go(-1);'>back</A> og ret fejlen.");
    exit;
}

$today = date ("l, F jS Y");
$strMessageBody = "";
$strMessageBody .= "En ny ordre er modtaget.  Ordren ses nedenfor.\n";
$strMessageBody .= "\n";
$strMessageBody .= "Order Date: $today \n";
$strMessageBody .= " \n";
$strMessageBody .= "Regning til: \n";
$strMessageBody .= "-------- \n";
$strMessageBody .= "  $b_first $b_last \n";
$strMessageBody .= "  $b_addr \n";
$strMessageBody .= "  $b_addr2 \n";
$strMessageBody .= "  $b_zip $b_city \n";
$strMessageBody .= "  $b_phone \n";
$strMessageBody .= "  $b_fax \n";
$strMessageBody .= "  $b_email \n";
$strMessageBody .= " \n";
$strMessageBody .= " \n";
$strMessageBody .= "Send til: \n";
$strMessageBody .= "-------- \n";
$strMessageBody .= "  $s_first $s_last \n";
$strMessageBody .= "  $s_addr \n";
$strMessageBody .= "  $s_addr2 \n";
$strMessageBody .= "  $s_zip $s_city \n";
$strMessageBody .= "  $s_phone \n";
$strMessageBody .= " \n";
$strMessageBody .= " \n";
$strMessageBody .= "Stk  Pris(kr.)  Produkt ID  - Produkt Navn\n";
$strMessageBody .= "===================================================================== \n";
$strMessageBody .= "$QUANTITY_1    $PRICE_1 kr.    $ID_1 - $NAME_1  $ADDTLINFO_1  \n";
if( $NAME_2 ) {$strMessageBody .= "$QUANTITY_2    $PRICE_2 kr.    $ID_2 - $NAME_2  $ADDTLINFO_2  \n";}
if( $NAME_3 ) {$strMessageBody .= "$QUANTITY_3    $PRICE_3 kr.    $ID_3 - $NAME_3  $ADDTLINFO_3  \n";}
if( $NAME_4 ) {$strMessageBody .= "$QUANTITY_4    $PRICE_4 kr.    $ID_4 - $NAME_4  $ADDTLINFO_4  \n";}
if( $NAME_5 ) {$strMessageBody .= "$QUANTITY_5    $PRICE_5 kr.    $ID_5 - $NAME_5  $ADDTLINFO_5  \n";}
if( $NAME_6 ) {$strMessageBody .= "$QUANTITY_6    $PRICE_6 kr.    $ID_6 - $NAME_6  $ADDTLINFO_6  \n";}
if( $NAME_7 ) {$strMessageBody .= "$QUANTITY_7    $PRICE_7 kr.    $ID_7 - $NAME_7  $ADDTLINFO_7  \n";}
if( $NAME_8 ) {$strMessageBody .= "$QUANTITY_8    $PRICE_8 kr.    $ID_8 - $NAME_8  $ADDTLINFO_8  \n";}
if( $NAME_9 ) {$strMessageBody .= "$QUANTITY_9    $PRICE_9 kr.    $ID_9 - $NAME_9  $ADDTLINFO_9  \n";}
if( $NAME_10 ){$strMessageBody .= "$QUANTITY_10    $PRICE_10 kr.    $ID_10 - $NAME_10  $ADDTLINFO_10 \n";}
if( $NAME_11 ){$strMessageBody .= "$QUANTITY_11    $PRICE_11 kr.    $ID_11 - $NAME_11  $ADDTLINFO_11 \n";}
if( $NAME_12 ){$strMessageBody .= "$QUANTITY_12    $PRICE_12 kr.    $ID_12 - $NAME_12  $ADDTLINFO_12 \n";}
if( $NAME_13 ){$strMessageBody .= "$QUANTITY_13    $PRICE_13 kr.    $ID_13 - $NAME_13  $ADDTLINFO_13 \n";}
if( $NAME_14 ) {$strMessageBody .= "$QUANTITY_14    $PRICE_14 kr.    $ID_14 - $NAME_14  $ADDTLINFO_14  \n";}
if( $NAME_15 ) {$strMessageBody .= "$QUANTITY_15    $PRICE_15 kr.    $ID_15 - $NAME_15  $ADDTLINFO_15  \n";}
if( $NAME_16 ) {$strMessageBody .= "$QUANTITY_16    $PRICE_16 kr.    $ID_16 - $NAME_16  $ADDTLINFO_16  \n";}
if( $NAME_17 ) {$strMessageBody .= "$QUANTITY_17    $PRICE_17 kr.    $ID_17 - $NAME_17  $ADDTLINFO_17  \n";}
if( $NAME_18 ) {$strMessageBody .= "$QUANTITY_18    $PRICE_18 kr.    $ID_18 - $NAME_18  $ADDTLINFO_18  \n";}
if( $NAME_19 ) {$strMessageBody .= "$QUANTITY_19    $PRICE_19 kr.    $ID_19 - $NAME_19  $ADDTLINFO_19  \n";}
if( $NAME_20 ) {$strMessageBody .= "$QUANTITY_20    $PRICE_20 kr.    $ID_20 - $NAME_20  $ADDTLINFO_20  \n";}

$strMessageBody .= "===================================================================== \n";
$strMessageBody .= "SUBTOTAL: $SUBTOTAL \n";
$strMessageBody .= "TOTAL:    $TOTAL \n";
$strMessageBody .= "\n";
$strMessageBody .= "Moms udgør: $TAX \n";
$strMessageBody .= "Fragt udgør: $SHIPPING \n";
$strMessageBody .= "Betalings måde: $betaling \n";
$strMessageBody .= "\n\n";
$strMessageBody .= "Besked: \n";
$strMessageBody .= "--------- \n";
$strMessageBody .= "$comment \n";
$strMessageBody .= " \n";


if( $mode == "BOTH" || $mode == "EMAIL") {
  //# Send email order to you...
  $mailheaders = "From: $b_email\r\n";
  $mailheaders .="X-Mailer: PHP Mail generated by:MechanicStuff.com\r\n";
  $subject = "Ny Online Ordre";
  mail($youremail, $subject, $strMessageBody, $mailheaders);
}


if( $mode == "BOTH" || $mode == "FILE") {
 
  $csvcomments = $comment;
  if (!$CSVF = fopen($csvfilename,'a')) {
      doError("kunne ikke åbne CSV filen for skrivning.  Din ordre er ikke blevet gemt.");
      exit;
  }

  fputs($CSVF, $string);
  fputs($CSVF, "\"");
  fputs($CSVF, "$today");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_first");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_last");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_addr");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_addr2");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_city");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_zip");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_phone");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_fax");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$b_email");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$s_first");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$s_last");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$s_addr");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$s_addr2");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$s_city");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$s_zip");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$s_phone");
  fputs($CSVF, "\",\""); 
  fputs($CSVF, "$QUANTITY_1");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_1");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_1");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_1");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_1");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_2");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_2");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_2");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_2");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_2");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_3");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_3");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_3");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_3");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_3");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_4");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_4");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_4");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_4");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_4");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_5");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_5");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_5");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_5");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_5");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_6");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_6");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_6");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_6");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_6");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_7");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_7");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_7");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_7");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_7");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_8");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_8");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_8");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_8");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_8");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_9");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_9");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_9");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_9");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_9");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_10");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_10");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_10");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_10");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_10");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_11");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_11");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_11");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_11");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_11");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_12");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_12");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_12");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_12");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_12");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_13");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_13");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_13");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_13");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_13");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_14");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_14");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_14");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_14");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_14");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_15");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_15");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_15");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_15");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_15");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_16");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_16");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_16");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_16");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_16");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_17");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_17");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_17");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_17");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_17");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_18");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_18");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_18");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_18");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_18");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_19");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_19");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_19");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_19");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_19");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$QUANTITY_20");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "\$$PRICE_20");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ID_20");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$NAME_20");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$ADDTLINFO_20");
  fputs($CSVF, "\",\"");         
  fputs($CSVF, "$SUBTOTAL");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$TOTAL");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$SHIPPING");
  fputs($CSVF, "\",\"");
  fputs($CSVF, "$comment");
  fputs($CSVF, "\"\n");
 
  fclose($CSVF);
}

//# Send email conformation to the customer.....
$mailheaders = "From: $youremail\r\n";
$mailheaders .="X-Mailer: PHP Mail generated by:MechanicStuff.com\r\n";
$subject = "Ordre response";
mail($b_email, $subject, $strMessageBody, $mailheaders);

include($header);
echo "<h2>Tak for din bestilling</h2>";
echo "Tak fordi du brugte vores online butik. 
Du vil modtage en email når din bestilling er godkendt.";
echo " Kontakt os på $youremail hvis du har nogen spørgsmål.";
echo "<P>";
echo "<A HREF=\"$returnpage\" target=_top>Gå til MechanicStuff.com</A>";
echo "<P>";

include($footer);

?>
<p>&nbsp;</p>

håber i kan hjælpe med en løsning :-)
Avatar billede jammerlab Nybegynder
24. oktober 2004 - 11:23 #1
Hvis det er pga. globals så lig denne kode i en fil for sig selv:

----

<?
if ($_GET) { // GET
        foreach($_GET as $Key=>$Value){
            $$Key = $Value;
        }
    }

    if ($_POST) { // POST
        foreach($_POST as $Key=>$Value){
            $$Key = $Value;
        }
    }

    if ($_COOKIE) { // cookies
        foreach($_COOKIE as $Key=>$Value){
            $$Key = $Value;
        }
    }

    if ($_ENV) { // environment/miljø
        foreach($_ENV as $Key=>$Value){
            $$Key = $Value;
        }
    }

    if ($_SERVER) { // server
        foreach($_SERVER as $Key=>$Value){
            $$Key = $Value;
        }
    }
    if ($HTTP_POST_VARS) { // server
        foreach($HTTP_POST_VARS as $Key=>$Value){
            $$Key = $Value;
        }
    }
?>


----

og include den i toppen af de dokumenter der driller... det burde fikse det problem.
Avatar billede mollevp Nybegynder
24. oktober 2004 - 12:55 #2
Lav en lille fil phpinfo.php med indholdet:

<?php

phpinfo();

?>

Gå ind på den, der kan du tjekke om globals er off (bare søg på register_globals)...

Mvh molle
Avatar billede Cyberdata.dk Praktikant
25. oktober 2004 - 01:05 #3
Jeg skrev til b-one og fik det svar at register global er noget jeg selv kan vælge i kontrolpanelet på deres side, og det virkede :-)
Så for jeres svar og det er uden tvivl noget jeg har lært lidt ad, syntes jeg at i skal dele pointene. og så siger jeg TAK :-) for hjælpen, det var sgu rart at få det til at virke :-)
Avatar billede Cyberdata.dk Praktikant
25. oktober 2004 - 01:08 #4
jeg opretter 2 spg. med point til hver af jer, og endnu engang, tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester