Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Userspezifischer Link setzen

Mitglied: escape

escape (Level 1) - Jetzt verbinden

26.04.2006, aktualisiert 04.05.2006, 5028 Aufrufe, 14 Kommentare

Hallo erstmal
Komme gleich zum Kern des Problems:

Ich habe ein PHP-Script für ein Login mit Benutzer- und Passwortabfrage das mit Cookies arbeitet. Geht auch alles einwandfrei.
Die Page ist so gemacht, dass nach dem Login jeder user eine eigene individuelle Startseite erhält (das Loginscript leitet den User auf die entsprechende Seite weiter). Alle anderen Seiten, die dann von dort aus verlinkt sind, sind für alle user gleich.

Nun mein Problem:
Wie kann ich einen "Home"-Button setzen, so dass jeder User jeweils wieder auf seine EIGENE,individuelle Startseite zurückkehren kann?

Für eure Hilfe bin ich jetzt schon sehr dankbar.

es grüsst
escape

ps: eventuell hilft das Login-Script weiter.

01.
var successpage = "leer.php"; // The page users go to after login, if they have no personal page. 
02.
var loginpage = "/index.php"; //Change this to the page the login panel is on. 
03.
 
04.
var users = new Array(); 
05.
// Usernames, Passwords & User Pages 
06.
users[0] = new Array("user1","passw1","seite1.php"); 
07.
users[1] = new Array("user2","passw2","seite2.php"); 
08.
users[2] = new Array("user3","passw2","seite3.php"); 
09.
 
