Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Having Trouble with PWA


Goanna

Recommended Posts

I installed PWA and when I am testing it, I get this

 

PWAtrouble.gif

 

I did back up all my files first, so I can always put the originals back, but I would like to get this working.

 

The only thing I havent done from the instructions is this.

 

****************************************************************
Database changes new as of v0.57

INSERT INTO configuration_group VALUES (40, 'Accounts', 'Configuration of Account settings', 40, 1);

INSERT INTO configuration VALUES ('', 'Purchase Without Account', 'PWA_ON', 'true', 'Allow Customers to purchase without an account', 40, 1, '2003-04-08 13:07:44', '2003-04-08 12:10:51', NULL, 'tep_cfg_select_option(array(\'true\', \'false\'),');


You need to open some files and add some lines also, follow the instructions below and you should be ready in no time.

****************************************************************

 

I am not totally sure on what to do. I opened up phpMyAdmin but I really dont know how to add this information. Is that what is causing the errors in the login area?

 

Also, those boxes do not span the accross the store, they stay more toward the left. Any help will be greatly appreciated. Thanks.

 

Billy

Edited by Goanna
Link to comment
Share on other sites

It looks like you are missing some changes to a language file.

 

As regards the database, go to phpMyAdmin. Select your database. Select the SQL tab. Cut and paste the two insert statements into the text box on that page. Click continue or submit or whatever. It should come back and tell you that it added two rows to the database.

 

Hth,

Matt

Link to comment
Share on other sites

Is this what I am supposed to paste into the Database?

 

INSERT INTO configuration_group VALUES (40, 'Accounts', 'Configuration of Account settings', 40, 1);

INSERT INTO configuration VALUES ('', 'Purchase Without Account', 'PWA_ON', 'true', 'Allow Customers to purchase without an account', 40, 1, '2003-04-08 13:07:44', '2003-04-08 12:10:51', NULL, 'tep_cfg_select_option(array(\'true\', \'false\'),');

 

The only language file that I edited was english.php and the only thing I added to this file was

/*Begin Checkout Without Account images*/
define('IMAGE_BUTTON_CREATE_ACCOUNT', 'Create Account');
/*End Checkout WIthout Account images*/

 

I added that to the bottom of the list containing all the other define('IMAGE BUTTON_*,*'); lines.

 

What else am I supposed to do to english.php?

Link to comment
Share on other sites

Yes, those two lines.

 

It's probably not english.php. On a regular site it would be includes/languages/english/login.php, but I'm not sure with PWA. The file would tend to have the same name as is shown in the URL of the page from which you got the screenshot.

 

Hth,

Matt

Link to comment
Share on other sites

Okay, I fixed the page so it displays the text properly now, It was login.php that I messed up. I replaced two lines of code instead of just addingf the new lines to it. The boxes are still shifted to the left though. I guess that isnt too big a deal, but if you know how to fix that, it would be much appreciated.

 

As for the mySQl I tried entering that text into it and hitting "Go" and it will not work. I tried a few variations also. What if I paste that into a blank text file and save it with a .sql extension and then run it as a file? Would that work?

 

Billy

Edited by Goanna
Link to comment
Share on other sites

I'm having problems with PWA, too:

 

I installed the new files, made all the necessary additions to existing files, inserted the new table information into MySQL, etc, etc. All of it appeared to be working fine until I went to login and got a blank login page.

I opened up my login.php, and noticed that the require for application_bottom.php was entered twice (?). I removed the last one and uploaded the file. I attempted to login again and was greeted with a parse error in the login.php, pointing to very last line, which of course looks like this:

 

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

 

WHAT is wrong with this? This is not incorrect so where is the error actually coming from? I though that there may have been a blank space, but after checking and re-checking, there isn't.

One thing I have noticed is a huge difference between my old login.php and the one included with this contribution. The differences in the code are vast and even using Compare & Merge to find the differences was mind-boggling.

Long story short, I can upload the new login.php and get a blank page when attempting to login (yes, PWA is turned "on" in admin), while uploading my old file allows everything to work just fine.

I think that this is a good contribution and a very important addition, for buyer and seller alike. I'd really like to get this working today, but...

Anyone have any idea why I'm getting this error or why the blank page?

Please help. Thank you.

Link to comment
Share on other sites

