Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Ausgeloggt sichtbar, eigeloggt nicht... (https://www.gegen-bilderklau.net/thread.php?threadid=163197)


Geschrieben von Steffi. am 12.10.2009 um 13:16:

  Ausgeloggt sichtbar, eigeloggt nicht...

Hallöle, ich mal wieder!
Also ich hab jetzt meinen Login bzw. Logout wunderbar zurecht gefummelt. Weitesgehend funktioniert auch alles wie ich das gerne hätte, aber eben nur weitesgehend.

Aaaalso: (geht um einen virt. Shop)
Wenn man ausgeloggt ist und auf die 'Inventargrafik' klickt, kommt im Main Frame eine Fehlermeldung á la: "Bitte erst einloggen." -> das funktioniert.
Wenn man sich dann einloggt, wird das 'Head Frame neu geladen (via JS) und man soll nun (wenn man auf Inventar klickt) zur persönlichen Inventarseite kommen (Wenn man zB. id1 hat, lautet der Link: ../Inventar_ID1.php). Mein Problem ist nun jedoch das man, sobald man eigeloggt ist, das Head Frame nicht mehr sehen kann .___. es ist dann einfach nur ne leere Seite, mehr nicht. ->funktioniert also nicht.
Ob das mit der 'Persönlichen Invntarlinks' dann funktioniert ist auch noch so eine weitere Frage, ich hoffe/denke jedoch schon.

Hier mal der Code der Head.php
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
<?php
    session_start();
    if(!isset($_SESSION["login"])) { // Wenn NICHT eingeloggt..
        include("Header.php");
        include("../Login/db.php");
        include("../Login/functions.inc.php");
        ?>

<!--- Seiteninhalt ---!>
<p align=left><a href="Inventar.php" target=main class="foto-link foto1"></a></p><br> <!--- Inventarlink ---!>
<center>
<table>
<tr>
<td width=120><center><a href=Startseite.php target=main class="foto-link2 foto2"></a></center></td> <!--- Startseitenlink ---!>
<td width=130><center><a href=Impressum.php target=main class="foto-link2 foto3"></a></center></td> <!--- Impressumlink ---!>
<td width=110><center><a href=../Login/login.php target=main class="foto-link2 foto4"></a></center></td> <!--- LogInlink ---!>
<td width=120></td>
</tr>
</table>
</center>


<!--- Footer ---!>
        <?php
        include("Footer.php");
    }
?>


<!--- Wenn eingeloggt ---!>
<?php
    session_start();
    if(isset($_SESSION["login"])) { // Wenn eingeloggt..
        include("Header.php");
        include("../Login/db.php");
        include("../Login/functions.inc.php");
            $name$_GET["name"];
            $abfrage "SELECT * FROM mitglieder WHERE id = '$id'";
            $ergebnis mysql_query($abfrage);
            while($row mysql_fetch_object($ergebnis))

{echo 

"<p align="left"><a href="Inventar_ID$row->id.php" target="main" class="foto-link foto1"></a></p><br> <!--- Inventarlink ---!>
<center>
<table>
<tr>
<td width="120"><center><a href="Startseite.php" target="main" class="foto-link2 foto2"></a></center></td>
<td width="130"><center><a href="Impressum.php" target="main" class="foto-link2 foto3"></a></center></td>
<td width="110"><center><a href="../Login/login.php" target="main" class="foto-link2 foto4"></a></center></td>
<td width="120"></td>
</tr>
</table>
</center>";
}
?>




        <?php


  
        include("Footer.php");
    }
?>


Weiß jemand Rat wieich die Headseite auf für eingeloggte wieder sichtbar bekomme? XD

wenn ich

php:
1:
while($row mysql_fetch_object($ergebnis))

rausnehme sehe ich zwar dann die seite, aber die ID fehlt dann leider... liegt es dann daran dass der ID Code Teil nicht funktioniert oder woran kann das dann liegen?

LG



Geschrieben von Steffi. am 12.10.2009 um 14:44:

 

Also mittlerweile fehlt mir nur die ID sozusagen.
Es soll, wenn man annimmt ich wäre ID 1, Inventar_ID1.php aufgerufen werden. Er fuft jedoch nur Inventar_ID.php auf.

php:
1:
$id$_GET["id"];


hab ich jetzt eingefügt wo du ein Kommentar zwischen hattest, ändert aber auch nichts irgendwie...

Hier nochmal der Code wie ich ihn derzeit nutze:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
<!--- Wenn eingeloggt ---!>
<?php
    session_start();
    if(isset($_SESSION["login"])) { // Wenn eingeloggt..
        include("Header.php");
        include("../Login/db.php");
        include("../Login/functions.inc.php");
            $id$_GET["id"];
            $name$_GET["name"];
            $abfrage "SELECT * FROM mitglieder WHERE id = '$id'";
            
            

{echo 

"<p align="left"><a href="Inventar_ID".$row->id.".php" target="main" class="foto-link foto1"></a></p><br> <!--- Inventarlink ---!>
<center>
<table>
<tr>
<td width="120"><center><a href="Startseite.php" target="main" class="foto-link2 foto2"></a></center></td>
<td width="130"><center><a href="Impressum.php" target="main" class="foto-link2 foto3"></a></center></td>
<td width="110"><center><a href="../Login/login.php" target="main" class="foto-link2 foto4"></a></center></td>
<td width="120"></td>
</tr>
</table>
</center>";
}
?>




        <?php


  
        include("Footer.php");
    }
?>



Geschrieben von Julia712 am 12.10.2009 um 14:54:

 

Hey,

deine Abfrage ist nicht vollständig, wenn ich das richtig gesehen habe fröhlich

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:


<!--- Wenn eingeloggt ---!>
<?php
    session_start();
    if(isset($_SESSION["login"])) { // Wenn eingeloggt..
        include("Header.php");
        include("../Login/db.php");
        include("../Login/functions.inc.php");
            $id$_GET["id"];
            $name$_GET["name"];
            $abfrage "SELECT * FROM mitglieder WHERE id = '$id'";
            $ergebnis mysql_query($abfrage);
            while($row mysql_fetch_object($ergebnis))
            
            

{echo 

"<p align="left"><a href="Inventar_ID".$row->id.".php" target="main" class="foto-link foto1"></a></p><br> <!--- Inventarlink ---!>
<center>
<table>
<tr>
<td width="120"><center><a href="Startseite.php" target="main" class="foto-link2 foto2"></a></center></td>
<td width="130"><center><a href="Impressum.php" target="main" class="foto-link2 foto3"></a></center></td>
<td width="110"><center><a href="../Login/login.php" target="main" class="foto-link2 foto4"></a></center></td>
<td width="120"></td>
</tr>
</table>
</center>";
}
?>




        <?php


  
        include("Footer.php");
    }



Edit: Wegen dem Übergeben wurde schon gesagt^^


Lg, Julia



Geschrieben von Steffi. am 12.10.2009 um 16:10:

 

Zitat:
Original von Julia712
Hey,

deine Abfrage ist nicht vollständig, wenn ich das richtig gesehen habe fröhlich

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:


<!--- Wenn eingeloggt ---!>
<?php
    session_start();
    if(isset($_SESSION["login"])) { // Wenn eingeloggt..
        include("Header.php");
        include("../Login/db.php");
        include("../Login/functions.inc.php");
            $id$_GET["id"];
            $name$_GET["name"];
            $abfrage "SELECT * FROM mitglieder WHERE id = '$id'";
            $ergebnis mysql_query($abfrage);
            while($row mysql_fetch_object($ergebnis))
            
            

{echo 

"<p align="left"><a href="Inventar_ID".$row->id.".php" target="main" class="foto-link foto1"></a></p><br> <!--- Inventarlink ---!>
<center>
<table>
<tr>
<td width="120"><center><a href="Startseite.php" target="main" class="foto-link2 foto2"></a></center></td>
<td width="130"><center><a href="Impressum.php" target="main" class="foto-link2 foto3"></a></center></td>
<td width="110"><center><a href="../Login/login.php" target="main" class="foto-link2 foto4"></a></center></td>
<td width="120"></td>
</tr>
</table>
</center>";
}
?>




        <?php


  
        include("Footer.php");
    }



Edit: Wegen dem Übergeben wurde schon gesagt^^


Lg, Julia


Also wenn ich die Abfrage vervollständige dann erhalte ich wieder eine leere Seite =/

Übergeben? Also wenn die ID dann irgendwo stehen müsste würde ich sagen nein denn sie steht nirgendo...



Geschrieben von Julia712 am 12.10.2009 um 16:18:

 

Hey,

du musst die Seite ja mit Seitenname.php?id=1 oder so aufrufen, damit etwas angezeigt wird.
Mit
php:
1:
$id$_GET["id"];
fragst du ja die Variable $id aus dem Link ab (in diesem Falle wäre das 1).

Anschließend rufst du aus der Datenbank den Eintragen au der Tabelle mitglieder ab, der die ID 1 hat und lässt diesen ausgeben.
Übergibst du im Link keine ID, wird der Eintragen ausgegeben, in der die id leer ist, wo dort also nichts steht.
Da es diesen Eintrag aber nicht gibt, bekommst du gar nichts angezeigt Augenzwinkern



Lg, Julia



Geschrieben von Steffi. am 12.10.2009 um 16:31:

 

mh

aber ich kann dort keine feste variable einsetzten. Eigentlich soll es so laufen. Der User loggt sich ein. Durch den Log In wird die Seite Head.php refresht. Sie überprüft ob man sich wirklich eingeloggt hat und soll auch überprüfen welche id (also welcher User) sich eingeloggt hat. und je nach ID soll der Link ja dann verschieden sein. Loggt sich User mit ID ein soll der Link:
Inventar_ID1.php lauten
Loggt sich der User mit ID 2 ein soll der Link in der Head.php datei online als
Inventar_ID2.php ausgegeben werden.

Deshalb ja: href=\"Inventar_ID".$row->id.".php\"
$row->id soll die id aus der mitglieder tabelle entnehmen und in den Link packen.

Also so war das zumindest Gedacht Augenzwinkern

Seitenname.php?id=1 kann dich doch eigentlich nicht aufrufen denn die gibt es ja nicht Augenzwinkern Jeder User hat eine Datei mit dem Namen Inventar_ID(id).php
wobei (id) seine jeweilige ID ist.

Ich müsste dann dafür doch eine Tabelle in PHP My Admin anlegen mit dem Namen inventar zB und dann eine 'Spalte' wo quasi dann später alle gekauften sachen reineditiert werden oder nicht? Das würde denk ich auch noch gehen...

Aber selsbt wenn ich den Link umändere (Seitenname.php?id=1) bekomme ich nur eine leere seite angezeigt. Ebenso wie wenn ich in den anderen Link eine 1 einsetze.

... *grrrr* manno^^



Geschrieben von Julia712 am 12.10.2009 um 17:09:

 

Jaa, soweit ist mir das schon klar, aber schau mal:
Du fragst das hier ab:
php:
1:
SELECT FROM mitglieder WHERE id '$id'

und belegst vorher die variable $id mit dem Wert aus der Get-Abfrage. Also musst du das ganze über den Link übergeben -und zwar als Variable.

Ansonsten müsstest du ja einfach nur in die Inventar_ID1.php mit der festen ID 1 arbeiten, in Inventar_ID2.php mit der festen ID 2 usw.
Dann müsstest du nach dem Login ja einfach die ID in der Session speichern (was steht denn jetzt in $_SESSION["login"] drinne?) und dann dementsprechend weiterleiten...


Gibt es denn in der Tabelle mitglieder jemanden mit der ID 1?
Sonst wüsste ich auch grade nicht, woran es liegt, dass du auch mit dem Aufruf mit der Variable im link nichts angezeigt bekommst +mhmm+



Lg, Julia



Geschrieben von Steffi. am 12.10.2009 um 18:06:

 

Jetzt bin ich als gelegenheits PHÜler überfordert großes Grinsen
Aalso ich versuchs mal.

Meinst du mit 'was steht in ...' das hier vll.?:
php:
1:
$_SESSION["login"] = $row->id// Loggt einen ein!

(aus der login.php)

und ja es gibt jemanden in der tabelle Mitglieder mit der ID 1 ... mich! XD

Danke erstmal für deine Hilfe, vll. bekommen wir das ja doch noch hin... fröhlich



Geschrieben von Julia712 am 12.10.2009 um 18:15:

 

Jaa, genau das meinte ich smile

Dann setz doch $id = $_SESSION["login"]; anstatt $id= $_GET["id"]; Augenzwinkern
Dann hast du es sofort mit der richtigen Variable belegt und brauchst nichts übergeben.

Und in der Datenbank ist die Tabelle mitglieder klein geschrieben und id ist auch klein geschrieben?

Achso, was mir noch eingefallen ist: Du bist dir aber sicher, dass in der session-variable etwas drin steht und nicht in der login.php was drin steht?
Wenn die nämlich leer ist, bekommst du ja auch nichts angezeigt, durch die Abfrage smile



Hoff ich doch mal, dass wir das noch hinbekommen Freude
(Wahrscheinlich wieder ein ganz blöder Fehler, den wir alle übersehen großes Grinsen )


Lg, Julia



Geschrieben von Steffi. am 12.10.2009 um 18:45:

 

Jeah! Es Klappt!!!
Tausend Dank :-*



Geschrieben von Julia712 am 12.10.2009 um 19:35:

 

Uff, das freut mich jetzt aber smile


Forensoftware: Burning Board, entwickelt von WoltLab GmbH