Avatar billede cheeses Nybegynder
23. maj 2007 - 15:52 Der er 21 kommentarer og
1 løsning

hjælp til rettelse af fejl.

Jeg har et problem. jeg får denne fejl.

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\4sem\connection\connect.php:8) in C:\xampp\htdocs\4sem\include\sideindhold.php on line 2

jeg benytter samme system på mit andet webhotel og der virker det uden problemer. jeg har ikke lavet nogen ændringer i nogen af systemerne så de skulle være identiske. Det jeg tror måske det er noget med opsætningen af php men jeg er ikke sikker. Jeg har gennemgået php.ini for begge systemer og rettet min lokale webserver til så de er identiske.

Nogen forslag?
Avatar billede kinderaeg Nybegynder
23. maj 2007 - 15:57 #1
Ja, som der jo står har du allerede sendt et session_start-kald, da der allerede er sendt header-data. session_start skal sendes før der sendes andet til browseren.
Avatar billede kinderaeg Nybegynder
23. maj 2007 - 15:59 #2
Sikke en gang vrøvl at skrive.

Du har allerede sendt data til browseren, inden du kalder session_start. session_start skal kaldes før du sender data til browseren.

Håber det var mere forståeligt ;)
Avatar billede cheeses Nybegynder
23. maj 2007 - 16:03 #3
ja. men hvorfor virker det så på mit webhotel men ikke lokalt?
starten af min kode ser sådan ud:

<?php require_once('connection/connect.php'); ?>
<?php require('include/sideindhold.php');?>
<?php require('include/undermenuindex.php');?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" / >
<title>4 Semestersprojekt</title>
<link href="/css/styles.css" rel="stylesheet" type="text/css" />
</head>

<body>
---------
og det er i sideindholds siden at fejlen kommer. men for at den vil komme til at virke er connection filen et must, da det er gennem den at dataen fra databasen trækkes ud.
Avatar billede dkfire Nybegynder
23. maj 2007 - 16:08 #4
Fejlen ligger i connect.php linie 8.

Men prøv at slette noget af dine <?php ?>, så det hele kommer til at stå i en samlet <?php  ?>

<?php
require_once('connection/connect.php');
require('include/sideindhold.php');
require('include/undermenuindex.php');
?>
Avatar billede kinderaeg Nybegynder
23. maj 2007 - 16:09 #5
Måske fordi din connect ikke virker lokalt, da din udbyder måske kun tillader lokal forbindelse til db-serveren, og du dermed får sendt data til din browser eller fordi der er forskel i metoden hvormed cookies gemmes. Men du kan vel bare sætte session_start ind i din connect i stedet for?!?
Avatar billede cheeses Nybegynder
23. maj 2007 - 16:20 #6
det ændre ikke noget. jeg har også installeret en mysql server lokalt og den virker fint. jeg får da også vist noget af dataen men fejlen er der.
hvis jeg gør som f.eks. som dkfire skriver jeg skal gøre == ingen ændring.

kinderaeg== ingen ændring.
men jeg tror nu mest at det er et konfigurationsspørgsmål da det jo virker 100% på mit webhotel men ikke lokalt.
Avatar billede dkfire Nybegynder
23. maj 2007 - 16:22 #7
Hvad er der på linie 8 i connect.php ??
Avatar billede cheeses Nybegynder
23. maj 2007 - 16:26 #8
hvis det kan hjælpe så har jeg lagt en udskrift af php.ini på hjemmesiden. www.disappear.dk/phpinfo.pdf
Avatar billede dkfire Nybegynder
23. maj 2007 - 16:31 #9
Det er nu mere interesant hvad der står på linie 8.
Avatar billede cheeses Nybegynder
23. maj 2007 - 16:37 #10
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Untitled Document</title>
</head>
<body>
<?php
$dbhost = "localhost";
$dbusername = "****";
$dbpasswd = "**********";
$database_name = "4sem";
$connection = mysql_connect("$dbhost","$dbusername","$dbpasswd")or die ("Couldnt connect to server.");
$db = mysql_select_db("$database_name", $connection)or die("Couldnt select database.");
?>
</body>
</html>
Avatar billede dkfire Nybegynder
23. maj 2007 - 16:40 #11
Jamen så har du jo også send data til browseren inden sessio_start().

Alt
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Untitled Document</title>
</head>
<body>
er data som sendes til browseren. Fjern alt html i den fil!
Avatar billede cheeses Nybegynder
23. maj 2007 - 16:50 #12
ok.

men når filen så ser sådan ud:
<?php
$dbhost = "localhost";
$dbusername = "****";
$dbpasswd = "*******";
$database_name = "4sem";
$connection = mysql_connect("$dbhost","$dbusername","$dbpasswd")or die ("Couldnt connect to server.");
$db = mysql_select_db("$database_name", $connection)or die("Couldnt select database.");
?>

så får jeg fejlen:

Fatal error: Call to undefined function: phprequire() in C:\xampp\htdocs\4sem\index.php on line 2
Avatar billede dkfire Nybegynder
23. maj 2007 - 16:52 #13
Og linie 2 er ??
Avatar billede cheeses Nybegynder
23. maj 2007 - 16:54 #14
sorry nevermind den sidste fejlmeddelse.
men jeg får til gengæld denne:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\4sem\index.php:2) in C:\xampp\htdocs\4sem\include\sideindhold.php on line 2

stadig....
Avatar billede cheeses Nybegynder
23. maj 2007 - 16:58 #15
sideindhold.php koden:
<?php if (!isset($_SESSION)) {
  session_start();
}
//------------------------- Visning af sideindhold --------------------------------------------

$colname_sideindhold = '1';

if (isset($_GET['id'])) {
  $colname_sideindhold = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}

mysql_select_db($database_name, $connection);
$query_sideindhold = sprintf("SELECT * FROM sideindhold WHERE id = %s ORDER BY id DESC", $colname_sideindhold);
$sideindhold = mysql_query($query_sideindhold, $connection) or die(mysql_error());
$row_sideindhold = mysql_fetch_assoc($sideindhold);
$totalRows_sideindhold = mysql_num_rows($sideindhold);

?>
Avatar billede dkfire Nybegynder
23. maj 2007 - 16:59 #16
Hvordan ser din sideindhold ud ??
Avatar billede dkfire Nybegynder
23. maj 2007 - 17:04 #17
Hvordan ser din index.php ud ??
Avatar billede cheeses Nybegynder
23. maj 2007 - 17:09 #18
hmm. det giver ingen mening. emn nu virker det.... nogenlunde. jeg prøvede lige igen at fjerne <?php og ?> fra index filen og så virkede den del af det.

den sidste fejl jeg kan finde lig nu er denne:
Warning: main(../../Connections/connect.php) [function.main]: failed to open stream: No such file or directory in C:\xampp\htdocs\4sem\profil\login.php on line 1

Fatal error: main() [function.require]: Failed opening required '../../Connections/connect.php' (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\4sem\profil\login.php on line 1
Avatar billede cheeses Nybegynder
23. maj 2007 - 17:12 #19
siden det drejer sig om er denne:
<?php require_once('../Connections/connect.php');

// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['brugernavn'])) {
  $loginUsername=$_POST['brugernavn'];
  $password=md5($_POST['password']);
  $MM_fldUserAuthorization = "rettighed";
  $MM_redirectLoginSuccess = "indstillinger.php";
  $MM_redirectLoginFailed = "login.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_connect, $connect);
     
  $LoginRS__query=sprintf("SELECT brugernavn, passwd, rettighed FROM brugere WHERE brugernavn='%s' AND passwd='%s'",
  get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
 
  $LoginRS = mysql_query($LoginRS__query, $connect) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
   
    $loginStrGroup  = mysql_result($LoginRS,0,'rettighed');
   
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;         

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];   
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<?php require_once('../connection/connect.php'); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" / >
<title>4 Semestersprojekt</title>
<link href="/css/styles.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="100%" align="center" class="layout" cellpadding="0" cellspacing="0">
    <tr>
        <td colspan="2" class="top"><img src="../<?php include('../include/img.php');?>" height="106px" /></td>
       
    </tr>
<? //------------------------------- Topmenuer ----------------------------- ?>
    <tr>
        <td class="top1">&nbsp;</td>
        <td class="top1"><?php include('../include/bruger/topmenu.php'); //Inkludere hovedmenuen?></td>
       
    </tr>
<? //------------------------------- Venstre menu -------------------------- ?>
    <tr>
        <td class="left"><br />
       
        </td>
<? //------------------------------- Sideindhold --------------------------- ?>
        <td class="middle">
            <table width="90%" border="0px">
                <tr>
                    <td>
                        <form id="login" name="login" method="POST" action="<?php echo $loginFormAction; ?>">
                            <table width="550" border="0" cellspacing="0" cellpadding="2">
                                <tr>
                                      <td>Log P&aring; </td>
                                    <td>&nbsp;</td>
                                </tr>
                                <tr>
                                      <td>Brugernavn:</td>
                                      <td><label>
                                    <input name="brugernavn" type="text" id="brugernavn" size="70" />
                                      </label></td>
                                </tr>
                                <tr>
                                      <td>Password:</td>
                                    <td><label>
                                    <input name="password" type="password" id="password" size="70" />
                                      </label></td>
                                </tr>
                                <tr>
                                      <td>&nbsp;</td>
                                      <td><label>
                                    <input type="submit" name="Submit" value="log p&aring;" />
                                      </label></td>
                                  </tr>
                              </table>
                        </form>
                    </td>
                </tr>
            </table>       
        </td>
    </tr>
</table>
</body>
</html>
Avatar billede dkfire Nybegynder
23. maj 2007 - 17:13 #20
Nok fordi du henviser til en forkert sti eller at du er kommet til at skrive et stort bogstav istedet for lille, eller omvendt.
Avatar billede cheeses Nybegynder
23. maj 2007 - 17:17 #21
ok tak for hjælpen. smid et svar og du får point.
Avatar billede dkfire Nybegynder
23. maj 2007 - 17:19 #22
svar, så fik vi det til at virke :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester