Avatar billede 17196 Nybegynder
30. september 2004 - 18:13 Der er 16 kommentarer og
1 løsning

Cannot modify header

<?
if($_GET['logmeout'] == 'yes') {
43:      setcookie("loged","no",time()-3600, $script_path, $domain);
44:      setcookie("username","",time()-3600, $script_path, $domain);
45:      setcookie("user_level","",time()-3600, $script_path, $domain);
46:      $session = uniqid('logout_');
47:      if(!session_is_registered('user_level')) {
48:          header("Location: index.php");
  }
} else {
      echo "<center><font class=\"text\">Are you sure you want to logout?</font></center><br><center><a href=\"user_logout.php?logmeout=yes\">Yes</a> | <a href=\"java script:history.back()\">No</a></center><br>";
}

?>

Får denne fejl:
Warning: Cannot modify header information - headers already sent by (output started at /customers/explosif.dk/explosif.dk/httpd.www/user_logout.php:8) in /customers/explosif.dk/explosif.dk/httpd.www/user_logout.php on line 43

Det samme problem med linie 44 45 og 48!

Nogen der kan løse mit problem?
Mvh.
17196
På forhånd tak!
Avatar billede bromer Nybegynder
30. september 2004 - 18:19 #1
Er der mellemrum før du starter PHP? Og tallene er vel sat manuelt ind.. de står rent faktisk ikke i filen vel?
Avatar billede 17196 Nybegynder
30. september 2004 - 18:22 #2
tallene er manuelt sat ind, og der er mellemrum!
Avatar billede dennismp Nybegynder
30. september 2004 - 18:23 #3
hvordan ser linjer 7-9 ud i user_logout.php ?
Avatar billede 17196 Nybegynder
30. september 2004 - 18:24 #4
<link href="site_files/css/clean_css_v2.css" rel="stylesheet" type="text/css">
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="51" valign="bottom" class="bg_top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="27%"><div align="center"> </div></td>
          <td width="39%" valign="top" class="nws_text style1">&nbsp;</td>
          <td width="34%">&nbsp;</td>
        </tr>
Avatar billede bromer Nybegynder
30. september 2004 - 18:25 #5
fjern mellemrum før du starter PHP. Der må ikke være noget output før du sætter en header. Og et mellemrum er output.
Avatar billede bromer Nybegynder
30. september 2004 - 18:25 #6
ahh..det er jo output.. det må ikke være der når du skal sende en header. Sæt dit header ting op som det første i filen.
Avatar billede 17196 Nybegynder
30. september 2004 - 18:27 #7
forstår ikke helt hvad du mener bromer, men sådan ser det ud:
<?php
$domain = "www.explosif.dk";
$script_path = "";

if($_GET['logmeout'] == 'yes') {
      setcookie("loged","no",time()-3600, $script_path, $domain);
      setcookie("username","",time()-3600, $script_path, $domain);
      setcookie("user_level","",time()-3600, $script_path, $domain);
      $session = uniqid('logout_');
      if(!session_is_registered('user_level')) {
          header("Location: index.php");
  }
} else {
      echo "<center><font class=\"text\">Are you sure you want to logout?</font></center><br><center><a href=\"user_logout.php?logmeout=yes\">Yes</a> | <a href=\"java script:history.back()\">No</a></center><br>";
}
?>
Avatar billede dennismp Nybegynder
30. september 2004 - 18:28 #8
Du bør sætte headers (herunder cookies) før du laver nogen form for output
Avatar billede dennismp Nybegynder
30. september 2004 - 18:29 #9
eller bruge ob_start() øverst i din kode - så kan man slippe udenom, men det er grimt kode (syntes jeg)
Avatar billede bromer Nybegynder
30. september 2004 - 18:29 #10
men det er jo ikke hele filen vel? Hvad sker der på de første linier? Der må du ikke have noget output, og det ser det meget ud som om at du har! Outout er altså også når du skriver HTML.
Avatar billede 17196 Nybegynder
30. september 2004 - 18:35 #11
HELE SVINERIET:
<link href="site_files/css/clean_css_v2.css" rel="stylesheet" type="text/css">
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="51" valign="bottom" class="bg_top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="27%"><div align="center"> </div></td>
          <td width="39%" valign="top" class="nws_text style1">&nbsp;</td>
          <td width="34%">&nbsp;</td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td class="bg_midt"><table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="176" valign="top" class="bg_logo"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td>&nbsp;</td>
                <td height="113">&nbsp;</td>
              </tr>
              <tr>
                <td width="14">&nbsp;</td>
                <td><? include'menu.php'; ?></td>
              </tr>
          </table></td>
          <td width="631" valign="top">            <table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td valign="top"><div align="center">
                  <table width="400"  border="0" cellpadding="0" cellspacing="0" class="nws_bar">
                      <tr>
                        <td width="566"><div align="center">Logout</div></td>
                      </tr>
                                  </table>
                  <table width="400" border="0" cellpadding="0" cellspacing="0" bgcolor="#585858" class="nws_border">
                      <tr>
                        <td width="557">
                        <?php
                        $domain = "www.explosif.dk";
                        $script_path = "";

                        if($_GET['logmeout'] == 'yes') {
                              setcookie("loged","no",time()-3600, $script_path, $domain);
                              setcookie("username","",time()-3600, $script_path, $domain);
                            setcookie("user_level","",time()-3600, $script_path, $domain);
                            $session = uniqid('logout_');
                                  if(!session_is_registered('user_level')) {
                                      header("Location: index.php");
                              }
                                } else {
                              echo "<center><font class=\"text\">Are you sure you want to logout?</font></center><br><center><a href=\"user_logout.php?logmeout=yes\">Yes</a> | <a href=\"java script:history.back()\">No</a></center><br>";
                            }
                        ?>
                        </td>
                      </tr>
                                    </table>
                </div>
                <div align="center"></div></td>
              </tr>
            </table></td>
        </tr>
    </table>
    </td>
  </tr>
  <tr>
    <td height="36" class="bg_bund"><table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="95%" align="right"><span class="nws_text style3"><span class="style7">e</span><span class="style1">X</span><span class="style7">plosif - Alt det du ikke vidste du ville vide!</span></span></td>
          <td width="5%" align="right">&nbsp;</td>
        </tr>
    </table></td>
  </tr>
</table>
Avatar billede mcgoat Nybegynder
30. september 2004 - 18:43 #12
du kan ikke bruge din heder dernede... den skal sendes som et første, din header er allerede sendt af alt dette:

<link href="site_files/css/clean_css_v2.css" rel="stylesheet" type="text/css">
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="51" valign="bottom" class="bg_top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="27%"><div align="center"> </div></td>
          <td width="39%" valign="top" class="nws_text style1">&nbsp;</td>
          <td width="34%">&nbsp;</td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td class="bg_midt"><table width="800" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="176" valign="top" class="bg_logo"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td>&nbsp;</td>
                <td height="113">&nbsp;</td>
              </tr>
              <tr>
                <td width="14">&nbsp;</td>
                <td><? include'menu.php'; ?></td>
              </tr>
          </table></td>
          <td width="631" valign="top">            <table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td valign="top"><div align="center">
                  <table width="400"  border="0" cellpadding="0" cellspacing="0" class="nws_bar">
                      <tr>
                        <td width="566"><div align="center">Logout</div></td>
                      </tr>
                                  </table>
                  <table width="400" border="0" cellpadding="0" cellspacing="0" bgcolor="#585858" class="nws_border">
                      <tr>
                        <td width="557">


Så du må lave det på en anden måde
Avatar billede mcgoat Nybegynder
30. september 2004 - 18:48 #13
kunne måske gøre sådan istedet?

                                  if(!session_is_registered('user_level')) {
                                      echo "<script language='javascript'>";
                                                  echo "parent.frames.location.href = 'index.php';";
                                                  echo "</script>";

så det faktisk er et javascript der sender dig til index.php??
Avatar billede 17196 Nybegynder
30. september 2004 - 18:52 #14
Den er i vinkel! Mange tak, også til dennismp og bromer!
Men jeg kan jo kun give points til én :(
Smid svar mcgoat..
Avatar billede mcgoat Nybegynder
30. september 2004 - 18:53 #15
okaj :)
Avatar billede bromer Nybegynder
30. september 2004 - 18:57 #16
det er helt okay.. men man kan faktisk godt give point til flere :)
Avatar billede dennismp Nybegynder
30. september 2004 - 18:57 #17
Du kan give points til så mange som har lagt svar - så normalt spørger man bare efter det - så deler eksperten det ud på de folk du har valgt.
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