登录 | 注册 | FAQ
Anonymous

Besucherzähler mit Cookie

+ 发表回复

8 篇帖子 分页: 1 / 1


Besucherzähler mit Cookie

chris97 » 周六 4月 28, 2012 5:45 pm

Hallo.
Ich arbeite an einem einfachen Counter auf Basis von MySQL. Jetzt möchte ich eine Reload-Sperre einbauen, die mit einem Cookie funktioniert. Das ganze Stelle ich mir so vor:

*Wenn der Besucher die Seite betritt, wird ein Cookie gesetzt
*dann wird geprüft, ob das Cookie existiert:
**Wenn es existiert, wird nur die Besucherzahl ausgegeben
**Wenn es nicht existiert, wird die Besucherzahl ausgegeben und der Counter um 1 erhöht

-----

Das ganze scheitert mit der Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /users/chris-bauernclub/www/index.php:23) in /users/chris-bauernclub/www/index.php on line 71


Hier der Code:

代码: 全选
<?php
            if(isset($_COOKIE["counter_reload_sperre"]))   {
               mysql_connect('bla','bla','bla');
               mysql_select_db('chris-bauernclub');
               $strSQL=   'Select * from counter';
               $rs = mysql_query($strSQL);
               while($row = mysql_fetch_array($rs)) {
                  $zahl   = $row['zahl'];
                  echo   "<p>Du bist der <span id='count'>$zahl</span>. Besucher dieser Website.</p>";
               }
               mysql_close();
            }
            else   {
               $rs   = "";
               mysql_connect('bla','bla','bla');
               mysql_select_db('chris-bauernclub');
               $strSQL=   'Select * from counter';
               $rs = mysql_query($strSQL);
               while($row = mysql_fetch_array($rs)) {
                  $zahl   = $row['zahl'];
                  $zahl2   = $zahl+1;
                  echo   "<p>Du bist der <span id='count'>$zahl</span>. Besucher dieser Website.</p>";
               }
               $strSQL   = "UPDATE counter SET zahl='$zahl2'";
               mysql_query($strSQL);
               mysql_close();
               setcookie('counter_reload_sperre','count', time()+1800);
            }
            ?>


-----

Kann mir jemand helfen? Wo liegt das Problem?
头像

chris97

  • 帖子: 26
  • 注册: 周四 4月 12, 2012 9:02 am
  • 地址: Rheinland-Pflaz

Re: Besucherzähler mit Cookie

XainPro » 周六 4月 28, 2012 8:51 pm

Sie Cannot modify header einmal seine geschickt sollten Sie puffern heraus gestellt, um zu vermeiden, senden Header vor und Seite.
ändern Sie den Code so



<?php
ob_start();
if(isset($_COOKIE["counter_reload_sperre"])) {
mysql_connect('bla','bla','bla');
mysql_select_db('chris-bauernclub');
$strSQL= 'Select * from counter';
$rs = mysql_query($strSQL);
while($row = mysql_fetch_array($rs)) {
$zahl = $row['zahl'];
echo "<p>Du bist der <span id='count'>$zahl</span>. Besucher dieser Website.</p>";
}
mysql_close();
}
else {
$rs = "";
mysql_connect('bla','bla','bla');
mysql_select_db('chris-bauernclub');
$strSQL= 'Select * from counter';
$rs = mysql_query($strSQL);
while($row = mysql_fetch_array($rs)) {
$zahl = $row['zahl'];
$zahl2 = $zahl+1;
echo "<p>Du bist der <span id='count'>$zahl</span>. Besucher dieser Website.</p>";
}
$strSQL = "UPDATE counter SET zahl='$zahl2'";
mysql_query($strSQL);
mysql_close();
setcookie('counter_reload_sperre','count', time()+1800);
}

ob_flush();
?>
头像

XainPro

  • 帖子: 3933
  • 注册: 周五 2月 17, 2012 8:10 pm

Re: Besucherzähler mit Cookie

chris97 » 周日 4月 29, 2012 7:14 am

Hab ich ergänzt, klappt aber immer noch nicht. Selber Fehler:

Warning: Cannot modify header information - headers already sent by (output started at /users/chris-bauernclub/www/index.php:23) in /users/chris-bauernclub/www/index.php on line 72
头像

chris97

  • 帖子: 26
  • 注册: 周四 4月 12, 2012 9:02 am
  • 地址: Rheinland-Pflaz

Re: Besucherzähler mit Cookie

XainPro » 周一 4月 30, 2012 4:39 am

ist dieser Code gehört zu index.php?
头像

XainPro

  • 帖子: 3933
  • 注册: 周五 2月 17, 2012 8:10 pm

Re: Besucherzähler mit Cookie

chris97 » 周一 4月 30, 2012 11:30 am

XainPro 写道:ist dieser Code gehört zu index.php?

Ja. Hier die ganze index.php
代码: 全选
<!DOCTYPE HTML>
<html>
   <head>
      <title>Chris Bauernclub- Herzlich Willkommen</title>
      <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
      <link rel="stylesheet" href="style/style.css" />
      <!--Metadaten-->
      .....
      <!--[if IE]>
         <script>
            document.createElement('content');
            document.createElement('nav');
         </script>
      <![endif]-->
   </head>
   <body>
      <div id="page">
      <header>
         <img src="graphic/<?php echo rand(1,2);?>.jpg" alt="Header" title="" />
      </header>
      <nav>
         <ul id="navigation">
            <li><a href="index.php">Startseite</a></li>
            <li><a href="news.php">News</a></li>
            <li><a href="acker.php">Zier&auml;cker</a></li>
            <li><a href="about.php">&Uuml;ber uns</a></li>
            <li><a href="gb.php">G&auml;stebuch</a></li>
            <li><a href="schwarzes_brett.php">Schwarzes Brett</a></li>
            <li><a href="chronik.php">Chronik</a></li>
            <li><a href="admin.php">Admin- Bereich</a></li>
            <li><a href="impressum.php">Impressum</a></li>
         </ul>
         <?php
            if(date("l")=="Saturday"or date('l')=="Sunday")   {
               echo   "<img src='graphic/we.png' alt='Schönes Wochenende' title='' width='200' />";
            }
         ?>
      </nav>
      <content>
         <h1>Herzlich Willkommen</h1>
         <?php
            ob_start();
            if(isset($_COOKIE["counter_reload_sperre"]))   {
               mysql_connect('localhost','chris-bauernclub','azezuveb281297');
               mysql_select_db('chris-bauernclub');
               $strSQL=   'Select * from counter';
               $rs = mysql_query($strSQL);
               while($row = mysql_fetch_array($rs)) {
                  $zahl   = $row['zahl'];
                  echo   "<p>Du bist der <span id='count'>$zahl</span>. Besucher dieser Website.</p>";
               }
               mysql_close();
            }
            else   {
               $rs   = "";
               mysql_connect('localhost','chris-bauernclub','azezuveb281297');
               mysql_select_db('chris-bauernclub');
               $strSQL=   'Select * from counter';
               $rs = mysql_query($strSQL);
               while($row = mysql_fetch_array($rs)) {
                  $zahl   = $row['zahl'];
                  $zahl2   = $zahl+1;
                  echo   "<p>Du bist der <span id='count'>$zahl</span>. Besucher dieser Website.</p>";
               }
               $strSQL   = "UPDATE counter SET zahl='$zahl2'";
               mysql_query($strSQL);
               mysql_close();
               setcookie('counter_reload_sperre','count', time()+1800);
            }
            ob_flush();
            ?>
         <img src="graphic/welcome.JPG" alt="Unser Clubhaus" title="" />
      </content>
      </div>
   </body>
</html>
头像

chris97

  • 帖子: 26
  • 注册: 周四 4月 12, 2012 9:02 am
  • 地址: Rheinland-Pflaz

Re: Besucherzähler mit Cookie

XainPro » 周三 5月 02, 2012 6:30 am

Ich habe die Lösung Ihres Problems ersetzen Sie einfach den gesamten Code mit meinen diesem Code
代码: 全选
<?php
ob_start();
?>
<!DOCTYPE HTML>
<html>
   <head>
      <title>Chris Bauernclub- Herzlich Willkommen</title>
      <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
      <link rel="stylesheet" href="style/style.css" />
      <!--Metadaten-->
      .....
      <!--[if IE]>
         <script>
            document.createElement('content');
            document.createElement('nav');
         </script>
      <![endif]-->
   </head>
   <body>
      <div id="page">
      <header>
         <img src="graphic/<?php echo rand(1,2);?>.jpg" alt="Header" title="" />
      </header>
      <nav>
         <ul id="navigation">
            <li><a href="index.php">Startseite</a></li>
            <li><a href="news.php">News</a></li>
            <li><a href="acker.php">Zier&auml;cker</a></li>
            <li><a href="about.php">&Uuml;ber uns</a></li>
            <li><a href="gb.php">G&auml;stebuch</a></li>
            <li><a href="schwarzes_brett.php">Schwarzes Brett</a></li>
            <li><a href="chronik.php">Chronik</a></li>
            <li><a href="admin.php">Admin- Bereich</a></li>
            <li><a href="impressum.php">Impressum</a></li>
         </ul>
         <?php
            if(date("l")=="Saturday"or date('l')=="Sunday")   {
               echo   "<img src='graphic/we.png' alt='Schönes Wochenende' title='' width='200' />";
            }
         ?>
      </nav>
      <content>
         <h1>Herzlich Willkommen</h1>
         <?php            if(isset($_COOKIE["counter_reload_sperre"]))   {
               mysql_connect('localhost','chris-bauernclub','azezuveb281297');
               mysql_select_db('chris-bauernclub');
               $strSQL=   'Select * from counter';
               $rs = mysql_query($strSQL);
               while($row = mysql_fetch_array($rs)) {
                  $zahl   = $row['zahl'];
                  echo   "<p>Du bist der <span id='count'>$zahl</span>. Besucher dieser Website.</p>";
               }
               mysql_close();
            }
            else   {
               $rs   = "";
               mysql_connect('localhost','chris-bauernclub','azezuveb281297');
               mysql_select_db('chris-bauernclub');
               $strSQL=   'Select * from counter';
               $rs = mysql_query($strSQL);
               while($row = mysql_fetch_array($rs)) {
                  $zahl   = $row['zahl'];
                  $zahl2   = $zahl+1;
                  echo   "<p>Du bist der <span id='count'>$zahl</span>. Besucher dieser Website.</p>";
               }
               $strSQL   = "UPDATE counter SET zahl='$zahl2'";
               mysql_query($strSQL);
               mysql_close();
               setcookie('counter_reload_sperre','count', time()+1800);
            }
                        ?>
         <img src="graphic/welcome.JPG" alt="Unser Clubhaus" title="" />
      </content>
      </div>
   </body>
</html>
<?php ob_flush(); ?>
头像

XainPro

  • 帖子: 3933
  • 注册: 周五 2月 17, 2012 8:10 pm

Re: Besucherzähler mit Cookie

chris97 » 周三 5月 02, 2012 9:52 am

Jetzt hats geklappt! Danke! :)

Was bewirken eigentlich "ob_start()" und "ob_flush()"?
头像

chris97

  • 帖子: 26
  • 注册: 周四 4月 12, 2012 9:02 am
  • 地址: Rheinland-Pflaz

Re: Besucherzähler mit Cookie

XainPro » 周四 5月 03, 2012 4:30 am

ja
ob_start und ob_flush sollte auf Dateien oben und unten sein
Ich bin froh, dass dies funktioniert.
XainPro
头像

XainPro

  • 帖子: 3933
  • 注册: 周五 2月 17, 2012 8:10 pm


+ 发表回复

分页: 1 / 1