Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem bei Memberbereich [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem bei Memberbereich


 
quixxz
26-04-2002, 20:45 
 
Hallo,


wer kann mir weiterhelfen?

Habe gerade mit Hilfe des Tutorials "Login/Memberbereich" eine Loginseite erstellt!

Problem:

Beim Logout zeigt der Browser diese Meldung:

Parse error: parse error in logout.php on line 3


Das Script dazu sieht so aus:

<?php
session_start();
Session da ?
session_destroy();
header("Location:login.htm");
?>


was mache ich falsch?


Gruß

Quixxz

 
blume
26-04-2002, 20:55 
 
ich kenne mich mit sessions ja nicht wirklich aus aber

Session da ?


ist das richtig so ??

müsste da nicht ein _ rein oders so wenns diese funktion überhaubt giebt ....

gruss blume

 
Nezzar
26-04-2002, 20:55 
 
Soll das 'Session da?' für irgendein Stück Code stehen oder steht das so in den sourcen? Wenn ja, auskommentieren:
//session da?

 
quixxz
26-04-2002, 21:23 
 
Hey Danke!!!!

Das wars!!! Jetzt läufts richtig!


Noch eine kleine Frage, wenn sich der User eingeloggt hat, dann befindet er sich ja auf der im Skript verwiesenen Seite. Wie kann ich von dort weitere Links setzen, so daß diese nicht über direkt Eingabe in die Locationzeile aufrufbar sind?

Habe mein Login in nach diesem Tut gebaut:
http://www.php-resource.de/tutorials.php?show=Memberbereich_p3.php

dadurch hat man doch nur eine geschützte Seite.

Gruß

Quixxz

 
blume
26-04-2002, 21:34 
 
ich hab das script jetzt nicht angeschaut aber du kanst die wichtigen daten die das schript vordert so wie zbsp. username, passwort .. in variabeln packen und mit der url weitergeben ;-)))


$user = "testi";
$pass = "dasveratichnicht";

<a href=http://www.hilfedasisteintest.com/index.php?pass=$pass &user=$user > link </a>

ich hoffe das hilft dir ein wenich

gruss blume

 
FloFri
26-04-2002, 21:37 
 
Füg einfach ganz oben auf jeder der Seiten folgendes ein:

<?php
session_start();

if (!session_is_registered('username'))
{
die ("Sorry, aber sie haben sich wohl nicht eigeloggt, oder ?");
}

?>

Eventuel 'username' ersetzen!

 
quixxz
26-04-2002, 22:12 
 
okay Danke,

werds morgen früh probieren!

mal sehen obs klappt!

Danke vorab!

Gruß

Quixxz

 
quixxz
27-04-2002, 09:35 
 
Guten Morgen!

Danke FloFri,

auch das hat geklappt! Danke!!!

Sorry, habe noch mal eine Frage:

Wen der User sich einloggen will und gibt das falsch passowrt oder Benutzernamen ein, dann werden durch das Skript eine definierte Fehlermeldung wie hier bsp:

if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");

auf einer neuen Seite ausgegeben.


Wie ist es möglich, das bei falscher Eingabe einfach ein Link auf z.B die Ursprungsseite ausgeführt wird!



Gruß Quixxz

 
Wotan
27-04-2002, 10:14 
 
if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !<br><a href='dieseite.php' target='_self'>Loginseite</a>");
}

 
quixxz
27-04-2002, 13:03 
 
@Wotan

Thanx! Funktioniert!


Gruß

Quixxz

 
quixxz
27-04-2002, 13:16 
 
Kann man die Passwörter auch verschlüsselt in der Datenbank ablegen, so dass später der Abgleich funktioniert?

Quixxz

 
Wotan
27-04-2002, 13:28 
 
Such mal hier im Forum nach "MD5() (www.php-resource.de/search.php?s=&action=showresults&searchid=7162&sortby=lastpost&sortorder=descending)"

 
quixxz
28-04-2002, 03:38 
 
hmm...

wenn ich jetzt ein passwort verschlüsselt in die db speichere und der user später beim login sein passwort eingibt, wie funktioniert da der abgleich?

sorry,bin noch absoluter php neuling!

 
Titus
28-04-2002, 14:20 
 
Das eingegebene Passwort wird erst verschlüsselt und dann mit dem in de DB gespeicherten verglichen.

 
quixxz
28-04-2002, 17:26 
 
