The Lodge is members-only design/dev videos and Office Hours.

Next Office Hours Session: "Implementing an SVG Icon System" Nov 30 - 6:00 PM Eastern

IE-Stylesheet Conditional Comment in PHP document

  • # September 27, 2009 at 1:56 pm

    I am a newbie web designer so please excuse me if this is a silly question.

    I am working on a site which has a standard css style sheet as well as another one for IE. The IE comes into play through a conditional statement in the header of each page:

    <link href="styles/xyz.css" rel="stylesheet" type="text/css" />
    <!–[if IE 7]>
    <link href="styles/ie7_xyz.css" rel="stylesheet" type="text/css" />

    However, my Contact Us page contains an email form which interacts with a PHP document to send the email and show a ‘Thank for your message’ page. However, the PHP document only seems to recognise the standard stylesheet and ignores the <!–[if…..]> comments, so when viewed in IE the page is all over the place.

    As I don’t know anything about PHP (I got the code for the email form and response file from my tutor but the course is finished now so I can’t ask), I don’t know what I need to do to get the condisional comment recognised.

    All help is hugely appreciated!

    # September 28, 2009 at 1:16 pm

    You shouldn’t use PHP to add the links to your style sheets. Your <head> should just have this.


    Page Title

    Perhaps I don’t fully understand your question, but this isn’t a problem with PHP.

    # September 28, 2009 at 2:48 pm

    Thanks for your reply :) I actually have it just like you suggest in my html pages. However, when a user clicks on the ‘Send’ button on the email form within the Contact Us page, it activates a PHP page that will generate the email with all the responses from the form and sends it to me and then displays a page to the user telling them the message was sent successfully. In the html pages, my conditional comment work perfectly and adds in the IE style sheet where required. However, the same does not work in the php file, so the page that is returned when successful is all over the place if viewed in an IE browser. So my question is how do I achieve the same thing here, i.e. ensure that a user with an IE browser will also get the right styles applied in the $theResults = <<<EOD part of the php file?

    Code in contact.html


    Contact Us

    If you have any questions, contact XYZ by completing the form below.

    Your Email Address


    Phone Number

    Your Enquiry

    Code in contactformprocess.php

    < ?php /*Subject and Email Variables */ $emailSubject = 'XVY Enquiry'; $webMaster = ''; /* Gathering Data Variables */ $emailField = $_POST['email']; $nameField = $_POST['name']; $phoneField = $_POST['phone']; $commentsField = $_POST['comments']; $body = <<
    Email: $emailField
    Name: $nameField
    Phone Number: $phoneField

    Comments: $commentsField


    $headers = “From: $emailrn”;
    $headers .= “Content-type: text/htmlrn”;
    $success = mail($webMaster, $emailSubject, $body, $headers);

    /* Results rendered as HTML */

    $theResults = < <



    echo “$theResults”;


    # October 6, 2009 at 8:56 pm

    You don’t need to put your response in a variable. Use an if to make sure the email sent correctly and save a true or false in a variable. So later in your page you can use php to find out if the email sent and give a message to the user.

    < ?php // Handle email variables here if( mail($webMaster, $emailSubject, $body, $headers) ) $message = 'sent'; else $message = 'error'; ?>
    < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

    Page title here

    < ?php if( $message == 'sent' ) : ?>

    Your email has been sent!

    < ?php elseif( $message == 'error' ) : ?>

    There was an error sending the email :(

    < ?php endif; ?>

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.

There's a whole bunch of content on CSS-Tricks.

Search for Stuff   •   Browse the Archives

Get the Newsletter ... or get the RSS feed