Avatar billede cskott Nybegynder
18. maj 2009 - 14:43 Der er 19 kommentarer og
1 løsning

Webshop betalingsmodul fejl

Hej

Jeg er ved at lave en webshop i oscommerce, og jeg har lige installeret betalingsmodul fra wannafind. Men jeg for den her fejl:

Parse error: syntax error, unexpected T_STRING, expecting ')' in /var/www/www.teknikgrossisten.dk/www/www/shop/includes/functions/database.php on line 14

Og jeg kan simpelthen ikke finde ud af hvad der er galt.

Håber i kan hjælpe mig videre..

Komplet kode i filen database.php

<?php
/*
$Id: database.php 1739 2007-12-20 00:52:16Z hpdl $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2007 osCommerce

Released under the GNU General Public License
*/

function tep_db_connect($server = "mysql1.wannafind.dk", $username = brugernavn, $password = password, $database = databasenavn, $link = 'db_link') {
global $$link;

if (USE_PCONNECT == 'true') {
$$link = mysql_pconnect($server, $username, $password);
} else {
$$link = mysql_connect($server, $username, $password);
}

if ($$link) mysql_select_db($database);

return $$link;
}

function tep_db_close($link = 'db_link') {
global $$link;

return mysql_close($$link);
}

function tep_db_error($query, $errno, $error) {
die('<font color="#000000"><b>' . $errno . ' - ' . $error . '<br><br>' . $query . '<br><br><small><font color="#ff0000">[TEP STOP]</font></small><br><br></b></font>');
}

function tep_db_query($query, $link = 'db_link') {
global $$link;

if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
error_log('QUERY ' . $query . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
}

$result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error());

if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
$result_error = mysql_error();
error_log('RESULT ' . $result . ' ' . $result_error . "\n", 3, STORE_PAGE_PARSE_TIME_LOG);
}

return $result;
}

function tep_db_perform($table, $data, $action = 'insert', $parameters = '', $link = 'db_link') {
reset($data);
if ($action == 'insert') {
$query = 'insert into ' . $table . ' (';
while (list($columns, ) = each($data)) {
$query .= $columns . ', ';
}
$query = substr($query, 0, -2) . ') values (';
reset($data);
while (list(, $value) = each($data)) {
switch ((string)$value) {
case 'now()':
$query .= 'now(), ';
break;
case 'null':
$query .= 'null, ';
break;
default:
$query .= '\'' . tep_db_input($value) . '\', ';
break;
}
}
$query = substr($query, 0, -2) . ')';
} elseif ($action == 'update') {
$query = 'update ' . $table . ' set ';
while (list($columns, $value) = each($data)) {
switch ((string)$value) {
case 'now()':
$query .= $columns . ' = now(), ';
break;
case 'null':
$query .= $columns .= ' = null, ';
break;
default:
$query .= $columns . ' = \'' . tep_db_input($value) . '\', ';
break;
}
}
$query = substr($query, 0, -2) . ' where ' . $parameters;
}

return tep_db_query($query, $link);
}

function tep_db_fetch_array($db_query) {
return mysql_fetch_array($db_query, MYSQL_ASSOC);
}

function tep_db_num_rows($db_query) {
return mysql_num_rows($db_query);
}

function tep_db_data_seek($db_query, $row_number) {
return mysql_data_seek($db_query, $row_number);
}

function tep_db_insert_id($link = 'db_link') {
global $$link;

return mysql_insert_id($$link);
}

function tep_db_free_result($db_query) {
return mysql_free_result($db_query);
}

function tep_db_fetch_fields($db_query) {
return mysql_fetch_field($db_query);
}

function tep_db_output($string) {
return htmlspecialchars($string);
}

function tep_db_input($string, $link = 'db_link') {
global $$link;

if (function_exists('mysql_real_escape_string')) {
return mysql_real_escape_string($string, $$link);
} elseif (function_exists('mysql_escape_string')) {
return mysql_escape_string($string);
}

return addslashes($string);
}

function tep_db_prepare_input($string) {
if (is_string($string)) {
return trim(tep_sanitize_string(stripslashes($string)));
} elseif (is_array($string)) {
reset($string);
while (list($key, $value) = each($string)) {
$string[$key] = tep_db_prepare_input($value);
}
return $string;
} else {
return $string;
}
}
?>
Avatar billede acore Ekspert
18. maj 2009 - 16:22 #1
Linien

function tep_db_connect($server = "mysql1.wannafind.dk", $username = brugernavn, $password = password, $database = databasenavn, $link = 'db_link') {

ser forkert ud. Skal du ikke indsætte - i anførselstegn - brugernavn, password og databasenavn?
Avatar billede mcb2001 Nybegynder
18. maj 2009 - 16:22 #2
function tep_db_connect($server = "mysql1.wannafind.dk", $username = brugernavn, $password = password, $database = databasenavn, $link = 'db_link')

Fejlen ligger i denne linie.
Har du eventuelt kontrolleret at du har skrevet brugernavn, passowrd og databasenavn i citations-tegn?
Avatar billede mcb2001 Nybegynder
18. maj 2009 - 16:25 #3
hehe - samme svar i to beskeder inden for 30 sekunder :-)
Avatar billede acore Ekspert
18. maj 2009 - 16:50 #4
Men jeg kom først ;)
Avatar billede cskott Nybegynder
18. maj 2009 - 19:11 #5
Nu har jeg sat brugernavn password og databasenavn i ". Men nu får jeg denne:


Warning: session_start() [function.session-start]: open(tmp/sess_8f90aacdf1d61ef878a3777dc78bf56d, O_RDWR) failed: No such file or directory (2) in /var/www/www.hjemmeside.dk/www/www/shop/includes/functions/sessions.php on line 102

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/www.hjemmeside.dk/www/www/shop/includes/configure.php:2) in /var/www/www.hjemmeside.dk/www/www/shop/includes/functions/sessions.php on line 102

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/www.hjemmeside.dk/www/www/shop/includes/configure.php:2) in /var/www/www.hjemmeside.dk/www/www/shop/includes/functions/sessions.php on line 102
1054 - Unknown column 'iso_code' in 'field list'

select code, title, symbol_left, symbol_right, decimal_point, thousands_point, decimal_places, value, iso_code from currencies

[TEP STOP]




sessions.php:

<?php
/*
  $Id: sessions.php 1830 2008-01-30 00:58:21Z hpdl $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2008 osCommerce

  Released under the GNU General Public License
*/

  if ( (PHP_VERSION >= 4.3) && ((bool)ini_get('register_globals') == false) ) {
    @ini_set('session.bug_compat_42', 1);
    @ini_set('session.bug_compat_warn', 0);
  }

  if (STORE_SESSIONS == 'mysql') {
    if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
      $SESS_LIFE = 1440;
    }

    function _sess_open($save_path, $session_name) {
      return true;
    }

    function _sess_close() {
      return true;
    }

    function _sess_read($key) {
      $value_query = tep_db_query("select value from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "' and expiry > '" . time() . "'");
      $value = tep_db_fetch_array($value_query);

      if (isset($value['value'])) {
        return $value['value'];
      }

      return '';
    }

    function _sess_write($key, $val) {
      global $SESS_LIFE;

      $expiry = time() + $SESS_LIFE;
      $value = $val;

      $check_query = tep_db_query("select count(*) as total from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "'");
      $check = tep_db_fetch_array($check_query);

      if ($check['total'] > 0) {
        return tep_db_query("update " . TABLE_SESSIONS . " set expiry = '" . tep_db_input($expiry) . "', value = '" . tep_db_input($value) . "' where sesskey = '" . tep_db_input($key) . "'");
      } else {
        return tep_db_query("insert into " . TABLE_SESSIONS . " values ('" . tep_db_input($key) . "', '" . tep_db_input($expiry) . "', '" . tep_db_input($value) . "')");
      }
    }

    function _sess_destroy($key) {
      return tep_db_query("delete from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "'");
    }

    function _sess_gc($maxlifetime) {
      tep_db_query("delete from " . TABLE_SESSIONS . " where expiry < '" . time() . "'");

      return true;
    }

    session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
  }

  function tep_session_start() {
    global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS;

    $sane_session_id = true;

    if (isset($HTTP_GET_VARS[tep_session_name()])) {
      if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_GET_VARS[tep_session_name()]) == false) {
        unset($HTTP_GET_VARS[tep_session_name()]);

        $sane_session_id = false;
      }
    } elseif (isset($HTTP_POST_VARS[tep_session_name()])) {
      if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_POST_VARS[tep_session_name()]) == false) {
        unset($HTTP_POST_VARS[tep_session_name()]);

        $sane_session_id = false;
      }
    } elseif (isset($HTTP_COOKIE_VARS[tep_session_name()])) {
      if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_COOKIE_VARS[tep_session_name()]) == false) {
        $session_data = session_get_cookie_params();

        setcookie(tep_session_name(), '', time()-42000, $session_data['path'], $session_data['domain']);

        $sane_session_id = false;
      }
    }

    if ($sane_session_id == false) {
      tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false));
    }

    return session_start();
  }

  function tep_session_register($variable) {
    global $session_started;

    if ($session_started == true) {
      if (PHP_VERSION < 4.3) {
        return session_register($variable);
      } else {
        if (isset($GLOBALS[$variable])) {
          $_SESSION[$variable] =& $GLOBALS[$variable];
        } else {
          $_SESSION[$variable] = null;
        }
      }
    }

    return false;
  }

  function tep_session_is_registered($variable) {
    if (PHP_VERSION < 4.3) {
      return session_is_registered($variable);
    } else {
      return isset($_SESSION) && array_key_exists($variable, $_SESSION);
    }
  }

  function tep_session_unregister($variable) {
    if (PHP_VERSION < 4.3) {
      return session_unregister($variable);
    } else {
      unset($_SESSION[$variable]);
    }
  }

  function tep_session_id($sessid = '') {
    if (!empty($sessid)) {
      return session_id($sessid);
    } else {
      return session_id();
    }
  }

  function tep_session_name($name = '') {
    if (!empty($name)) {
      return session_name($name);
    } else {
      return session_name();
    }
  }

  function tep_session_close() {
    if (PHP_VERSION >= '4.0.4') {
      return session_write_close();
    } elseif (function_exists('session_close')) {
      return session_close();
    }
  }

  function tep_session_destroy() {
    return session_destroy();
  }

  function tep_session_save_path($path = '') {
    if (!empty($path)) {
      return session_save_path($path);
    } else {
      return session_save_path();
    }
  }

  function tep_session_recreate() {
    if (PHP_VERSION >= 4.1) {
      $session_backup = $_SESSION;

      unset($_COOKIE[tep_session_name()]);

      tep_session_destroy();

      if (STORE_SESSIONS == 'mysql') {
        session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
      }

      tep_session_start();

      $_SESSION = $session_backup;
      unset($session_backup);
    }
  }
?>

configure.php