10.
// Login Functions 
11.
function login(username,password){ 
12.
var member = null; 
13.
var loggedin = 0; 
14.
var members = users.length; 
15.
for(x=0;x<members && !loggedin; x++){ 
16.
if((username==users[x][0])&&(password==users[x][1])){ 
17.
loggedin = 1; 
18.
member = x; 
19.
break; // User validated, terminate the for loop. 
20.
21.
}  
22.
 
23.
if(loggedin==1){ 
24.
if(users[member][2] != "") { 
25.
successpage = users[member][2]; 
26.
27.
setCookie("login",1); 
28.
if (top.location.href != location.href){ 
29.
location.href = successpage;  
30.
}else
31.
top.location.href = successpage;  
32.
33.
}else
34.
alert('Zugang verweigert, Username oder Passwort falsch!'); 
35.
}  
36.
37.
 
38.
function logout() { 
39.
deleteCookie("login"); 
40.
if (top.location.href != location.href){ 
41.
location.href = loginpage;  
42.
}else
43.
top.location.href = loginpage;  
44.
45.
46.
 
47.
// Cookie Handler 
48.
 
49.
var ckTemp = document.cookie; 
50.
 
51.
function setCookie(name, value) {  
52.
if (value != null && value != ""
53.
document.cookie=name + "=" + escape(value) + ";"
54.
ckTemp = document.cookie; 
55.
56.
 
57.
function deleteCookie(name) { 
58.
if (getCookie(name)) { 
59.
document.cookie = name + "="
60.
"; expires=Thu, 01-Jan-70 00:00:01 GMT"
61.
62.
63.
 
64.
function getCookie(name) {  
65.
var index = ckTemp.indexOf(name + "="); 
66.
if(index == -1) return null; 
67.
index = ckTemp.indexOf("=", index) + 1; 
68.
var endstr = ckTemp.indexOf(";", index); 
69.
if (endstr == -1) endstr = ckTemp.length; 
70.
return unescape(ckTemp.substring(index, endstr)); 
71.
72.
 
73.
function checkCookie() { 
74.
var temp = getCookie("login"); 
75.
if(!temp==1) { 
76.
alert('Zugriff verweigert, bitte logen Sie sich ein!');  
77.
if(top.location.href != location.href){ 
78.
location.href = loginpage;  
79.
}else
80.
top.location.href = loginpage;  
81.
82.
83.
84.
 
85.
//Login Panel 
86.
 
87.
function BuildPanel() { 
88.
document.write('<form name="logon"><table align="center" border="0"><tr><td align="right">'); 
89.
document.write('<small><font face="Verdana">Username:</font></small></td>'); 
90.
document.write('<td><small><font face="Verdana"><input type="text" name="username" size="20"></font></small></td></tr>'); 
91.
document.write('<tr><td align="center"><small><font face="Verdana">Passwort:</font></small></td>'); 
92.
document.write('<td><small><font face="Verdana"><input type="password" name="password" size="20"></font></small></td></tr>'); 
93.
if(imgSubmit == ""){ 
94.
document.write('<tr><td align="right" colspan="2"><p><input type="button" value="Logon" name="Logon" onclick="login(username.value,password.value)">');  
95.
} else
96.
document.write('<tr><td align="center" colspan="2"><p><input type="image" src="'+imgSubmit+'" name="Logon" onclick="login(username.value,password.value)">'); 
97.
98.
if(imgReset == ""){ 
99.
document.write('<input type="reset" value="Reset" name="Reset">'); 
100.
} else
101.
document.write('<input type="image" src="'+imgReset+'" name="Reset" onclick="logon.reset();">'); 
102.
103.
document.write('</p></td></tr></table></form>'); 
104.
}


so das wars, hoffend auf Hilfe!
Mitglied: pi314
27.04.2006 um 15:14 Uhr
Hi,

wie wäre es mit einer Session, die du bei der Anmeldung startest und dann in einer Session-Variable den Usernamen ablegst.

Dann kannst du bei jeder Seite prüfen (per include oder so), ob eine Session existiert und dann je nach Username einen eigenen Link setzen...

so long,
pi
Bitte warten ..
Mitglied: escape
27.04.2006 um 18:58 Uhr
hi
Danke für die Antwort, dachte ich mir fasst, dass es mit einer Session gehen muss (mit viel googeln rausgefunden). Nur leider habe ich keinen Plan wie und wo ich es machen kann.
Bin leider ein totaler Anfänger.
Könntest du mir eventuell helfen?
Bitte warten ..
Mitglied: lobotomie
28.04.2006 um 13:11 Uhr
Alternativ hast Du auch die Möglichkeit die Variablen anstatt in der Session, im Cookie zu speichern.

Kleines Beispiel

<snipp>

setCookie("login",1);
//setze Userhomepahe in Cookie
setCookie("homepage", successpage);

if (top.location.href != location.href){
location.href = successpage;
}else{
top.location.href = successpage;
}

</snipp>

Den Wert kannst Du dann wieder aus dem Cookie holen, wenn Du ihn brauchst.

Hoffe es ist verständlich

Lobo
Bitte warten ..
Mitglied: pi314
28.04.2006 um 16:24 Uhr
Hi,

natürlich...

Also, eine gute Beschreibung einer Session findest du hier:
http://www.tutorials.de/forum/php/2046-suche-tuts-zu-php-und-session.ht ...

Nun, ein kleines Code-Besipiel:
01.
<?php 
02.
   //Bei deinem ersten Aufruf startest du eine Session und speicherst den Namen ab 
03.
   session_start();  //Die Session wird gestartet 
04.
   $_SESSION[ 'username' ] = 'dummyUser';  //Namen setzen 
05.
 ?>
Um den Namen auf einer anderen Seite abzufragen:
01.
session_start(); 
02.
if( $_SESSION[ 'username' ] == 'dummyUser' ) { 
03.
   //hier Code für den Userspezifischen-Link.. 
04.
}
Ich hoffe, ich konnte dir ein bisschen weiterhelfen...
Wenn weitere Fragen sind, einfach posten.

pi
Bitte warten ..
Mitglied: escape
28.04.2006 um 16:51 Uhr
Um den Namen auf einer anderen Seite
abzufragen:
01.
session_start(); 
02.
> if( $_SESSION[ 'username' ] == 'dummyUser' ) 
03.
> { 
04.
>    //hier Code für den 
05.
> Userspezifischen-Link.. 
06.
> } 
07.
> 

Danke dir vielmals für deine Antwort, konnte es nachvollziehen.

Jedoch habe ich noch eine Frage, was muss ich noch zusätzlich eintragen, denn ich habe ja etwa 4 User, die sobald sie ihre Startsiete verlassen alle auf die selben Seiten weitersurfen und eben ich brauche ja dann ein "home" button.
Deine Abfrage bezieht sich ja immer nur auf den einen User.. Ich muss aber den Code in allen unterseiten eintragen und dort muss ja immer überprüft werden wer gerade ohnlie ist.

Wie sieht dann noch bitte der Eintrag für
//hier Code für den
Userspezifischen-Link..
aus.

Ich hoffe ich nerve nicht, aber ich denke es sind sicherlich die letzten Fragen.
Danke sehr
Bitte warten ..
Mitglied: escape
28.04.2006 um 16:53 Uhr
Den Wert kannst Du dann wieder aus dem
Cookie holen, wenn Du ihn brauchst.

Als erstes möchte ich mich auch bei dir für deine Antwort bedanken.

Kannst du mit bitte erklären wie der Code lautet damit ich den Cookie wieder auslesen kann. Bzw. Wie sehen dann der Link für den "home-Button" aus.

Merci vielmols
Bitte warten ..
Mitglied: escape
28.04.2006 um 19:18 Uhr
so ich habe dies gemacht:
nachdem ich den obigen Link zur Session erklärung gelesen habe

auf der userindividuellen Seite das eingebaut:

01.
 
02.
   //Bei deinem ersten Aufruf startest du eine Session und speicherst den Namen ab 
03.
   session_start();  //Die Session wird gestartet 
04.
   $_SESSION[ 'username' ] = 'User1';  //Namen setzen 
05.
   session_register("username"); //Ist das richtig so um zu speichern? 
06.
 
07.
 
auf den allgemeinen Seite für den Home Link dies (erstamls für 2User)

01.
session_start(); 
02.
if(!session_is_registered('username') == "User1")  
03.
04.
echo "<a href='../userseite1.php'>Startseite</a>"; //hier Code für den Userspezifischen-Link.. 
05.
06.
else 
07.
08.
echo "<a href='../userseite2.php'>Startseite</a>"; //hier Code für den Userspezifischen-Link..    
09.
10.
 
geht aber immer noch nicht, denn es erhalten beide immer den gleichen Link zur Home.

Was ist hier echt noch falsch
Bitte warten ..
Mitglied: pi314
29.04.2006 um 15:56 Uhr
hi,

hab einen Beitrag zum Thema Cookie geschrieben. Sollte eigentlich ein Tuorial werden, ist es aus irgendwelchen Gründen aber nicht , deswegen hier kein Link.

Schau doch mal unter Entwicklung>PHP nach...

so long,
pi
Bitte warten ..
Mitglied: escape
29.04.2006 um 16:09 Uhr
hallo @pi314

das mit dem Cookie ist denke ich eh gestorben... mit gefällt die erste Varieante von dir viel besser.
Aber wie ich in meinem letzten Beitrag geschrieben habe, komme ich nicht weiter, habe mir den Link den du gepostet hast durchgelesen und eben zum obigen ergebis gekommen, aber es ist immer noch ein Fehler drin..

Kannst du mit bitte helfen. Danke


<<so ich habe dies gemacht:
<<nachdem ich den obigen Link zur Session erklärung gelesen habe

<<auf der userindividuellen Seite das eingebaut:


01.
 
02.
 
03.
   //Bei deinem ersten Aufruf startest du eine Session und speicherst den Namen ab 
04.
   session_start();  //Die Session wird gestartet 
05.
   $_SESSION[ 'username' ] = 'User1';  //Namen setzen 
06.
   session_register("username"); //Ist das richtig so um zu speichern? 
07.
 
<<auf den allgemeinen Seite für den Home Link dies (erstamls für 2User)


01.
 
02.
session_start(); 
03.
if(!session_is_registered('username') == "User1")  
04.
05.
echo "<a href='../userseite1.php'>Startseite</a>"; //hier Code für den Userspezifischen-Link.. 
06.
07.
else 
08.
09.
echo "<a href='../userseite2.php'>Startseite</a>"; //hier Code für den Userspezifischen-Link..    
10.
11.
 
<<geht aber immer noch nicht, denn es erhalten beide immer den gleichen Link zur Home.

<<Was ist hier echt noch falsch
Bitte warten ..
Mitglied: lobotomie
02.05.2006 um 15:07 Uhr
Den Code für das Auslesen des Cookie hast Du bereits; daher bin ich nicht näher drauf eingegangen....

--> function getCookie(name)

Diese liefert Dir den Inhalt des Cookie zurück und da der Cookie clientseitig gespeichert wird, hast Du auch keine Probleme mit der abgrenzung der einzelnen User.

Allerdings muss ich pi Recht geben, die Variante mit den Sessions ist die schönere und sicher auch in grösseren Applikationen die leistungsfähigere.


Lobo
Bitte warten ..
Mitglied: pi314
02.05.2006 um 18:45 Uhr
Hi,

du brauchst das session_register nicht.

Schau dir mal folgenden Code an:

index.php
01.
<?php 
02.
	session_start(); 
03.
	$_SESSION[ 'username' ] = 'dummy'; 
04.
	echo( '<a href="test.php">weiter...</a>' ); 
05.
 ?>
test.php
01.
<?php 
02.
	session_start(); 
03.
	echo( 'Username mit Session ausgelesen: '.$_SESSION['username'] ); 
04.
 ?>
Du musst einfach einen Wert in eine Variable speichern (mit $_SESSION[ 'Variablenname' ] = 'irgendein Wert von der Variable')
Dann kannst du ihn auch einfach so wieder auslesen.
Ist die Variable nicht gesetzt, steht auch nichts drin.

greetz,
pi
Bitte warten ..
Mitglied: escape
03.05.2006 um 22:07 Uhr
Salü
Ich bedanke mich bei allen für die Hilfe. Alles geht wie ich es wollte..
Daher zeige ich hier mal schnell wie ich es gelöst habe:

Auf der Seite die Jeder User für sich alleine hat, wird eine Session gestartet

01.
 
02.
 
03.
session_start();  
04.
$_SESSION['User1'] = 'User1'; 
05.
 
06.
 

Dann wird in allen anderen Seiten dies eingegeben:

01.
 
02.
session_start(); 
03.
if($_SESSION['User1']) echo '<a href="seite1.php?' . SID . '"></a>'; 
04.
elseif ($_SESSION['User2']) echo '<a href="seite2.php?' . SID . '"></a>'; 
05.
elseif ($_SESSION['User3']) echo '<a href="seite3.php?' . SID . '"></a>'; 
06.
 
natürlich soviel wie man User hat, der Name User1 usw. kann geändert werden

Die Links sehen dann bei mir so aus, damit wird immer die Session übergeben:

01.
 
02.
 
03.
echo '<a href="eineseite.php?' . SID . '"></a>';  
04.
 
05.
 
Bitte warten ..
Mitglied: pi314
04.05.2006 um 11:42 Uhr
Freut mich, dass es geht!

Noch ein kleiner Tip:
Es klingt so, als hättest du in jede der Seiten deinen if...elseif...elseif...-Code reinkopiert.

Einfacher und besser zu warten (falls mal ein User hinzukommt, müsstest du ja sämtliche Seiten ändern) ist es, deine session_start...if...elseif...elsif...-Code in eine Datei zu schreiben (z.B. userCheck.php) und diese dann in jede der Seiten, die es benötigt, per include einzufügen.
Somit musst du nur diese eine Datei ändern, falls sich mal was tut

Beispiel:
01.
//userCheck.php 
02.
session_start(); 
03.
if($_SESSION['User1']) echo '<a href="seite1.php?' . SID . '"></a>'; 
04.
elseif ($_SESSION['User2']) echo '<a href="seite2.php?' . SID . '"></a>'; 
05.
elseif ($_SESSION['User3']) echo '<a href="seite3.php?' . SID . '"></a>';
01.
//andere Seite 
02.
include( "standards/userCheck.php" ) //je nach Pfadstrukutr halt... 
03.
...weiterer Code
Bitte warten ..
Mitglied: escape
04.05.2006 um 12:05 Uhr


Danke für den Tipp, manchmal sieht man vor lauter Bäumen den Wald nicht... ich kenne diesen Include Befehl, wäre aber nie auf die Idee gekommen in so zu verwenden...
Echt geil, merci nochmals!

Gruss
escape
Bitte warten ..
Ähnliche Inhalte
JavaScript

Automatisch für Links das Title-Attribut setzen

gelöst Frage von d4shoerncheNJavaScript6 Kommentare

Wünsche Euch einen schönen und sonnigen Tag, hoffe bei Euch ist das Wetter auch so wie hier in Hannover? ...

Windows Server

Userspezifische Einstellungen in RDP Sitzung

Frage von ewild13Windows Server3 Kommentare

Hallo, habe ein kleines Problem und sehe wahrscheinlich vor lauter Baeume den Wald nicht. Benutze einen Virtuellen Server mit ...

VB for Applications

Excel VBA Link hinzufügen funktioniert nur, wenn ich im Code einen Haltepunkt setze

gelöst Frage von YotYotVB for Applications4 Kommentare

Moin! Ich habe in Excel 2010 eine Tabelle mit rund 1200 Zeilen (dynamisch), wo in einer Spalte automatisch Hyperlinks ...

Notebook & Zubehör

Netzwerkkarte hat keinen Link

Frage von Windows10GegnerNotebook & Zubehör10 Kommentare

Hallo, ich habe derzeit an meinem ZBook 15 keine Verbindung über die Ethernet Buchse. Die Buchse hat bis vor ...

Neue Wissensbeiträge
iOS
IOS 11.2.6 verfügbar
Information von sabines vor 1 StundeiOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 16 StundenSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 1 TagErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server38 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...