Parse errors are usually caused when you have an open (, {, [, ", or ' without a close. In this case, it could be any of the lines above that. Also, if you are already in php context, the <?php could cause this.

 

In short, look at the previous php block from there and see what might be wrong.

 

Hth,

Matt

Link to comment
Share on other sites

Matt,

 

Thanks for the reply...What you said, of course, makes perfect sense. However, I cannot get this contribution to run using the login.php included. There's a bit of code (from the included login.php, shown below) that seems to be causing problems:

 

// redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled (or the session has not started)

if ($session_started == false) {

tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE));

}

 

Having this code at the beginning of this file will not even allow the page to be displayed, with or without errors. All I get is a blank page when I click on login.

Anyway, removing it reveals further parse errors and it seems that as I go through the file and correct them, as soon as one is fixed another appears.

Now, I'm certainly able to admit that I am very new to php, but it's amazing that this file is coded the way it is...I certainly don't mean disrespect to the author of this contribution, but why so many errors? I've never seen anything like this.

 

I'm going to go ahead and paste the code for the login.php from this contribution and if someone can take a look at it and maybe open my eyes to what's wrong (or what I'm doing wrong), I'd really appreciate the help. Thanks.

 

********************************************************************

 

<?php

/*

$Id: login.php,v 1.80 2003/06/05 23:28:24 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

require('includes/application_top.php');

 

// redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled (or the session has not started)

if ($session_started == false) {

tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE));

}

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_LOGIN);

 

$error = false;

if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'process')) {

$email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']);

$password = tep_db_prepare_input($HTTP_POST_VARS['password']);

 

// Check if email exists

$check_customer_query = tep_db_query("select customers_id, customers_firstname, customers_password, customers_email_address, customers_default_address_id from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'");

if (!tep_db_num_rows($check_customer_query)) {

$error = true;

} else {

$check_customer = tep_db_fetch_array($check_customer_query);

// Check that password is good

if (!tep_validate_password($password, $check_customer['customers_password'])) {

$error = true;

} else {

if (SESSION_RECREATE == 'True') {

tep_session_recreate();

}

 

$check_country_query = tep_db_query("select entry_country_id, entry_zone_id from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$check_customer['customers_id'] . "' and address_book_id = '" . (int)$check_customer['customers_default_address_id'] . "'");

$check_country = tep_db_fetch_array($check_country_query);

 

$customer_id = $check_customer['customers_id'];

$customer_default_address_id = $check_customer['customers_default_address_id'];

$customer_first_name = $check_customer['customers_firstname'];

$customer_country_id = $check_country['entry_country_id'];

$customer_zone_id = $check_country['entry_zone_id'];

tep_session_register('customer_id');

tep_session_register('customer_default_address_id');

tep_session_register('customer_first_name');

tep_session_register('customer_country_id');

tep_session_register('customer_zone_id');

 

tep_db_query("update " . TABLE_CUSTOMERS_INFO . " set customers_info_date_of_last_logon = now(), customers_info_number_of_logons = customers_info_number_of_logons+1 where customers_info_id = '" . (int)$customer_id . "'");

 

// restore cart contents

$cart->restore_contents();

 

if (sizeof($navigation->snapshot) > 0) {

$origin_href = tep_href_link($navigation->snapshot['page'], tep_array_to_string($navigation->snapshot['get'], array(tep_session_name())), $navigation->snapshot['mode']);

$navigation->clear_snapshot();

tep_redirect($origin_href);

} else {

tep_redirect(tep_href_link(FILENAME_DEFAULT));

}

}

}

}

 

if ($error == true) {

$messageStack->add('login', TEXT_LOGIN_ERROR);

}

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_LOGIN);

 

$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_LOGIN, '', 'SSL'));

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

<link rel="stylesheet" type="text/css" href="stylesheet.css">

<script language="javascript"><!--

function session_win() {

window.open("<?php echo tep_href_link(FILENAME_INFO_SHOPPING_CART); ?>","info_shopping_cart","height=460,width=430,toolbar=no,statusbar=no,scrollbars=yes").focus();

}

//--></script>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="3" cellpadding="3">

<tr>

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

</table></td>

<!-- body_text //-->

<td width="100%" valign="top"><?php echo tep_draw_form('login', tep_href_link(FILENAME_LOGIN, 'action=process', 'SSL')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_login.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

if ($messageStack->size('login') > 0) {

?>

<tr>

<td><?php echo $messageStack->output('login'); ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

}

 

if ($cart->count_contents() > 0) {

?>

<tr>

<td class="smallText"><?php echo TEXT_VISITORS_CART; ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

}

?>

<tr>

<td><table border="0" width="70%" cellspacing="0" cellpadding="2">

 

<?php

if (PWA_ON == 'false') {

require(DIR_WS_INCLUDES . FILENAME_PWA_ACC_LOGIN);

} else {

require(DIR_WS_INCLUDES . FILENAME_PWA_PWA_LOGIN);

}

?>

</tr>

</table></td>

</tr>

</table></form></td>

<!-- body_text_eof //-->

 

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

 

********************************************************************

 

Note: The require for column_right.php has been removed by me and is site-relative.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...