SitePoint Sponsor

User Tag List

Results 1 to 14 of 14
  1. #1
    SitePoint Enthusiast
    Join Date
    Apr 2008
    Location
    South Africa
    Posts
    31
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Warning: Cannot modify header information - headers already sent

    I see somebody already asked this question but it was way back in 2003.

    I am using CS3 to write a page which can enter member info into the database.
    When I test it, it do enter the data into the database successfully but gives me the following error
    Warning: Cannot modify header information - headers already sent by (output started at C:\webserver\Apache2\htdocs\register.php:1) in C:\webserver\Apache2\htdocs\register.php on line 68
    The code is: and line 68 start with header(sprintf

    Code:
    <?php virtual('/Connections/hilux.php'); ?>
    <?php if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
    
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
    
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
    
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
      $insertSQL = sprintf("INSERT INTO member_info (name, surname, address1, suburb, town, zip, province, country, email, emailactive, contact, contactactive, job, username, password, password2, make, model, clientmodel, mods, lastpayment, active) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['name'], "text"),
                           GetSQLValueString($_POST['surname'], "text"),
                           GetSQLValueString($_POST['address1'], "text"),
                           GetSQLValueString($_POST['suburb'], "text"),
                           GetSQLValueString($_POST['town'], "text"),
                           GetSQLValueString($_POST['zip'], "int"),
                           GetSQLValueString($_POST['province'], "text"),
                           GetSQLValueString($_POST['country'], "text"),
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['emailactive'], "int"),
                           GetSQLValueString($_POST['contact'], "text"),
                           GetSQLValueString($_POST['contactactive'], "int"),
                           GetSQLValueString($_POST['job'], "text"),
                           GetSQLValueString($_POST['username'], "text"),
                           GetSQLValueString($_POST['password'], "text"),
                           GetSQLValueString($_POST['password2'], "text"),
                           GetSQLValueString($_POST['make'], "text"),
                           GetSQLValueString($_POST['model'], "text"),
                           GetSQLValueString($_POST['clientmodel'], "text"),
                           GetSQLValueString($_POST['mods'], "text"),
                           GetSQLValueString($_POST['lastpayment'], "date"),
                           GetSQLValueString($_POST['active'], "int"));
    
      mysql_select_db($database_hilux, $hilux);
      $Result1 = mysql_query($insertSQL, $hilux) or die(mysql_error());
      $insertGoTo = "/thanx-register.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $insertGoTo));
    }
     
    ?>
    This is the standard stuff CS3 spits out, so why is it wrong and how do I fix it?

  2. #2
    Programming Since 1978 silver trophybronze trophy felgall's Avatar
    Join Date
    Sep 2005
    Location
    Sydney, NSW, Australia
    Posts
    16,788
    Mentioned
    25 Post(s)
    Tagged
    1 Thread(s)
    Somewhere above the line trying to write the HTTP header is some output that is a part of the page content. Since the headers must come before the content you need to move the writing of the header in front of the writing of the content or move the writing of the content to after the header is written.

    If you can't see where the content is being written from it may be a single space before the first <? tag.
    Stephen J Chapman

    javascriptexample.net, Book Reviews, follow me on Twitter
    HTML Help, CSS Help, JavaScript Help, PHP/mySQL Help, blog
    <input name="html5" type="text" required pattern="^$">

  3. #3
    SitePoint Evangelist
    Join Date
    Jun 2006
    Location
    Wigan, Lancashire. UK
    Posts
    523
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The error actually tells you where the output was generated:
    Code:
    output started at C:\webserver\Apache2\htdocs\register.php:1
    So what's line 1 of register.php?
    ---
    Development Projects:
    PHPExcel
    PHPPowerPoint

  4. #4
    From space with love silver trophy
    SpacePhoenix's Avatar
    Join Date
    May 2007
    Location
    Poole, UK
    Posts
    5,000
    Mentioned
    101 Post(s)
    Tagged
    0 Thread(s)
    Just looking at the first two lines of that:

    PHP Code:
    <?php virtual('/Connections/hilux.php'); ?>
    <?php 
    if (!function_exists("GetSQLValueString")) {
    At the end of line one you jump out of php then the next line you jump back into php. Could jumping out of php be deemed by php as starting the sending of content?

    Try removing the ?> from the first line and the <?php from the second.
    Community Team Advisor
    Forum Guidelines: Posting FAQ Signatures FAQ Self Promotion FAQ
    Help the Mods: What's Fluff? Report Fluff/Spam to a Moderator

  5. #5
    Web Professional
    Join Date
    Oct 2008
    Location
    London
    Posts
    862
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    OK, I need to save this reply in a text file on my desktop so I can just copy and paste it when a question like this comes up again

    You are saving the file as UTF-8 with BOM. Make sure you change your editorís preferences to save it without BOM.

  6. #6
    @php.net Salathe's Avatar
    Join Date
    Dec 2004
    Location
    Edinburgh
    Posts
    1,397
    Mentioned
    61 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by SpacePhoenix View Post
    At the end of line one you jump out of php then the next line you jump back into php. Could jumping out of php be deemed by php as starting the sending of content?
    So long as there is only a newline, that will not output anything. For example:
    PHP Code:
    <?php error_reporting(E_ALL); ?>
    <?php ?>
    <?php 
    header
    ('Content-Type: text/plain');
    echo 
    'Some text.';
    ?>
    Also, note that the call to virtual will close and flush the buffers, and send out headers.
    Salathe
    Software Developer and PHP Manual Author.

  7. #7
    SitePoint Enthusiast
    Join Date
    Apr 2008
    Location
    South Africa
    Posts
    31
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanx for all the replies but I have no idea what you guys are talking about. I have a limited knowledge of php and do not understand why the position of the header will be a problem.

    What I also find strange is that this is the code that CS3 produced when I tried to create a page that will inser the client's details.

    There are two things wrong, 1. it gives the header message as given above and 2. it does not redirect to the next pages as specified.

    I paste the whole page's script below perhaps it will make more sense then.
    Code:
    <?php virtual('/Connections/hilux.php');
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
    
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
    
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    }
    
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
      $insertSQL = sprintf("INSERT INTO member_info (name, surname, address1, suburb, town, zip, province, country, email, emailactive, contact, contactactive, job, username, password, password2, make, model, clientmodel, mods, lastpayment, active) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                           GetSQLValueString($_POST['name'], "text"),
                           GetSQLValueString($_POST['surname'], "text"),
                           GetSQLValueString($_POST['address1'], "text"),
                           GetSQLValueString($_POST['suburb'], "text"),
                           GetSQLValueString($_POST['town'], "text"),
                           GetSQLValueString($_POST['zip'], "int"),
                           GetSQLValueString($_POST['province'], "text"),
                           GetSQLValueString($_POST['country'], "text"),
                           GetSQLValueString($_POST['email'], "text"),
                           GetSQLValueString($_POST['emailactive'], "int"),
                           GetSQLValueString($_POST['contact'], "text"),
                           GetSQLValueString($_POST['contactactive'], "int"),
                           GetSQLValueString($_POST['job'], "text"),
                           GetSQLValueString($_POST['username'], "text"),
                           GetSQLValueString($_POST['password'], "text"),
                           GetSQLValueString($_POST['password2'], "text"),
                           GetSQLValueString($_POST['make'], "text"),
                           GetSQLValueString($_POST['model'], "text"),
                           GetSQLValueString($_POST['clientmodel'], "text"),
                           GetSQLValueString($_POST['mods'], "text"),
                           GetSQLValueString($_POST['lastpayment'], "date"),
                           GetSQLValueString($_POST['active'], "int"));
    
      mysql_select_db($database_hilux, $hilux);
      $Result1 = mysql_query($insertSQL, $hilux) or die(mysql_error());
      $insertGoTo = "/thanx-register.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $insertGoTo));
    }
     
    ?>
    <html>
    <head>
    <title>Hilux4x4.co.za Club Registration</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <META name="Description" content="Join the Hilux4x4 Club and meet other Hilux owners">
    <META name="Keywords" content="toyota hilux, club">
    <META name="robots" content="ALL">
    <META name="copyright" content="">
    <META name="rating" content="General">
    <META name="revisit-after" content="2">
    <META name="language" content="EN">
    <META name="distribution" content="Global">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="invest.css" rel="stylesheet" type="text/css">
    </head>
    
    <body bgcolor="ECE6D7" text="#000000" link="#000099" vlink="#000099" alink="#000099">
    <table width="790" border="0" align="center" cellpadding="6" cellspacing="0" bgcolor="F7F5EE">
      <tr> 
        <td align="left" valign="top"><?php require_once('header.php'); ?> </td>
      </tr>
      <tr> 
        <td align="left" valign="top"> <table width="600" border="0" align="center" cellpadding="5" cellspacing="0">
            <tr> 
              <td align="left" valign="top"><h1><font size="3" face="Arial, Helvetica, sans-serif"><strong>Register 
                  for Toyota Hilux 4x4.co.za Club</strong></font></h1></td>
            </tr>
            <tr> 
              <td align="left" valign="top"> <div align="center"> 
                  <p align="left"><font size="2" face="Arial, Helvetica, sans-serif">Any 
                    Hilux owner or Hilux Wannabe owners are welcome to join the club. 
                    There is an annual membership fee of R100.00 per year. Please 
                    note that membership to the Hilux4x4.co.za FORUM remains free.</font></p>
                  <p align="left"><font size="2" face="Arial, Helvetica, sans-serif">To 
                    register please complete the form below. After you completed the 
                    form you will be presented with the club's banking details where 
                    you can then deposit the yearly membership fee.</font></p>
    <form name="form1" method="POST" action="<?php echo $editFormAction; ?>">
                    <table width="600" border="0" cellspacing="0" cellpadding="3">
                      <tr> 
                        <td colspan="2" bgcolor="ECE6D7"><strong><font size="2" face="Arial, Helvetica, sans-serif">Information 
                          about you</font></strong></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">First 
                            name</font></div></td>
                        <td width="300"><input name="name" type="text" id="name"></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Surname</font></div></td>
                        <td width="300"><input name="surname" type="text" id="surname"></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Postal 
                            address</font></div></td>
                        <td width="300"><input name="address1" type="text" id="address1"></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Suburb</font></div></td>
                        <td><input name="suburb" type="text" id="suburb"></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Town/City</font></div></td>
                        <td width="300"><input name="town" type="text" id="town"></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Postal 
                            code</font></div></td>
                        <td width="300"><input name="zip" type="text" id="zip"></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Province</font></div></td>
                        <td><select name="province" id="province">
                            <option value="0" selected>::Select One::</option>
                            <option value="Eastern Cape">Eastern Cape</option>
                            <option value="Gauteng">Gauteng</option>
                            <option value="Kwazulu Natal">Kwazulu Natal</option>
                            <option value="Limpopo">Limpopo</option>
                            <option value="Mpumalanga">Mpumalanga</option>
                            <option value="North West">North West</option>
                            <option value="Northern Cape">Northern Cape</option>
                            <option value="Western Cape">Western Cape</option>
                            <option value="West Coast">West Coast</option>
                            <option value="Others">Other country</option>
                          </select></td>
                      </tr>
                      <tr>
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Country</font></div></td>
                        <td><select name="country" id="country">
                            <option value="South Africa" selected>South Africa</option>
                            <option value="Namibia">Namibia</option>
                            <option value="Botswana">Botswana</option>
                            <option value="Australia">Australia</option>
                            <option value="New Zealand">New Zealand</option>
                            <option value="UK">UK</option>
                            <option value="Others">Others</option>
                          </select></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">email 
                            address</font></div></td>
                        <td><input name="email" type="text" id="email"></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">email 
                            visible to club members?</font></div></td>
                        <td><select name="emailactive" id="emailactive">
                            <option value="1" selected>Yes</option>
                            <option value="2">No</option>
                          </select></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Contact 
                            number</font></div></td>
                        <td><input name="contact" type="text" id="contact"></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">contact 
                            number visible to other club members? </font></div></td>
                        <td><select name="contactactive" id="contactactive">
                            <option value="1" selected>Yes</option>
                            <option value="0">No</option>
                          </select></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Job 
                            description - please be serious, it would be interesting 
                            to see who does what.</font></div></td>
                        <td><input name="job" type="text" id="job"></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Username 
                            (preferably same as forum username) </font></div></td>
                        <td><input name="username" type="text" id="username"></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">password</font></div></td>
                        <td><input name="password" type="text" id="password"></td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">repeat 
                            password</font></div></td>
                        <td><input name="password2" type="text" id="password2"></td>
                      </tr>
                      <tr> 
                        <td colspan="2" bgcolor="ECE6D7"><font size="2" face="Arial, Helvetica, sans-serif"><strong>Information 
                          about your vehicle</strong></font></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Do 
                            you drive a Toyota?</font></div></td>
                        <td width="300"><select name="make" id="make">
                            <option value="Toyota" selected>Of course</option>
                            <option value="Other">No, I wish</option>
                          </select></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">In 
                            which category does your primary Hilux fall?</font></div></td>
                        <td width="300"><select name="model" id="model">
                            <option value="old">Old Hilux pre 1978</option>
                            <option value="sfa" selected>SFA Hilux 1978-1998</option>
                            <option value="ifs">IFS Hilux 1998-2005</option>
                            <option value="new">New Hilux aka Vigo 2005-now</option>
                            <option value="surf">Hilux Surf</option>
                            <option value="fortuner">Fortuner</option>
                            <option value="other">Other type - non Hilux</option>
                          </select></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">What 
                            is the exact model of your vehicle?</font></div></td>
                        <td width="300"><input name="clientmodel" type="text" id="clientmodel"></td>
                      </tr>
                      <tr> 
                        <td width="300"> <div align="right"><font size="2" face="Arial, Helvetica, sans-serif">What 
                            modifications does your vehicle have?</font></div></td>
                        <td width="300"><input name="mods" type="text" id="mods"></td>
                      </tr>
                      <tr bgcolor="ECE6D7"> 
                        <td colspan="2">&nbsp;</td>
                      </tr>
                      <tr> 
                        <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">I 
                            agree with the <a href="download/Code.pdf">code of conduct</a></font></div></td>
                        <td><font size="2" face="Arial, Helvetica, sans-serif"><strong>Yes 
                          <input type="radio" name="agree" value="radiobutton">
                          | No</strong> 
                          <input type="radio" name="disagree" value="radiobutton">
                          </font></td>
                      </tr>
                      <tr bgcolor="ECE6D7"> 
                        <td colspan="2"> <div align="center">
                            <input name="lastpayment" type="hidden" id="lastpayment" value="15-05-2009">
                            <input name="active" type="hidden" id="active" value="0">
                            <input type="submit" name="Submit" value="Register for Hilux4x4.co.za Club">
                          </div></td>
                      </tr>
                    </table>
                    <input type="hidden" name="MM_insert" value="form1">
                  </form>
                  <p align="left"><font size="2" face="Arial, Helvetica, sans-serif"></font></p>
                </div>
                </td>
            </tr>
          </table></td>
      </tr>
      <tr> 
        <td><div align="center"></div>
          <div align="center">
    <p>
    <?php require_once('footer.php'); ?></p>
        </div></td>
      </tr>
    </table>
    
    </body>
    </html>

  8. #8
    SitePoint Enthusiast
    Join Date
    Feb 2009
    Posts
    60
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It should be a simple fix. Go to your php.ini file and look for the part where it says
    "output_buffering ="
    If the output_buffering is Off or it is commented...uncomment it and change it to:
    "output_buffering = On"

    And you should be fine after that.

  9. #9
    SitePoint Enthusiast
    Join Date
    Apr 2008
    Location
    South Africa
    Posts
    31
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I do not get
    "output_buffering = 4096"

    I only find "output_buffering = 4096" is that the same thing?

  10. #10
    play of mind Ernie1's Avatar
    Join Date
    Sep 2005
    Posts
    1,252
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    if you read the comments in php.ini

    ; Output buffering allows you to send header lines (including cookies) even
    ; after you send body content, at the price of slowing PHP's output layer a
    ; bit. You can enable output buffering during runtime by calling the output
    ; buffering functions. You can also enable output buffering for all files by
    ; setting this directive to On. If you wish to limit the size of the buffer
    ; to a certain size - you can use a maximum number of bytes instead of 'On', as
    ; a value for this directive (e.g., output_buffering=4096).
    my mobile portal
    ghiris.ro

  11. #11
    SitePoint Enthusiast
    Join Date
    Feb 2009
    Posts
    60
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yes, that means you're looking in the right place...
    "output_buffering = 4096"


    if it says ";output_buffering = 4096"
    remove the ";" semicolon to uncomment it. then change the "4096".
    to "On".

  12. #12
    SitePoint Enthusiast
    Join Date
    Feb 2009
    Posts
    60
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The final line would look like:

    output_buffering = On

  13. #13
    SitePoint Wizard bronze trophy
    Join Date
    Jul 2008
    Posts
    5,757
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Salathe already mentioned it, but virtual() flushes output buffers. output buffering will not help.

  14. #14
    SitePoint Enthusiast
    Join Date
    Apr 2008
    Location
    South Africa
    Posts
    31
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanx for all the replies.

    I found the problem.

    In the first line I replaced
    Code:
    <?php virtual('/Connections/hilux.php');
    with
    Code:
    <?php include "Connections/hilux.php";
    I always like to know why something happen, so is there anybody who can explain why the virtual command will cause this?

    I see php says:
    virtual() is an Apache-specific function which is similar to <!--#include virtual...--> in mod_include. It performs an Apache sub-request. It is useful for including CGI scripts or .shtml files, or anything else that you would parse through Apache. Note that for a CGI script, the script must generate valid CGI headers. At the minimum that means it must generate a Content-Type header.

    To run the sub-request, all buffers are terminated and flushed to the browser, pending headers are sent too.

    This function is only supported when PHP is installed as an Apache module.
    which explains the whole thing with the headers.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •