Jamaika
Hallöchen,
Ich würde gerne jeden Nutzer auf eine individuelle Seite weiterleiten, nachdem er sich eingeloggt hat.
Also Nutzer A wird auf die Seite A weitergeleitet.
Nutzer B auf Seite B, usw.
Ist das möglich?? Und wenn ja, wie??
Trotzdem sollen aber alle Nutzer (A, B, C,...) die Seiten X, Y, Z sehen dürfen.
Ich hab schon überall geschaut, aber noch nichts brauchbares gefunden.
Den Login habe ich nach diesem Tut erstellt (minimal verändert) und der funktioniert auch ganz prima.
Klick
Ich hoffe, mein Problem ist klar geworden und ihr könnt mir irgendwie helfen.
Jamaika
@ Black Tear
Hab mir das jetzt so gedacht, dass man sich einloggt und dann da nicht nur steht "Hallo Du" sondern auch ein Link, wo jeder dann sein individuelles Profil hat. (später vllt. auch noch seine Pferde sieht & direkt pflegen kann)
@ fabbily
Hab damit jetzt schonmal etwas rumprobiert.. Aber irgendwie klappt es noch nicht so ganz...
Hier mal der Code von der Seite auf die man weitergeleitet wird wenn man sich erfolgreich eingeloggt hat (intern.php)...:
Fehler in Zeile 25 sagt er mir immer...
code: |
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:
|
<?php
include ("checkuser.php");
?>
<html>
<head>
<title>[Braeside Stables]</title>
<link rel="stylesheet" type="text/css" href="look.css">
</head>
<body>
<span class="text">
Herzlich Willkommen <b><?php echo $_SESSION["user_nickname"]; ?></b>!<br><br>
<a href="logout.php"><img src="../Grafiken/logout.bmp" border="0"></a>
<?php
// Hiermit wird der Wert geholt, der über die URL übergeben wurde. Dieser wird nun für die Abfrage genutzt.
// Somit werden nur genau die Daten abgefragt, die diese ID haben
$id = "$_GET[id]";
$Ergebnis = mysql_query( "SELECT * FROM benutzerdaten where ID='$id'" );
if (@mysql_num_rows($Ergebnis) == 0) {
echo "Dieses Pferd existiert nicht!";
}
else {
$Data = mysql_fetch_array( $Ergebnis );
//Anzeige der Links (Wenn du den Chara auf mehrere Seiten verteilst
//Hier die Angabe der Daten vom Pferd. Es kann wieder HTML verwendet werden ganz normal eben (; Nur an der Stelle wo die Daten sein sollen schreibt ihr $Data[Spaltenname] hin
echo "<a href="Pferd.php?id=$id">Dein Profil</a>
";
}
?>
</body>
</html>
|
|
Jamaika
Mhmm... Funktioniert irgendwie nicht...
Hier mal die Fehlermeldungen
Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /users/braeside-stables/www/filemanager/Gestuet/intern.php on line 25
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /users/braeside-stables/www/filemanager/Gestuet/intern.php on line 25
Dieses Pferd existiert nicht!
Und wenn ich da jetzt aber in der Datei als ID = 1 mache, dann ist es ja immer 1 und nicht beim Nutzer 2 die 2.. . oder ?
Jamaika
Ahh! Gut!! Dachte der greift immernoch auf die db zu, weil er das ja im login.php schon tut. Aber jetzt gehts.
Also wenn ich jetzt id=1 mache, dann gibt er auch den Link aus.
Nur was macht der User mit der id 2 jetzt...? weil das stimmt ja dann nicht mehr...
Ach und bei dem Link muss ich jetzt bestimmt auch die id = 1 machen oder..?
Da stellt sich gleich noch ne Frage; das ist ja bei dem Steckbrief eine php-Datei wo einfach die Daten immer ausgelesen werden.. Ich hätte es aber lieber in einer einfachen .htm-Datei oder geht das nicht?
Jamaika
Mhmm... Es will einfach nicht...
Also ich bin nicht so der MySQL-Profi, aber wäre es möglich, in der Datenbank ein drittes Feld anzulegen (z.B. Profil) und dann jedem Nutzer einen Pfad zu seinem Profil darin speichert. Weiß halt nicht ob man die ganz normal (bsp. "../Nutzer/index.html" o.ä.) dort angeben kann und dann nachher auch wieder ausgeben kann, wie mit dem Namen?
code: |
1:
|
Herzlich Willkommen <b><?php echo $_SESSION["user_nickname"]; ?></b>! |
|
Remember
Habe in etwa das gleiche Problem. Ich möchte jedem Mitglied seine Turnierpferde anzeigen lassen. Aber irgendwie ... versteh ich leider nicht, was ihr gerade gesagt habt (bin leider noch nicht so gut in PHP und dem Zeug

)
Zitat: |
Die ID muss natürlich variabel übergeben werden.
Daher schreib wieder "WHERE ID = '$id'" hin, füll die Variable "$id" aber.
Also lass dir die Daten des Users beim Login ausgeben "SELECT * FROM mitglieder WHERE name = '$name' AND passwort = '$passwort'"; und speicher die ID des Mitglieds in der Sessionvariable.
Dann brauchst du später, da wo jetzt "WHERE ID = '$id'" steht, nur noch schrieben "WHERE ID = '$deineSessionVariable'.
Edit: Die Datei muss natürlich eine PHP Datei bleiben, weil der Code nicht geparst wird, wenn es eine .htm oder .html Endung hat. |
Wie kann ich etwas in der Sessionvariablen speichern? (wahrscheinlich sau dumme Frage, ich weiß

)
Remember
Ohgott. Das geht mir grad alles viel zu hoch. xD
Hilfe Hilfe ich bin ein Fisch. (Frag mich nich, wie ich da grad draufkomm

)
Ich habe:
code: |
1:
|
$Ergebnis = mysql_query("SELECT * FROM pferd WHERE Tunierreiter = !''"); |
|
und möchte anstatt der Ausgabe von allen Pferden, die einen Turnierreiter haben, eine Ausgabe von den Turnierpferden des angemeldeten Users. Wenn ich das jetzt richtig verstanden habe, müsste ich dann sagen:
code: |
1:
2:
3:
4:
5:
|
<?php
$_SESSION['name'] = "$username";
blaaaa ...
$Ergebnis = mysql_query("SELECT * FROM pferd WHERE Tunierreiter = '$username'");?> |
|
?
e./
Okay, nein. Anscheinend nicht.
Ich bin überfordert. Hilfe.
callous.
In dem Fall kannst du die Session-Variable weglassen. Hast du ja schließlich schon oben stehn, wenns im Internbereich ist
Remember
Es will absolut nicht funktionieren -.- Schrecklcihes Teil. Wie ich PHP hasse, weil ichs nich richtig kann
Vielleicht siehst du ja auf den ersten Blick gleich irgendwas. *hoffnungsvoll schau*

Und weil ich keine Ahnung habe, post ich einfach mal das ganze Teil :S ^^ Hoffe, dass das nicht irgendwas noch mit einer andren Datei zu tun hat (?).
meinepferde.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:
|
<?php
include("checkuser.php");
?>
<html>
<head>
<title>SHAKESPEAR</title>
<link rel=stylesheet href=styli.css type=text/css>
</head>
<body><h2>Deine Tunierpferde</h2>
<?php
// Verbindung zur Datenbank
include("datenbank.php");
// Hier die Abfrage übersetzt: RUFE * (alle Spalten) VON der Tabelle Pferd auf WO in der Spalte Besitzer nichts steht.
$Ergebnis = mysql_query("SELECT * FROM pferd WHERE Tunierreiter = '$name'");
// Wenn das Ergebnis 0 ist gib aus
if (@mysql_num_rows($Ergebnis) == 0) {
echo "Für dich sind keine Tunierpferde eingetragen.";
}
else {
// Sonst zeige an ..
while($Data = mysql_fetch_array($Ergebnis)) {
// Der Name wird ausgegeben .. die HTML Elemente sind frei anpassbar- Vor " muss aber immer ein \.
// Der Steckbriefname lautet Pferd. Diesem wird jetzt die ID des Pferdes angehängt, damit die Datei nachher weiß, welche Daten sie abfragen muss.
// Ihr könnt die ganzen anderen Infos auch angeben .. sprich $Data[Jahrgang] oder $Data[Geschlecht]
echo "<h3><a href="pferd.php?id=$Data[ID]">$Data[Name]</a></h3>
<a href="pferd.php?id=$Data[ID]"> <img src='pferdebilder/$Data[ID]/vorschaubild.jpg' style="height:150px; float:right;" class="border;"></a>
<table>
<tr><td class="hengst"><b>von</b></td> <td>$Data[Vater]</td></tr>
<tr><td class="hengst"><b>a. d.</b></td> <td>$Data[Mutter]</td></tr></table><br>
<table>
<tr><td class="hengst"><b>Rasse</b></td> <td>$Data[Rasse]</td> <td class="hengst"><b>Alter</b></td> <td>$Data[Alter] Jahre</td></tr>
<tr><td class="hengst"><b>Fellfarbe</b></td> <td>$Data[Fellfarbe]</td> <td class="hengst"><b>Stockmaß</b></td> <td>$Data[Stockmaß]</td></tr>
<tr><td class="hengst"><b>Reitart</b></td> <td>$Data[Reitart]</td> <td class="hengst"><b>Schwerpunkt</b></td> <td>$Data[Schwerpunkt]</td></tr>
<tr><td class="hengst"><b>LGS</b></td> <td>$Data[Lebendgewinnsumme]</td></tr>
</table><br><br>
</div>";
}
}
?>
</body>
</html> |
|
Oli
Hi,
wo kommt denn $name überhaupt her? Ist das irgendwo definiert? Wenn nicht beinhaltet es natürlich auch nicht den Namen...
LG
Remember
Ich dachte, dass das in der checkuser.php da drin ist.
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
<?php
session_start();
if(!isset($_SESSION["name"]))
{
echo "Diese Seite ist nur für Mitglieder verfügbar.<br>Bitte <a href="login.php">einloggen</a>!.";
exit;
}
?> |
|
Weil da steht doch dieses Session[name].
Und das dachte ich ... Ach, es macht mich verrückt.
Ich blick da irgedndwie gar nicht mehr durch
Remember
nää, die heißt definitiv "name".
angehängt mal alles, was im entferntesten (meiner meinung nach) damit zu tun haben könnte x(