Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Help, in safari the check &dropdowns don't work. People can't shop


koekiegirl

Recommended Posts

I have a serious, but weird problem.

My webshop is working fine (not perfect, but good enough for now) in IE, firefox, chrome and opera, but there is a problem in safari.

 

I have checkboxes in my shopping cart, for removing an artikel. In safari it shows as a block with a arrow in it. Doesn't do anything.

 

Then..in the product info pages, i have dropdownboxes to choose color, size, and things like that. In that dropdownbox, on the right, should be a block with arrow. The block isn't there, it is a empty hole.

 

Then, i have radiobuttons to choose the way to pay. Those radiobuttons are black. You can't choose, you can't click on them.

 

The page for new customers, choosing miss of mister, also black, also can't click on them.

 

Long story short, my customers can't shop when they use safari.

I need help, because i don't know why this is happening!

My English is not so very good, sorry. I'm from Holland.

Link to comment
Share on other sites

All I can think of is that there is something slightly "off" in the page HTML that FF, IE, etc. let pass but Safari is choking on. Could you find the HTML on your page giving the checkboxes (it would be an <input> tag with type="checkbox", I think) and paste it here? Maybe the PHP that creates it can be updated if it's not strictly meeting standards. Same for the offending radio buttons, please (<input> with type "radio"). Please also provide any CSS entries that pertain to these checkboxes and radio buttons.

Link to comment
Share on other sites

Hello Phil.

 

In the stylesheet (I have 2. one in catalog, and a template i use in catalog/includes/template)

In the stylesheet from catalog, i found this:

CHECKBOX, INPUT, RADIO, SELECT {
 font-family: Geneva, Arial, Helvetica, sans-serif;
 font-size: 11px;
}

 

This next code is from create_account.

It has radioboxes for choosing gender.

In safari, i see them as black checkboxes.

It also has a dropbox in it to choose your country (the land you live in)

On the side there should be a grey square with an arrow down, but that shows as a emty hole.

Then, the newsletter, should be a checkbox but it shows as a little square with a arrow in it. That square thing doesn't do anything.

<?php
/*
 $Id: create_account.php 1739 2007-12-20 00:52:16Z hpdl $
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com
 Copyright (c) 2003 osCommerce
 Released under the GNU General Public License
*/
 require('includes/application_top.php');
// needs to be included earlier to set the success message in the messageStack
 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CREATE_ACCOUNT);
 $process = false;
 if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process')) {
   $process = true;
   if (ACCOUNT_GENDER == 'true') {
  if (isset($HTTP_POST_VARS['gender'])) {
    $gender = tep_db_prepare_input($HTTP_POST_VARS['gender']);
  } else {
    $gender = false;
  }
   }
   $firstname = tep_db_prepare_input($HTTP_POST_VARS['firstname']);
   $lastname = tep_db_prepare_input($HTTP_POST_VARS['lastname']);
   $email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']);
   if (ACCOUNT_COMPANY == 'true') $company = tep_db_prepare_input($HTTP_POST_VARS['company']);
   $street_address = tep_db_prepare_input($HTTP_POST_VARS['street_address']);
   if (ACCOUNT_SUBURB == 'true') $suburb = tep_db_prepare_input($HTTP_POST_VARS['suburb']);
   $postcode = tep_db_prepare_input($HTTP_POST_VARS['postcode']);
   $city = tep_db_prepare_input($HTTP_POST_VARS['city']);
   if (ACCOUNT_STATE == 'true') {
  $state = tep_db_prepare_input($HTTP_POST_VARS['state']);
  if (isset($HTTP_POST_VARS['zone_id'])) {
    $zone_id = tep_db_prepare_input($HTTP_POST_VARS['zone_id']);
  } else {
    $zone_id = false;
  }
   }
   $country = tep_db_prepare_input($HTTP_POST_VARS['country']);
   $telephone = tep_db_prepare_input($HTTP_POST_VARS['telephone']);
   $fax = tep_db_prepare_input($HTTP_POST_VARS['fax']);
   if (isset($HTTP_POST_VARS['newsletter'])) {
  $newsletter = tep_db_prepare_input($HTTP_POST_VARS['newsletter']);
   } else {
  $newsletter = false;
   }
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']);
   $password = tep_db_prepare_input($HTTP_POST_VARS['password']);
   $confirmation = tep_db_prepare_input($HTTP_POST_VARS['confirmation']);
   $error = false;
   if (ACCOUNT_GENDER == 'true') {
  if ( ($gender != 'm') && ($gender != 'f') ) {
    $error = true;
    $messageStack->add('create_account', ENTRY_GENDER_ERROR);
  }
   }
   if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {
  $error = true;
  $messageStack->add('create_account', ENTRY_FIRST_NAME_ERROR);
   }
   if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
  $error = true;
  $messageStack->add('create_account', ENTRY_LAST_NAME_ERROR);
   }
   if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) {
  $error = true;
  $messageStack->add('create_account', ENTRY_STREET_ADDRESS_ERROR);
   }
   if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) {
  $error = true;
  $messageStack->add('create_account', ENTRY_POST_CODE_ERROR);
   }
   if (strlen($city) < ENTRY_CITY_MIN_LENGTH) {
  $error = true;
  $messageStack->add('create_account', ENTRY_CITY_ERROR);
   }
   if (is_numeric($country) == false) {
  $error = true;
  $messageStack->add('create_account', ENTRY_COUNTRY_ERROR);
   }
   if (ACCOUNT_STATE == 'true') {
  $zone_id = 0;
  $check_query = tep_db_query("select count(*) as total from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "'");
  $check = tep_db_fetch_array($check_query);
  $entry_state_has_zones = ($check['total'] > 0);
  if ($entry_state_has_zones == true) {
    $zone_query = tep_db_query("select distinct zone_id from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "' and (zone_name = '" . tep_db_input($state) . "' or zone_code = '" . tep_db_input($state) . "')");
    if (tep_db_num_rows($zone_query) == 1) {
	  $zone = tep_db_fetch_array($zone_query);
	  $zone_id = $zone['zone_id'];
    } else {
	  $error = true;
	  $messageStack->add('create_account', ENTRY_STATE_ERROR_SELECT);
    }
  } else {
    if (strlen($state) < ENTRY_STATE_MIN_LENGTH) {
	  $error = true;
	  $messageStack->add('create_account', ENTRY_STATE_ERROR);
    }
  }
   }

if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
  $error = true;
  $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR);
   } elseif (tep_validate_email($email_address) == false) {
  $error = true;
  $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);
   } else {
  $check_email_query = tep_db_query("select count(*) as total from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'");
  $check_email = tep_db_fetch_array($check_email_query);
  if ($check_email['total'] > 0) {
    $error = true;
    $messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);
  }
   }


   if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) {
  $error = true;
  $messageStack->add('create_account', ENTRY_PASSWORD_ERROR);
   } elseif ($password != $confirmation) {
  $error = true;
  $messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING);
   }
   if ($error == false) {
  $sql_data_array = array('customers_firstname' => $firstname,
						  'customers_lastname' => $lastname,
						  'customers_telephone' => $telephone,
						  'customers_fax' => $fax,
						  'customers_newsletter' => $newsletter,
	 'customers_email_address' => $email_address,
						  'customers_password' => tep_encrypt_password($password));
  if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $gender;
  tep_db_perform(TABLE_CUSTOMERS, $sql_data_array);
  $customer_id = tep_db_insert_id();
  $sql_data_array = array('customers_id' => $customer_id,
						  'entry_firstname' => $firstname,
						  'entry_lastname' => $lastname,
						  'entry_street_address' => $street_address,
						  'entry_postcode' => $postcode,
						  'entry_city' => $city,
						  'entry_country_id' => $country);
  if (ACCOUNT_GENDER == 'true') $sql_data_array['entry_gender'] = $gender;
  if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_company'] = $company;
  if (ACCOUNT_SUBURB == 'true') $sql_data_array['entry_suburb'] = $suburb;
  if (ACCOUNT_STATE == 'true') {
    if ($zone_id > 0) {
	  $sql_data_array['entry_zone_id'] = $zone_id;
	  $sql_data_array['entry_state'] = '';
    } else {
	  $sql_data_array['entry_zone_id'] = '0';
	  $sql_data_array['entry_state'] = $state;
    }
  }
  tep_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array);
  $address_id = tep_db_insert_id();
  tep_db_query("update " . TABLE_CUSTOMERS . " set customers_default_address_id = '" . (int)$address_id . "' where customers_id = '" . (int)$customer_id . "'");
  tep_db_query("insert into " . TABLE_CUSTOMERS_INFO . " (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created) values ('" . (int)$customer_id . "', '0', now())");
  if (SESSION_RECREATE == 'True') {
    tep_session_recreate();
  }
  $customer_first_name = $firstname;
  $customer_default_address_id = $address_id;
  $customer_country_id = $country;
  $customer_zone_id = $zone_id;
  tep_session_register('customer_id');
  tep_session_register('customer_first_name');
  tep_session_register('customer_default_address_id');
  tep_session_register('customer_country_id');
  tep_session_register('customer_zone_id');
// restore cart contents
  $cart->restore_contents();
