Antworten auf deine Fragen:
Neues Thema erstellen

[PHP] Probleme mit nem Redirector

JPS

Nicht mehr ganz neu hier

Hallo, das untenstehende Script habe ich in meine index.php included.
Ist man nicht eingelogged zeigt es das Login Formular und wenn man sich einlogged halt Userinfos mit logout Möglichkeit. Soweit so gut.
Logged man sich ein, macht header("Location: index.php"); Probleme und es kommt die Meldung Cannot modify header....aktualisiert man dann die Seite dann geht es. Wie kann ich das Problem aus der Welt schaffen???
PHP:
<?php
    
    //Prevent the user visiting the logged in page if he/she is already logged in
    if(isUserLoggedIn()) {?> 
    
    <div class="rundum">
            <h1><?php echo $loggedInUser->display_username; ?></h1>
        
            <p><br>Willkommen im Member Bereich.</p>

            <p>Ihr Accountart: <strong><?php  $group = $loggedInUser->groupID(); echo $group['Group_Name']; ?></strong></p>
            <P><br>
              <a href="logout.php">Logout</a><br>
              Profil bearbeiten<br>
Passwort &auml;ndern<br>
e-Mail &auml;ndern</P>

            
            
          </div>
    
    
    <?php } else {



//Forms posted
if(!empty($_POST))
{
        $errors = array();
        $username = trim($_POST["username"]);
        $password = trim($_POST["password"]);
    
        //Perform some validation
        //Feel free to edit / change as required
        if($username == "")
        {
            $errors[] = lang("ACCOUNT_SPECIFY_USERNAME");
        }
        if($password == "")
        {
            $errors[] = lang("ACCOUNT_SPECIFY_PASSWORD");
        }
        
        //End data validation
        if(count($errors) == 0)
        {
            //A security note here, never tell the user which credential was incorrect
            if(!usernameExists($username))
            {
                $errors[] = lang("ACCOUNT_USER_OR_PASS_INVALID");
            }
            else
            {
                $userdetails = fetchUserDetails($username);
            
                //See if the user's account is activation
                if($userdetails["Active"]==0)
                {
                    $errors[] = lang("ACCOUNT_INACTIVE");
                }
                else
                {
                    //Hash the password and use the salt from the database to compare the password.
                    $entered_pass = generateHash($password,$userdetails["Password"]);

                    if($entered_pass != $userdetails["Password"])
                    {
                        //Again, we know the password is at fault here, but lets not give away the combination incase of someone bruteforcing
                        $errors[] = lang("ACCOUNT_USER_OR_PASS_INVALID");
                    }
                    else
                    {
                        //Passwords match! we're good to go'
                        
                        //Construct a new logged in user object
                        //Transfer some db data to the session object
                        $loggedInUser = new loggedInUser();
                        $loggedInUser->email = $userdetails["Email"];
                        $loggedInUser->user_id = $userdetails["User_ID"];
                        $loggedInUser->hash_pw = $userdetails["Password"];
                        $loggedInUser->display_username = $userdetails["Username"];
                        $loggedInUser->clean_username = $userdetails["Username_Clean"];
                        
                        //Update last sign in
                        $loggedInUser->updateLastSignIn();
        
                        $_SESSION["userCakeUser"] = $loggedInUser;
                        
                        //Redirect to user account page
                        header("Location: index.php");
                        die();
                    }
                }
            }
        }
    }
?>
        
        
        <?php
        if(!empty($_POST))
        {
        ?>
        <?php
        if(count($errors) > 0)
        {
        ?>
        <div id="errors">
        <?php errorBlock($errors); ?>
        </div>     
        <?php
        } }
        ?> 
        
            <div class="rundum"><h1>Login</h1>
                <form name="newUser" id="customForm" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
                <p>
                    <label>Benutzer:</label>
                    <input type="text" name="username" />
                </p>
                
                <p>
                     <label>Passwort:</label>
                     <input type="password" name="password" />
                </p>
                
                <p>
                    <label>&nbsp;</label>
                    <input type="submit" id="send" value="Login" class="submit" />
                </p>

                </form><br />
<p><a href="forgot-password.php">Password vergessen?</a></p>
                
            </div>
            
            <?php } ?>
 

Duddle

Posting-Frequenz: 14µHz

AW:
PHP:
 Probleme mit nem Redirector[/b]

Die Fehlermeldung bedeutet immer das gleiche: irgendwas wurde schon ausgegeben, das kann ein Leerzeichen (oder ein für dich nicht sichtbares Zeichen wg. falscher Kodierung) am Anfang der Datei sein, oder sonstige Ausgaben vom Script selbst. Also: lösch gezielt alles vor dem allerersten <?php am Anfang der Datei und probier es nochmal.
Ansonsten versuch dir den erzeugten HTML-Quelltext anzeigen zu lassen, wenn der Fehler auftritt und schau dir die ersten Zeichen an. In der Regel siehst du dann, was schon vor header() ausgegeben wurde.



Duddle
 

JPS

Nicht mehr ganz neu hier

AW:
PHP:
 Probleme mit nem Redirector[/b]

Ok, da steht das der Header bereits in Zeile 35 ... 
An der Stelle wird einfach nur die Navi included und in der Navi sind einfach auch nur if Abfragen die Sicherstellen was eingeloggede User und was normale User  sehen.
 

Sturmkraehe

Nicht mehr ganz neu hier

AW:
PHP:
 Probleme mit nem Redirector[/b]

ja, aber irgendeine ausgabe wird gmeacht  denn "header("Location: index.php");" muss als allererstes ausgegeben werden, es darf keine Ausgabe an HTML davor erfolgen

mehr dazu:
[URL="http://php.net/manual/de/function.header.php"]http://php.net/manual/de/function.header.php[/URL]

psoste doch mal ein bischen code ;) dann kann man vielleicht helfen
 
Zuletzt bearbeitet:

Chriss1987

me.drinkCoffee();

AW:
PHP:
 Probleme mit nem Redirector[/b]

Hi,,
wird die Navi an der Stelle schon angezeigt? Könntest du mal den Quelltext der Navi posten? Denn durch raten, was da nun passiert in deiner Navi, können wir dir nicht wirklich helfen...

Schöne Grüße aus dem Sauerland!
Chriss
 

JPS

Nicht mehr ganz neu hier

AW:
PHP:
 Probleme mit nem Redirector[/b]

Das ist die Index.php und die User.php steht ja oben.....
[PHP]
<?php 
    /*
        UserCake Version: 1.4
        http://usercake.com
        Developed by: Adam Davis
    */
    require_once("models/config.php");
    
?>
<!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=utf-8" />
<title></title>
<link href="inc/cave.css" media="all" rel="stylesheet" type="text/css" />
<!-- Add jQuery From the Google AJAX Libraries --> 
<script src="inc/jquery-1.2.1.min.js" type="text/javascript"></script>
<script src="inc/menu.js" type="text/javascript"></script>
<!--[if !IE 7]>
        <style type="text/css">
            #wrap {height:100%;display:table}
        </style>
    <![endif]-->

</head>

<body>
<div id="wrap">
    <div>
        <div id="logo"><div id="logoo"><img src="images/Fan-Logo.gif" width="150"  alt="Hammenser Borussen" /></div></div>
        <div id="head"><div id="header"><img src="images/head_1.jpg" width="980" height="180" /></div></div>
    </div>
    <div id="content">
        <div id="navi">
            <?php include("left_nav.php"); ?>
        </div>
        <div id="inhalt">
            <div id="con_o"></div>
            <div id="con">
                <div id="homeleft">Blah blah blah blah<br />
                Blah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blahBlah blah blah blah </div>
                <div id="homeright"><?php include("user.php"); ?></div>
            </div>
            <div id="con_u"></div>
        </div>
    </div>
</div>

<div id="footer"></div>

</body>
</html>
 

Chriss1987

me.drinkCoffee();

AW:
PHP:
 Probleme mit nem Redirector[/b]

Hi,

ja, du gibst doch ne ganze Menge vorher aus, das ganze HTML-Zeugs vorher ist ne Ausgabe...
Sobald etwas an den Browser geschickt wird (in deinem Fall schon die erste Zeile HTML), werden die Header gesendet und man kann sie nicht mehr verändern...

Du solltest deinen Programmablauf umstrukturieren...

Schöne Grüße aus dem Sauerland!
Chriss
 

JPS

Nicht mehr ganz neu hier

AW:
PHP:
 Probleme mit nem Redirector[/b]

Kann man das nicht umgehen?
Im grossen ganzen handelt es sich ja nur um einen Reload der index.php. Gibt es andere Möglichkkeiten?
 

Duddle

Posting-Frequenz: 14µHz

AW:
PHP:
 Probleme mit nem Redirector[/b]

[quote="JPS, post: 1787116"]Gibt es andere Möglichkkeiten?[/QUOTE]

Du könntest mit JavaScript umleiten. Aber das funktioniert nur, solange JavaScript aktiviert ist.


Duddle
 

JPS

Nicht mehr ganz neu hier

AW:
PHP:
 Probleme mit nem Redirector[/b]

Ohne JS macht eh das meiste keinen Sinn....;-) 
Also mal frech gesagt... who cares wenn jemand es abgeschaltet hat.
 

JPS

Nicht mehr ganz neu hier

AW:
PHP:
 Probleme mit nem Redirector[/b]

Wenn ich das ganze PHP Teil am Anfang setze und beide Anzeigemöglichkeiten eine Variable schreibe und diese dann an der Stelle ausgebe dürfte das Problem doch auch beseitig sein, oder?
 

Chriss1987

me.drinkCoffee();

AW:
PHP:
 Probleme mit nem Redirector[/b]

[quote="JPS, post: 1787116"]Im grossen ganzen handelt es sich ja nur um einen Reload der index.php. Gibt es andere Möglichkkeiten?[/QUOTE]

Den Headern ist es egal, ob du nur die index.php reloaden oder auf andere Seiten weiterleiten willst, gesendet ist gesendet... Entweder, wie Duddle schon sagte, die Möglichkeit per JS oder Programm umbauen (z.B. Prüfungen nach eingeloggtem User am Anfang machen)

Schöne Grüße aus dem Sauerland!
Chriss

Edit: schon wieder zu langsam... Ja, das dürfte gehen, also zuerst ales prüfen, dann umleiten oder anzeigen! ;)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben