?
Solved

combining a text only and text size function with php

Posted on 2006-11-27
3
Medium Priority
?
238 Views
Last Modified: 2011-09-20

I have two things working and want to combine them


firstly a text only on/off switcher which I am going to use to import the stylesheets


$text_only = isset($_GET['text_only']) ? $_GET['text_only'] : 1;

 if ($text_only==1) {
 ?>
<a href="<?php echo $_SERVER['PHP_SELF'];?>?text_only=0">off</a>
// import css here
<?
}
else {
?>
<a href="<?php echo $_SERVER['PHP_SELF'];?>?text_only=1">on</a></span>
// import css here
<?
}
?>


secondly the text size links


<a href="<? $_SERVER['PHP_SELF'];  ?>?text_size=medium" class="size1" id="one">A</a>
<a href="<? $_SERVER['PHP_SELF']; ?>?text_size=larger" class="size2" id="two">A</a>
<a href="<? $_SERVER['PHP_SELF']; ?>?text_size=largest" class="size3" id="three">A</a>


<?
$text_size = isset( $_REQUEST['text_size'] ) ? $_REQUEST['text_size'] : '';

switch ($text_size) {
case "medium":
?>
<link href="css/medium.css" rel="stylesheet" type="text/css" />
<?
break;
case "larger":
?>
<link href="css/larger.css" rel="stylesheet" type="text/css" />
<?
break;
case "largest":
?>
<link href="css/largest.css" rel="stylesheet" type="text/css" />
<?
break;
}
?>

these work great independently but when I use one the other switches off. any ideas how I can combine them?


Ross
0
Comment
Question by:roscoeh23
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 8

Accepted Solution

by:
Autogard earned 2000 total points
ID: 18023308
The key is to pass both values in the URL.  To do that you just append your parameters with a "&":

http://www.mydomain.com/mypage.php?text_only=0&text_size=largest

To get this to happen, just do something like this:

<a href="<? $_SERVER['PHP_SELF'];  ?>?text_size=medium&text_only=<?php echo $_GET['text_only']; ?>" class="size1" id="one">A</a>

This is assuming that they first went to the page and selected text-only, and then when the page reloaded they can then select which size of text they want.  You will need to incorporate this code with some condition checking to see if $_GET['text_only'] is set, etc...
0
 

Author Comment

by:roscoeh23
ID: 18026519
it needs to remember what values are set and then keep them from page to page. I suspect a cookie or session is required and also a way of combining the values.


my css for the divs are simple they just have stuff like

div {

font-size:120%

}



for the text only I am just shutting off all css except the font-size ones.

Ross
0
 
LVL 8

Assisted Solution

by:Autogard
Autogard earned 2000 total points
ID: 18028522
OK,

One way to do it is through sessions, yes.  Another way is just to keep passing it from page to page.  Sessions is probably the better idea, though.

If you want to use sessions you can do something like:

# Start your session
session_start();

# Check if a new value is passed in
$_SESSION['text_only'] = isset($_GET['text_only']) ? $_GET['text_only'] : 1;

# Now do your css stuff based on what the $_SESSION['text_only'] value is set at
...

Then you do the same kind of thing on the text_size.  Basically, as long as the person has their browser open the $_SESSION values will hold, until you change them of course.

Take a look at http://us2.php.net/manual/en/ref.session.php for more info on sessions.

As for cookies, you could probably use them, but from what I understand they are more for keeping their choices from session to session.
0

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
The SignAloud Glove is capable of translating American Sign Language signs into text and audio.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Simple Linear Regression
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question