// build the message content
  $name = $firstname . ' ' . $lastname;
  if (ACCOUNT_GENDER == 'true') {
	 if ($gender == 'm') {
	   $email_text = sprintf(EMAIL_GREET_MR, $lastname);
	 } else {
	   $email_text = sprintf(EMAIL_GREET_MS, $lastname);
	 }
  } else {
    $email_text = sprintf(EMAIL_GREET_NONE, $firstname);
  }
  $email_text .= EMAIL_WELCOME . EMAIL_TEXT . EMAIL_CONTACT . EMAIL_WARNING;
  tep_mail($name, $email_address, EMAIL_SUBJECT, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
  tep_redirect(tep_href_link(FILENAME_CREATE_ACCOUNT_SUCCESS, '', 'SSL'));
   }
 }
 $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_CREATE_ACCOUNT, '', '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">
<?php require('includes/form_check.js.php'); ?>
</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('create_account', tep_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'), 'post', 'onSubmit="return check_form(create_account);"') . tep_draw_hidden_field('action', 'process'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
 <tr><td> </td></tr>
	  <tr>
	    <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
	  </tr>
    </table></td>
  </tr>
  <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
  <tr>
    <td class="smallText"><br><?php echo sprintf(TEXT_ORIGIN_LOGIN, tep_href_link(FILENAME_LOGIN, tep_get_all_get_params(), 'SSL')); ?></td>
  </tr>
  <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
<?php
 if ($messageStack->size('create_account') > 0) {
?>
  <tr>
    <td><?php echo $messageStack->output('create_account'); ?></td>
  </tr>
  <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
<?php
 }
?>
  <tr>
    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
	  <tr>

	   <td class="inputRequirement" ><?php echo FORM_REQUIRED_INFORMATION; ?></td>
	  </tr>
    </table></td>
  </tr>
  <tr>
    <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
	  <tr class="infoBoxContents">
	    <td><table border="0" cellspacing="2" cellpadding="2">
<?php
 if (ACCOUNT_GENDER == 'true') {
?>
		  <tr>
		    <td class="main"><?php echo ENTRY_GENDER; ?></td>
		    <td class="main"><?php echo tep_draw_radio_field('gender', 'm') . '  ' . MALE . '  ' . tep_draw_radio_field('gender', 'f') . '  ' . FEMALE . ' ' . (tep_not_null(ENTRY_GENDER_TEXT) ? '<span class="inputRequirement">' . ENTRY_GENDER_TEXT . '</span>': ''); ?></td>
		  </tr>
<?php
 }
?>
		  <tr>
		    <td class="main"><?php echo ENTRY_FIRST_NAME; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('firstname') . ' ' . (tep_not_null(ENTRY_FIRST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_FIRST_NAME_TEXT . '</span>': ''); ?></td>
		  </tr>
		  <tr>
		    <td class="main"><?php echo ENTRY_LAST_NAME; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('lastname') . ' ' . (tep_not_null(ENTRY_LAST_NAME_TEXT) ? '<span class="inputRequirement">' . ENTRY_LAST_NAME_TEXT . '</span>': ''); ?></td>
		  </tr>

<?php
 if (ACCOUNT_COMPANY == 'true') {
?>
		    <td class="main"><?php echo ENTRY_COMPANY; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('company') . ' ' . (tep_not_null(ENTRY_COMPANY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COMPANY_TEXT . '</span>': ''); ?></td>
		  </tr>
 <tr><td> </td></tr>


<?php
 }
?>
		  <tr>
		    <td class="main"><?php echo ENTRY_STREET_ADDRESS; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('street_address') . ' ' . (tep_not_null(ENTRY_STREET_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_STREET_ADDRESS_TEXT . '</span>': ''); ?></td>
		  </tr>
<?php
 if (ACCOUNT_SUBURB == 'true') {
?>
		  <tr>
		    <td class="main"><?php echo ENTRY_SUBURB; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('suburb') . ' ' . (tep_not_null(ENTRY_SUBURB_TEXT) ? '<span class="inputRequirement">' . ENTRY_SUBURB_TEXT . '</span>': ''); ?></td>
		  </tr>
<?php
 }
?>
		  <tr>
		    <td class="main"><?php echo ENTRY_POST_CODE; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('postcode') . ' ' . (tep_not_null(ENTRY_POST_CODE_TEXT) ? '<span class="inputRequirement">' . ENTRY_POST_CODE_TEXT . '</span>': ''); ?></td>
		  </tr>
		  <tr>
		    <td class="main"><?php echo ENTRY_CITY; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('city') . ' ' . (tep_not_null(ENTRY_CITY_TEXT) ? '<span class="inputRequirement">' . ENTRY_CITY_TEXT . '</span>': ''); ?></td>
		  </tr>
<?php
 if (ACCOUNT_STATE == 'true') {
?>
		  <tr>
		    <td class="main"><?php echo ENTRY_STATE; ?></td>
		    <td class="main">
<?php
   if ($process == true) {
  if ($entry_state_has_zones == true) {
    $zones_array = array();
    $zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "' order by zone_name");
    while ($zones_values = tep_db_fetch_array($zones_query)) {
	  $zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
    }
    echo tep_draw_pull_down_menu('state', $zones_array);
  } else {
    echo tep_draw_input_field('state');
  }
   } else {
  echo tep_draw_input_field('state');
   }
   if (tep_not_null(ENTRY_STATE_TEXT)) echo ' <span class="inputRequirement">' . ENTRY_STATE_TEXT;
?>
		    </td>
		  </tr>
<?php
 }
?>
		  <tr>
		    <td class="main"><?php echo ENTRY_COUNTRY; ?></td>
   <td class="main"><?php echo tep_get_country_list('country', STORE_COUNTRY) . ' ' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td>


		  </tr>

		  <tr>
		    <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('telephone') . ' ' . (tep_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? '<span class="inputRequirement">' . ENTRY_TELEPHONE_NUMBER_TEXT . '</span>': ''); ?></td>
		  </tr>
		  <tr>
		    <td> </td>
		  </tr>

		  <tr>
		    <td class="main"><?php echo ENTRY_EMAIL_ADDRESS; ?></td>
		    <td class="main"><?php echo tep_draw_input_field('email_address') . ' ' . (tep_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? '<span class="inputRequirement">' . ENTRY_EMAIL_ADDRESS_TEXT . '</span>': ''); ?></td>
		  </tr>
 <tr>
		    <td class="main"><?php echo ENTRY_PASSWORD; ?></td>
		    <td class="main"><?php echo tep_draw_password_field('password') . ' ' . (tep_not_null(ENTRY_PASSWORD_TEXT) ? '<span class="inputRequirement">' . ENTRY_PASSWORD_TEXT . '</span>': ''); ?></td>
		  </tr>
		  <tr>
		    <td class="main"><?php echo ENTRY_PASSWORD_CONFIRMATION; ?></td>
		    <td class="main"><?php echo tep_draw_password_field('confirmation') . ' ' . (tep_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? '<span class="inputRequirement">' . ENTRY_PASSWORD_CONFIRMATION_TEXT . '</span>': ''); ?></td>
		  </tr>
 <tr><td> </td></tr>
			   <tr>
		    <td class="main"><?php echo ENTRY_NEWSLETTER; ?></td>
		    <td class="main"><?php echo tep_draw_checkbox_field('newsletter', '1') . ' ' . (tep_not_null(ENTRY_NEWSLETTER_TEXT) ? '<span class="inputRequirement">' . ENTRY_NEWSLETTER_TEXT . '</span>': ''); ?></td>
		  </tr>
 <tr><td> </td></tr>
	    </table></td>
	  </tr>
    </table></td>
  </tr>
  <tr>
    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
  <tr>
    <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
	  <tr class="infoBoxContents">
	    <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
		  <tr>
		    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
		    <td><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>
		    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
		  </tr>
	    </table></td>
	  </tr>
    </table></td>
  </tr>
   </table></form></td>
<!-- body_text_eof //-->
   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- right_navigation //-->
<?php include(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
   </table></td>
 </tr>
</table>
<!-- body_eof //-->
<!-- footer //-->
<?php include(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

My English is not so very good, sorry. I'm from Holland.

Link to comment
Share on other sites

Mmmm, i have noticed something.

When i'm using the pc for myself, i'm using IE. A minute agow i used safari to visit a website and i noticed that that website also had the white spaces in the dropdownbox. I visited an other website and there it also happend.

So...i thnk....that the problem isn't in my webshop, but in safari, or my pc.

I'm i right?

My English is not so very good, sorry. I'm from Holland.

Link to comment
Share on other sites

Lets say, ebay.com

All categories -> antique -> silver

 

I see a searchbox and a dropdownbox with the word silver in it. The square next to the word silver is gone, its a white space.

Under the button search there is a checkbox for include discription. Instead i see a grey square with a little arrow in it.

On the bottom of the page....the question, where these search results helpful..yes or no. The radiobottons show as black checkboxes.

My English is not so very good, sorry. I'm from Holland.

Link to comment
Share on other sites

Um, I didn't ask for the PHP code to produce the page. I want the HTML code that your browser is trying to display. You go into View > Page source (or whatever the equivalent is on your browser) and cut and paste the HTML shown into your post. And please put [ code ] and [ /code ] tags around it (remove the spaces) so it's not so long (has scroll bars). Sorry if I was unclear the first time around.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...