hmmm...

dann müßte doch hier irgendwo die Verschlüsselung rein oder?


(...)
mysql_select_db($dbname,$conn);
$query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'";
$result = mysql_query($query,$conn);
$result = mysql_query("SELECT pass, level FROM zugriff WHERE name = '$username'",$conn);
$zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
mysql_close($conn);
if (!$zeileholen)
{
die ("falsche Eingabe!!<");
}
if ($zeileholen["pass"] <> $passwort)
{
die ("falsche Eingabe!!<br><a href='login.htm' target='_self'>Loginseite</a>");
}
$level = $zeileholen["level"];
session_register('username');
session_register('level');
header ("Location:admin.php");
?>

 
Wotan
28-04-2002, 17:41 
 
@Titus

Wie kann man ein Verschlüsseltes Passwort wieder auslesen?
User hat Passwort vergessen, klick auf Link und bekommt das Passwort lesbar an die eMail-Adresse geschickt. Wie macht ma sowas? Mit MD5() oder mit einer anderen Funktion

 
Hifi
28-04-2002, 20:47 
 
ich hab einen kleinen Fehler gefunden, sollte man mal ausbessern, und zwar darf es bei folgendem


$conn = @mysql_connect($dbserver,$bduser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}


nicht $bduser sondern $dbuser heißen.
Wenn man das Skript per Copy und Paste durchmacht, sucht man etwas länger, bis man diesen kleinen Fehler gefunden hat.

 
Titus
29-04-2002, 16:06 
 
Original geschrieben von Wotan
Wie kann man ein Verschlüsseltes Passwort wieder auslesen?
Gar nicht, dazu ist es ja verschlüsselt.
Wenn der User sein Passwort vergessen hat, generier ihm ein neues.

 
Wotan
29-04-2002, 20:21 
 
Und wie?

 
Troublegum
29-04-2002, 20:51 
 
@Wotan: Schau mal ins Codeschnipsel Forum, dort findest du mehrere Passwortgeneratoren.

 
quixxz
29-04-2002, 21:02 
 
Hi,

habe eben noch mal ein bisschen Zeit gefunden daran weiter zuarbeiten.
Hat auch gleich geklappt!

habe mit:

<?php
$verschl = md5(zuverschlüsselndes Passwort);
echo "$verschl";
?>

das passwort verschlüsselt und dann in die DB eingetragen.


Danach habe ich das Login Script angepasst! Funzt!!!Eigentlich ganz einfach!


(..)
$zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
$verschl = md5($passwort);
mysql_close($conn);
if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}
if ($zeileholen["pass"] <> $verschl)
{

(...)



Gruß

Quixxz

 
Wotan
29-04-2002, 21:06 
 
Allso muss ich ein neues Passwort generieren und das dann per Mail an den User schicken und gleichzeitig es wieder in die Datenbank schreiben. Hab ich das jetzt richtig verstanden?

Es gibt doch aber I-net-Seiten die schicken dir dein altes Passwort zurück. Ist das Passwort dort nicht verschlüsselt, Beispiel hier im Forum.

 
Troublegum
29-04-2002, 22:12 
 
Original geschrieben von Wotan
Allso muss ich ein neues Passwort generieren und das dann per Mail an den User schicken und gleichzeitig es wieder in die Datenbank schreiben. Hab ich das jetzt richtig verstanden?

Richtig. Generieren, an User mailen, und verschlüsselt speichern.


Es gibt doch aber I-net-Seiten die schicken dir dein altes Passwort zurück. Ist das Passwort dort nicht verschlüsselt, Beispiel hier im Forum.
Dann ist es wohl nicht verschlüsselt. Das neue vB verschlüsselt Passwörter aber.

 
Titus
30-04-2002, 07:55 
 
Es gibt auch Verschlüsselungs-Algorithmen, die sich rückgängig machen lassen. MD5 gehört aber nicht zu denen.

 
Wotan
30-04-2002, 20:50 
 
Und wie kann ich ein Passwort verschlüsseln was wieder rückgängig gemacht werden kann?

 
Titus
01-05-2002, 23:04 
 
zB mit den mySQL-Funktion DES_ENCRYPT und DES_DECRYPT (siehe http://www.mysql.com/doc/M/i/Miscellaneous_functions.html)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:23 Uhr.