tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
814
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von kcyberbob
    kcyberbob kcyberbob ist offline Mitglied Brokat
    Registriert seit
    Aug 2002
    Ort
    Nähe München
    Beiträge
    261
    Hallo zusammen,

    ich hab folgendes Problem:
    Ich hab eine Datei mit dem Namen index.php, eine die heißt funktions.php und eine admin.php.
    So in der index ist klar was drin steht in der admin auch und in der funktions.php stehen verschiedene Funktionen drin.
    Ich hoffe es ist soweit verständlich.
    nun poste ich mal die einzelnen scripte damit es einfach ist zu erklären.

    index.php
    PHP-Code:
    require "../database.inc.php";
    require 
    "functions.php";

    printheader($accountnr);

    if (
    $action == "main" ){
       
    //* login formular
    }

    elseif (
    $action == 'login')
           {
                
    $result mysql_query("SELECT * FROM userdata WHERE username='$username' && password='$password'");
                      if(
    mysql_num_rows($result) != ) {
                           
    $cookie mysql_fetch_object($result);
                           
                              
    $datenrichtig true;
                              
    $gbook_username $username;
                              
    $gbook_password $password;
                              
    $gbook_accountnr $cookie->accountnr;
                              
    $last_besuch time();
                              
    $user_eingeloggt true;
                        } 
                        else 
                        {
                            
    $datenrichtig false;
                              
    $user_eingeloggt false;
                        }
                    if (
    $datenrichtig)
                        {
                            
    session_register ("user_eingeloggt","gbook_username","gbook_accountnr");
                            
    setcookie("user_eingeloggt""true"time()+(3600*24*365));
                            
    setcookie("gbook_accountnr""$gbook_accountnr"time()+(3600*24*365));
                            
    setcookie("gbook_username""$gbook_username"time()+(3600*24*365));
                            
    setcookie("gbook_password""$gbook_password"time()+(3600*24*365));

    echo 
    "richtig";
                        } 
                        else 
                           {

                           echo 
    "daten falsch";
                        }
            }

    printfooter($accountnr); 
    functions.php

    PHP-Code:
    <?
    require "../database.inc.php";

    //* Control Panel

    function Controlpanel ($accountnr)
    {
    $styles mysql_query("SELECT * FROM gbook_options");
    $style mysql_fetch_object($styles);
    $results mysql_query("SELECT  * FROM gbook_content WHERE accountnr='$accountnr' ");
    $numgbook mysql_num_rows($results);

    ?>
    <div id="item1" class="parent">
      <table width="700" border="0" align="<? echo "$style->table_position"?>" cellspacing="0" cellpadding="0" class="tableborder">
        <tr> 
          <td width="97" bgcolor="<? echo "$style->table_color"?>"><a href="javascript:ExpandShrink(1)">Administration</a></td>
          <td bgcolor="<? echo "$style->table_color"?>"> <div align="right"><strong><a href="index.php?accountnr=<? echo $accountnr?>&action=post">Beitrag erstellen</a></strong> |<strong> Beitr&auml;ge: <? echo $numgbook?> &nbsp; 
              </strong></div></td>
        </tr>
      </table>
    </div>
    <div id="item2" class="child">
    <table id="table2" width="700" border="0" align="<? echo "$style->table_position"?>" cellspacing="0" cellpadding="0" class="rightleftline bottomline" >
      <tr>
        <td colspan="2" bgcolor="<? echo "$style->td_color"?>">
             <?
    if($_COOKIE['gbook_username']) {
    ?>
            <table width="97%" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr> 
                <td width="15%" valign="middle"><strong><a href="admin.php?action=main&accountnr=<? echo "$accountnr"?>">Statusanzeige</a></strong></td>
                <td width="15%" valign="middle"><strong><a href="admin.php?action=config&accountnr=<? echo "$accountnr"?>">Konfiguration</a></strong></td>
                <td width="13%" valign="middle"><a href="admin.php?action=optik&accountnr=<? echo "$accountnr"?>"><strong>Darstellung</strong></a></td>
                <td width="35%" valign="middle"><a href="/gbook/functions.php?action=logout&accountnr=<? echo "$accountnr"?>"><strong>Logout</strong></a></td>
                <td width="22%" valign="middle"><div align="right"></div></td>
              </tr>
              <?
    }
    else {
    ?>
              <form action="index.php?action=login&accountnr=<? echo "$accountnr"?>" method="post">
                <table width="97%" border="0" align="center" cellpadding="0" cellspacing="0">
                  <tr> 
                    <td width="27%" rowspan="4" valign="middle">&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                  </tr>
                  <tr> 
                    <td width="24%"><small><strong>Username:</strong></small><br> 
                      <input name="username" type="text" class="inputtext" id="username"></td>
                    <td width="49%"><small><strong>Passwort:</strong></small><br> 
                      <input name="password" type="password" class="inputtext" id="password"></td>
                  </tr>
                  <tr> 
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                  </tr>
                  <tr> 
                    <td><div align="right"> 
                        <input type="submit" name="Submit" value="Login" class="inputbutton">
                      </div></td>
                    <td>&nbsp;</td>
                  </tr>
                </table>
              </form>
              <?
    }
    ?>
            </table>
        </td>
      </tr>
      </table>
    </div>
    <br>
    <?
    }


    //* Jumpto der Seite (Weiterleitung)

    function Jumpto($url)
    {
        echo 
    "<script type=\"text/javascript\">document.location.href=\"$url\"</script>";
    }


    //* Counter der Seite

    function HitsCounter($accountnr)
    {

    $abfrage "SELECT  * FROM gbook_options WHERE accountnr='$accountnr' LIMIT 1 ";
      
    $ergebnis mysql_query($abfrage);
      while(
    $inputtyle mysql_fetch_object($ergebnis))
        {
        if (
    $inputtyle->site_hits == "")
            
    $inputtyle->site_hits 0;
        
    $hit $inputtyle->site_hits 1;
        }
        
    mysql_query("update gbook_options set site_hits = '$hit'");

    }


    //* Smilie funktion
        
    function Smilies (&$mypost) {

        
    $mypost preg_replace("/\:smile\:/""<img src=\"../images/smilies/smile.gif\" />"$mypost);
        
    $mypost preg_replace("/\:smiled\:/""<img src=\"../images/smilies/smiled.gif\" />"$mypost);
        
    $mypost preg_replace("/\:smileo\:/""<img src=\"../images/smilies/smileo.gif\" />"$mypost);
        
    $mypost preg_replace("/\:smilep\:/""<img src=\"../images/smilies/smilep.gif\" />"$mypost);
        
    $mypost preg_replace("/\:surprised\:/""<img src=\"../images/smilies/surprised.gif\" />"$mypost);
        
    $mypost preg_replace("/\:teeth\:/""<img src=\"../images/smilies/teeth.gif\" />"$mypost);
        
    $mypost preg_replace("/\:wink\:/""<img src=\"../images/smilies/wink.gif\" />"$mypost);
        
    $mypost preg_replace("/\:angel\:/""<img src=\"../images/smilies/angel.gif\" />"$mypost);
        
    $mypost preg_replace("/\:angry\:/""<img src=\"../images/smilies/angry.gif\" />"$mypost);
        
    $mypost preg_replace("/\:crook\:/""<img src=\"../images/smilies/crook.gif\" />"$mypost);
        
    $mypost preg_replace("/\:cry\:/""<img src=\"../images/smilies/cry.gif\" />"$mypost);
        
    $mypost preg_replace("/\:embaressed\:/""<img src=\"../images/smilies/embaressed.gif\" />"$mypost);
        
    $mypost preg_replace("/\:sad\:/""<img src=\"../images/smilies/sad.gif\" />"$mypost);

        
    return 
    $mypost;
    }    


    //* Header der Seite

    function Printheader($accountnr) {
      
    $ergebnis mysql_query("SELECT  * FROM gbook_options WHERE accountnr='$accountnr' LIMIT 1");
      
    $inputtyle mysql_fetch_object($ergebnis)

    ?>
    <html>
    <head>
    <title>seite.de der kostenlose Service für Webmaster</title>
    <link rel="stylesheet" href="style.css.php?accountnr=<? echo "$accountnr"?>" type="text/css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" src="../menu.js"></script>
    <script language="JavaScript" src="functions.js"></script>

    </head>
    <body>
    <?
    echo "$inputtyle->headeroben";
    }



     
    //* Footer der Seiten.

    function Printfooter($accountnr) {
      
    $ergebnis mysql_query("SELECT  * FROM gbook_options WHERE accountnr='$accountnr' LIMIT 1 ");
      
    $inputtyle mysql_fetch_object($ergebnis)

    ?>
    <div align="center"><br>
    <? echo "$inputtyle->headerunten"?>
      <table width="50%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td><div align="center"><strong><small><a href="http://www.seite.de/index.php?section=services/guestbook.htm" target="_blank">gbook</a>™ 
              Version 1.0 </small></strong></div></td>
        </tr>
        <tr> 
          <td><div align="center"><strong><small>&copy;copyright by&nbsp;<a href="http://www.seite.de/">seite.de</a></small></strong></div></td>
        </tr>
      </table>
    </div>
    <br>
    </body>
    </html>
    <?
    }
    ?>
    nun die admin.php

    PHP-Code:
    require "../database.inc.php";
    require 
    "functions.php";

    if ((@
    $_COOKIE["gbook_username"]) AND (@$_COOKIE["gbook_password"])) {
        
    session_register ("user_eingeloggt","gbook_username","gbook_accountnr","gbook_password");
        
    $_SESSION["gbook_password"] = $_COOKIE["gbook_password"];
        
    $_SESSION["gbook_username"] = $_COOKIE["gbook_username"];
        
    $_SESSION["gbook_accountnr"] = $_COOKIE["gbook_accountnr"];
        
    $_SESSION["user_eingeloggt"] = $_COOKIE["user_eingeloggt"];
        }
        
        
    if ((
    session_is_registered("user_eingeloggt")) AND ($user_eingeloggt) AND ($accountnr == $gbook_accountnr) )
        {
                        
    // CONTENT HIER ....
    echo "hallo";

    } else { 
    //* fehlermeldung

    So.
    Und wenn ich mich jetzt einloggen will, dann kommt folgende fehlermeldung.
    PHP-Code:
    WarningCannot send session cookie headers already sent by (output started at c:\apache\htdocs\gbook\functions.php:139in c:\apache\htdocs\gbook\login.php on line 23

    Warning
    Cannot send session cache limiter headers already sent (output started at c:\apache\htdocs\gbook\functions.php:139in c:\apache\htdocs\gbook\login.php on line 23

    Warning
    Cannot add header information headers already sent by (output started at c:\apache\htdocs\gbook\functions.php:139in c:\apache\htdocs\gbook\login.php on line 24

    Warning
    Cannot add header information headers already sent by (output started at c:\apache\htdocs\gbook\functions.php:139in c:\apache\htdocs\gbook\login.php on line 25

    Warning
    Cannot add header information headers already sent by (output started at c:\apache\htdocs\gbook\functions.php:139in c:\apache\htdocs\gbook\login.php on line 26

    Warning
    Cannot add header information headers already sent by (output started at c:\apache\htdocs\gbook\functions.php:139in c:\apache\htdocs\gbook\login.php on line 27
    richtig 
    An was kann das ganze liegen?
    Ich hab schon alles versucht aber ich weiß nicht woran der fehler liegt.
    Bitte helft mir weiter oder gebt mir einen kleinen Denkanstoß.

    Gruß kcyberbob
     

  2. #2
    digitaldesign digitaldesign ist offline Grünschnabel
    Registriert seit
    Nov 2003
    Ort
    Goldach
    Beiträge
    2
    Hi,

    Dieser Fehler erscheint ziemlich sicher wegen der Ausgabe die du am Anfang des Skriptes (login.php) machst. Entferne also alle Ausgaben, sprich echo und print Befehle in deinem Login Script. Mach die Ausgaben in einer anderen Datei.

    greets
    Roger
     

  3. #3
    Registriert seit
    Dec 2001
    Beiträge
    4.791
    Ganz einfach:
    Sämtliche session_ Befehle (da sie Header senden) und auch header() Befehle
    gehören grundsätzlich vor jegliche Ausgabe. Ein Suchen im Board nach
    headers already sent hätte dir sicherlich weitergeholfen.

    Bleibt mir nur noch zu sagen, kürze bitte den von dir geposteten Quelltext auf ein
    eträgliches Maß, nämlich einmal die Fehlermeldung ohne die output Erklärung
    in den Klammern.
    So ist das Problem genausogut verständlich und das Forenlayout wird in der Breite nicht gesprengt.
    Danke
     

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 09.12.08, 08:37
  2. Antworten: 5
    Letzter Beitrag: 01.06.07, 23:44
  3. login mit session und cookie
    Von lape im Forum PHP
    Antworten: 2
    Letzter Beitrag: 10.08.06, 14:36
  4. Problem mit session, cookie login
    Von kcyberbob im Forum PHP
    Antworten: 6
    Letzter Beitrag: 27.06.05, 10:22
  5. Login mit Session und Cookie Problem
    Von Cyberlord im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.06.04, 20:39