Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread Ashley Sheridan
On Sun, 2010-02-07 at 23:45 -0500, Paul M Foster wrote:

 On Sun, Feb 07, 2010 at 11:20:18PM -0500, David Mehler wrote:
 
  Hello,
  I'm trying to set up a web site. This site has multiple stylesheets,
  one default stylesheet that should be used if the other is not chosen.
  The second is a high contrast stylesheet and can be selected by user's
  who need it. I'm also thinking of adding two more for smaller and
  larger font selections. My issue is I want the high contrast sheet to
  be used on all subsequent pages and on subsequent visits to the site
  by user's who have selected it. I thought of using php with this and
  cookies. I'm using php5 and would appreciate any suggestions, googling
  has shown some examples, but none are working.
  Thanks.
  Dave.
 
 There are two main PHP-centric solutions to this. First is cookies (as
 you described) and the second is using the $_SESSION global array.
 
 Doing this is relatively straightforward, so if it's not working for
 you, I see two possibilities: 1) You're not actually doing it right. 2)
 The users isn't pressing the Reload button after selecting the
 stylesheet. (My experience has been that simply redisplaying a page will
 not clear the cached CSS styles for that page. You must hit the Reload
 button. In fact, in some cases, like offices with caching webservers or
 proxies, an admin will have to be called in to clear the cache on the
 proxy/server as well.)
 
 You should be able to do something like this (I'm using SESSION
 variables because cookies are more complicated):
 
 ?php
 // Top of page
 session_start();
 
 if ($_SESSION['stylesheet'] == 'enlarged_print')
   $css = 'enlarged_print.css';
 else
   ...
 
 ?
 html
 ...
 link href=?php echo $css; ? rel=stylesheet type=text/css/
 ...
 /html
 
 Paul
 
 -- 
 Paul M. Foster
 


I'm doing this on my own site, and it works like this:

The stylesheets are output in a tags, so that a user can click on one
to select a style, refreshing the page.

In the header include, I check first to see if a new style was sent in
the $_GET array, then the $_SESSION array, then finally to see if there
is a stylesheet entry in the $_COOKIES array. If none is found, a
default is assumed, and I write this value to both the $_SESSION and
$_COOKIES array. By checking them in the order above, it lets a user
pick a new one from a link, and will remember their choice throughout
their current session and any subsequent visits to the site.

As all the stylesheets are included in the pages with the correct link
tags anyway, anyone with a compatible browser (Firefox, Opera, etc) can
select the style from a drop menu directly in the browser, although it's
better to use the links, as the browser doesn't remember the choice from
page to page.

Thanks,
Ash
http://www.ashleysheridan.co.uk




Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread Stephan Ebelt
On Sun, Feb 07, 2010 at 11:20:18PM -0500, David Mehler wrote:
 Hello,
 I'm trying to set up a web site. This site has multiple stylesheets,
 one default stylesheet that should be used if the other is not chosen.
 The second is a high contrast stylesheet and can be selected by user's
 who need it. I'm also thinking of adding two more for smaller and
 larger font selections. My issue is I want the high contrast sheet to
 be used on all subsequent pages and on subsequent visits to the site
 by user's who have selected it. I thought of using php with this and
 cookies. I'm using php5 and would appreciate any suggestions, googling
 has shown some examples, but none are working.


in CSS there is also the concept of 'alternate stylesheets' build in. A page can
basically specify as many stylesheets as it wants where one is default and all 
others are 'alternate'. The browser will then offer menu entries for the user 
to choose from. Ie in firefox you can choose the style from the menu at: View 
- Page Style - ...

Here's how it works in detail: 
http://www.w3.org/Style/Examples/007/alternatives (note that this site also has 
alternate styles available)

PHP could be used to define the default style sheet on a per user/application 
setting basis...

stephan



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread Ashley Sheridan
On Mon, 2010-02-08 at 11:18 +0100, Stephan Ebelt wrote:

 On Sun, Feb 07, 2010 at 11:20:18PM -0500, David Mehler wrote:
  Hello,
  I'm trying to set up a web site. This site has multiple stylesheets,
  one default stylesheet that should be used if the other is not chosen.
  The second is a high contrast stylesheet and can be selected by user's
  who need it. I'm also thinking of adding two more for smaller and
  larger font selections. My issue is I want the high contrast sheet to
  be used on all subsequent pages and on subsequent visits to the site
  by user's who have selected it. I thought of using php with this and
  cookies. I'm using php5 and would appreciate any suggestions, googling
  has shown some examples, but none are working.
 
 
 in CSS there is also the concept of 'alternate stylesheets' build in. A page 
 can
 basically specify as many stylesheets as it wants where one is default and 
 all others are 'alternate'. The browser will then offer menu entries for the 
 user to choose from. Ie in firefox you can choose the style from the menu at: 
 View - Page Style - ...
 
 Here's how it works in detail: 
 http://www.w3.org/Style/Examples/007/alternatives (note that this site also 
 has alternate styles available)
 
 PHP could be used to define the default style sheet on a per user/application 
 setting basis...
 
 stephan
 
 
 


The only problem relying only on this method is that not all browsers
are compatible with it, and of those that are, none remember the choice
a user makes from page to page, so they'd have to reselect it upon each
page visit

Thanks,
Ash
http://www.ashleysheridan.co.uk




Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread Michael A. Peters

TG wrote:
You could use PHP and cookies (session variables are only useful until the 
browser is closed, so it's not as persistant as it sounds like you may 
want).


Persistent sessions are possible.

The way I'm doing it in the CMS I am working on is via GET which saves 
selection in session.


I can't use a selector because I tailor the web page to the style sheet 
and some of them require different page design (IE search bar in aside 
opposed to header)


I don't use persistent sessions, but session is kept in cookie and you 
can configure it to be a persistent cookie if you want.


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread tedd

At 11:20 PM -0500 2/7/10, David Mehler wrote:

Hello,
I'm trying to set up a web site. This site has multiple stylesheets,
one default stylesheet that should be used if the other is not chosen.
The second is a high contrast stylesheet and can be selected by user's
who need it. I'm also thinking of adding two more for smaller and
larger font selections. My issue is I want the high contrast sheet to
be used on all subsequent pages and on subsequent visits to the site
by user's who have selected it. I thought of using php with this and
cookies. I'm using php5 and would appreciate any suggestions, googling
has shown some examples, but none are working.
Thanks.
Dave.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Try this:

http://sperling.com/examples/styleswitch1/

As far as zooming text size, most browsers are capable of this. Just 
make your site zoom-cooperative, such as:


http://sperling.com/examples/zoom/

As far as making things high contrast, why not choose colors that are 
right the first time? Try this:


http://webbytedd.com/c/access-color/

As far as making all of this persistent, look to using Cookies.

Cheers,

tedd
--
---
http://sperling.com  http://ancientstones.com  http://earthstones.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread Ashley Sheridan
On Mon, 2010-02-08 at 10:00 -0500, tedd wrote:

 At 11:20 PM -0500 2/7/10, David Mehler wrote:
 Hello,
 I'm trying to set up a web site. This site has multiple stylesheets,
 one default stylesheet that should be used if the other is not chosen.
 The second is a high contrast stylesheet and can be selected by user's
 who need it. I'm also thinking of adding two more for smaller and
 larger font selections. My issue is I want the high contrast sheet to
 be used on all subsequent pages and on subsequent visits to the site
 by user's who have selected it. I thought of using php with this and
 cookies. I'm using php5 and would appreciate any suggestions, googling
 has shown some examples, but none are working.
 Thanks.
 Dave.
 
 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php
 
 
 Try this:
 
 http://sperling.com/examples/styleswitch1/
 
 As far as zooming text size, most browsers are capable of this. Just 
 make your site zoom-cooperative, such as:
 
 http://sperling.com/examples/zoom/
 
 As far as making things high contrast, why not choose colors that are 
 right the first time? Try this:
 
 http://webbytedd.com/c/access-color/
 
 As far as making all of this persistent, look to using Cookies.
 
 Cheers,
 
 tedd
 -- 
 ---
 http://sperling.com  http://ancientstones.com  http://earthstones.com
 