<!-- Minus AutoDato -->
<?php
/*
  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

// Define the webserver and path parameters
// * DIR_FS_* = Filesystem directories (local/physical)
// * DIR_WS_* = Webserver directories (virtual/URL)
  define('HTTP_SERVER', 'http://localhost'); // eg, http://localhost - should not be empty for productive servers
  define('HTTPS_SERVER', 'https://betaling.wannafind.dk/proxy/p.php/'); // eg, https://localhost - should not be empty for productive servers
  define('ENABLE_SSL', true); // secure webserver for checkout procedure?
  define('HTTP_COOKIE_DOMAIN', 'http://localhost');
  define('HTTPS_COOKIE_DOMAIN', '');
  define('HTTP_COOKIE_PATH', '/catalog/');
  define('HTTPS_COOKIE_PATH', '');
  define('DIR_WS_HTTP_CATALOG', '/catalog/');
  define('DIR_WS_HTTPS_CATALOG', '');

global $binary_gateway;
if ($binary_gateway != '') {
  define('DIR_WS_IMAGES', $binary_gateway . HTTP_SERVER . DIR_WS_CATALOG . 'images/');
} else {
  define('DIR_WS_IMAGES', 'images/');
}
  define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
  define('DIR_WS_INCLUDES', 'includes/');
  define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
  define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
  define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
  define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
  define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

  define('DIR_WS_DOWNLOAD_PUBLIC', 'pub/');
  define('DIR_FS_CATALOG', '/var/www/html/catalog/');
  define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/');
  define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/');

// define our database connection
  define('DB_SERVER', 'localhost'); // eg, localhost - should not be empty for productive servers
  define('mysql1.wannafind.dk', 'db_user');
  define('60ooc62e', '');
  define('teknikgrossisten_dk_db', 'db_name');
  define('USE_PCONNECT', 'false'); // use persistent connections?
  define('STORE_SESSIONS', ''); // leave empty '' for default handler or set to 'mysql'
?>
Avatar billede mcb2001 Nybegynder
18. maj 2009 - 19:16 #6
kunne det tænkes at din php installation ikke har skrive rettigheder i den mappe den ligger sessions data i?
Du kan slå denne mappe op i php.ini
Avatar billede cskott Nybegynder
18. maj 2009 - 19:27 #7
Hvordan gør jeg det.? Jeg er ikke lige den helt store php haj :-)
Avatar billede mcb2001 Nybegynder
18. maj 2009 - 19:30 #8
det er faktisk ikke php, men linux hvis det er den fejl jeg benævner i #6
Avatar billede cskott Nybegynder
18. maj 2009 - 19:38 #9
Hvad skal jeg gøre for at komme videre?
Avatar billede mcb2001 Nybegynder
18. maj 2009 - 19:42 #10
har du ikke noget dokumentation på din webbutik der beskriver alle din ting du bør tænke over når du installerer?
Og hvem har installeret din server, kan de eventuelt hjælpe?
Avatar billede cskott Nybegynder
18. maj 2009 - 19:50 #11
Det hele ligger ved wannafind.dk men de supporter ikke oscommerce mere.
Avatar billede mcb2001 Nybegynder
18. maj 2009 - 20:12 #12
men hvis det ligger på deres server, så kan du ikke gøre ret meget - du skal jo rode direkte i server installationen...
Avatar billede acore Ekspert
18. maj 2009 - 20:31 #13
Jeg bemærker, at de nye fejl henviser til et filnavn med hjemmeside.dk, mens jeg ved at din side ligger på teknikgrossisten.dk.

Er der mon et sted i koden eller opsætningen, hvor du ikke har fået sat din side ind i stedet for 'hjemmeside.dk'?
Avatar billede cskott Nybegynder
18. maj 2009 - 20:40 #14
Nej det var bare et forsøg på at skjule navnet, men det kan jo egentlig være lige meget med at skjule dette. :-)

Jeg kan se at der står noget med localhost i configure.php skal dette ikke rettes til?
Avatar billede acore Ekspert
18. maj 2009 - 20:59 #15
Nej, det tror jeg ikke, men det kommer an på serveren.

Jeg tror ikke jeg kan hjælpe mere. Det er svært at overskue delmængder at kode, og så pege på, hvad der er galt, uden at have flere oplysninger.
Avatar billede cskott Nybegynder
30. maj 2009 - 07:07 #16
lukker spørgsmål
Avatar billede acore Ekspert
30. maj 2009 - 10:43 #17
Du fik ellers svar på dit spørgsmål. Der opstod bare et nyt, som er server-relateret, og hvor du ikke kan komme med tilstrækkelig baggrunds-info til at nogen kan hjælpe.
Avatar billede cskott Nybegynder
30. maj 2009 - 15:26 #18
Sorry det er rigtigt. Jeg kan åbne et nyt spørgsmål så kan jeg give jer point der. Hvis det er ok.?
Avatar billede acore Ekspert
30. maj 2009 - 20:13 #19
Skidt med pointene, det handler mere om, at jeg synes det er vigtigt, at vi som spørgere husker at påskønne den hjælp vi får, også selv om vi ikke kommer helt i mål. Og det ser ud til, at du gør det, så helt fint...
Avatar billede cskott Nybegynder
30. maj 2009 - 23:56 #20
Du har ret.
Jeg kan fortælle at der manglede et tmp bibliotek for at få siden bare en smule på rette vej.
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
Computerworld tilbyder specialiserede kurser i database-management

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