There is a good reason for having different stylesheets that use
differing colour systems. For example, some people with learning
difficulties benefit from yellow text on blue backgrounds, as apparently
those colours together are better at capturing a users attention for
longer durations. This is often coupled with other layout changes such
as narrower width text blocks to aid readability.

Thanks,
Ash
http://www.ashleysheridan.co.uk




Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread Michael A. Peters

Ashley Sheridan wrote:




There is a good reason for having different stylesheets that use
differing colour systems. For example, some people with learning
difficulties benefit from yellow text on blue backgrounds, as apparently
those colours together are better at capturing a users attention for
longer durations. This is often coupled with other layout changes such
as narrower width text blocks to aid readability.


It's also not a bad idea to have a layout designed for small computer 
screens, 1024x is what most of my style sheets are designed for but one 
is designed for 800x.


There are still some people with small displays, and horizontal 
scrolling really sucks.


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread Stephan Ebelt
On Mon, Feb 08, 2010 at 10:22:07AM +, Ashley Sheridan wrote:
[...]
  in CSS there is also the concept of 'alternate stylesheets' build in. A
  page can basically specify as many stylesheets as it wants where one is
  default and all others are 'alternate'. The browser will then offer menu
  entries for the user to choose from. Ie in firefox you can choose the style
  from the menu at: View - Page Style - ...
  
  Here's how it works in detail:
  http://www.w3.org/Style/Examples/007/alternatives (note that this site also
  has alternate styles available)
  
  PHP could be used to define the default style sheet on a per
  user/application setting basis...
  
  stephan
  
  
  
 
 
 The only problem relying only on this method is that not all browsers
 are compatible with it, and of those that are, none remember the choice
 a user makes from page to page, so they'd have to reselect it upon each
 page visit

yes, it can't be relied on it.

I made the primary method for configuring the theme an user setting in the
application. This setting is very easy to implement as it just defines the
theme that is shown first and without 'alternate' attribute in each page header
(unaware browsers will take this too as its the standard syntax). All other
themes are then added in a row with the 'alternate' attribute set. So that all
themes available in the program are always advertized to the browser.

The goody is that users can quickly change the theme if they feel a need to do
so right in the heat of the moment. It wont permanently modify their setting.
Its perfect to just try themes at any place in the application or to do
something specific with a different theme... the page doesn't reload (in
firefox), so one can even change the theme in the middle of filling a form...
very flexible.

As far as I've seen unaware browsers just ignore the 'alternate' lines, so
there's no harm.

stephan


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php selecting multiple stylesheets

2010-02-08 Thread David Mehler
Hello Everyone,
Thank you for the various positions and suggestions.
I'm going for either cookies or sessions, your examples have given me
much to check. For this situation I should probably have mentioned I
need to keep this as simple as possible, so features like a user login
system and cms i'd prefer to avoid for these circumstances.
I am going to implement browser detection as my user's will use both
firefox and IE probably ie6 through 8.
For firefox you can use view, page style to switch stylesheets, but in
ie if there's no drop down box or links on the page for switching
styles it can't do it, is that correct?
Thank you all, i'm going to look at the many links sent and keep at
this until i get it.
Dave.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] php selecting multiple stylesheets

2010-02-07 Thread David Mehler
Hello,
I'm trying to set up a web site. This site has multiple stylesheets,
one default stylesheet that should be used if the other is not chosen.
The second is a high contrast stylesheet and can be selected by user's
who need it. I'm also thinking of adding two more for smaller and
larger font selections. My issue is I want the high contrast sheet to
be used on all subsequent pages and on subsequent visits to the site
by user's who have selected it. I thought of using php with this and
cookies. I'm using php5 and would appreciate any suggestions, googling
has shown some examples, but none are working.
Thanks.
Dave.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php selecting multiple stylesheets

2010-02-07 Thread Paul M Foster
On Sun, Feb 07, 2010 at 11:20:18PM -0500, David Mehler wrote:

 Hello,
 I'm trying to set up a web site. This site has multiple stylesheets,
 one default stylesheet that should be used if the other is not chosen.
 The second is a high contrast stylesheet and can be selected by user's
 who need it. I'm also thinking of adding two more for smaller and
 larger font selections. My issue is I want the high contrast sheet to
 be used on all subsequent pages and on subsequent visits to the site
 by user's who have selected it. I thought of using php with this and
 cookies. I'm using php5 and would appreciate any suggestions, googling
 has shown some examples, but none are working.
 Thanks.
 Dave.

There are two main PHP-centric solutions to this. First is cookies (as
you described) and the second is using the $_SESSION global array.

Doing this is relatively straightforward, so if it's not working for
you, I see two possibilities: 1) You're not actually doing it right. 2)
The users isn't pressing the Reload button after selecting the
stylesheet. (My experience has been that simply redisplaying a page will
not clear the cached CSS styles for that page. You must hit the Reload
button. In fact, in some cases, like offices with caching webservers or
proxies, an admin will have to be called in to clear the cache on the
proxy/server as well.)

You should be able to do something like this (I'm using SESSION
variables because cookies are more complicated):

?php
// Top of page
session_start();

if ($_SESSION['stylesheet'] == 'enlarged_print')
$css = 'enlarged_print.css';
else
...

?
html
...
link href=?php echo $css; ? rel=stylesheet type=text/css/
...
/html

Paul

-- 
Paul M. Foster

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] php selecting multiple stylesheets

2010-02-07 Thread TG
You could use PHP and cookies (session variables are only useful until the 
browser is closed, so it's not as persistant as it sounds like you may 
want).

You could also have a system where users log in and they can save their 
preferences on their user account settings.

What you may also look into is using Javascript (which can also set and 
retrieve cookies) and with a good Javascript library like jQuery, it 
should be relatively easy to dynamically switch style sheets.

Here's an example of a jQuery based stylesheet switcher:
http://www.kelvinluck.com/assets/jquery/styleswitch/toggle.html

Click the styles1, styles2 and styles3 links.


Also, there are JS scripts for adjusting font size, so you may not need a 
completely different stylesheet.  But it would mean having well designed 
HTML that will scale nicely with the font change.   Or you could just 
have a different stylesheet, as you mentioned, so you know it will look 
exactly how you want.  You can see an example of a font size JS here:
http://www.joomla-beez.com/

Keep clicking the links in the upper right and you can continue to increase 
or decrease the size quite a bit, not just one step.


I know this is a PHP list but I think a client side script may work better 
in this case.

-TG

- Original Message -
From: David Mehler dave.meh...@gmail.com
To: php-general@lists.php.net
Date: Sun, 7 Feb 2010 23:20:18 -0500
Subject: [PHP] php selecting multiple stylesheets

 Hello,
 I'm trying to set up a web site. This site has multiple stylesheets,
 one default stylesheet that should be used if the other is not chosen.
 The second is a high contrast stylesheet and can be selected by user's
 who need it. I'm also thinking of adding two more for smaller and
 larger font selections. My issue is I want the high contrast sheet to
 be used on all subsequent pages and on subsequent visits to the site
 by user's who have selected it. I thought of using php with this and
 cookies. I'm using php5 and would appreciate any suggestions, googling
 has shown some examples, but none are working.
 Thanks.
 Dave.
 
 -- 
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php
 
 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php