Hallo,
ich brauche ein login-script für: kantig.xe.cx
Ich habe mir nun folgendes besorgt:
Datei “login.php”:
[quote]<?php
session_start();
?>
<?php $_SESSION["s_id"] = session_id(); echo("
LOGIN-Bereich "); echo ("
"); ?>
[/quote]
Datei “session_check.php”:
[quote]<?php
session_start();
if($_SESSION[s_id]!=session_id())
{
session_destroy();
Header("Location:index.php");
exit();
}
$_SESSION["benutzer"]=$_POST[benutzer];
$_SESSION["password"]=$_POST[password];
$ID=$_SESSION[s_id];
if( (empty($_SESSION[benutzer]))||(empty($_SESSION[password])) )
{
echo("Bitte vollständige Angaben machen!<br>");
echo("<a href='login.php'>Zurück zur Login-Seite!</a>");
}
else
{
// Auf Passwortkorrektheit prüfuen
}
?>
[/quote]
Allerdings weiß ich nicht wo ich in der Datei neue Benutzer einfügen kann!
Oder muss ich eine Datenbank erstellen?
Hoffe auf schnelle Antwort!
vg tjpeiler
sbbaus
October 21, 2009, 11:25am
2
[/quote]
In dem Teil unter // Auf Passwortkorrektheit prüfen
ist das wichtige. Dort könntest du Hardcoded abfragen: if(($_SESSION[benutzer]='Horst')&&($_SESSION[password]='4711'))
{
echo 'Hallo' .$_SESSION[benutzer];
}
Was aber eben recht simpel ist und bei größeren Sachen schnell unübersichtlich ist. Ne Datenbankverbindung,usw. wäre hier dann die Wahl für größere Projekte !
Gruß
sbbaus
Ja, danke, das ist erstmal so Ok!
Ich brauch das Login im Moment nur für ca. 3-5 Leute.
Das klappt noch!
Könntest du dann nochmal den ganzen code für die Datei “session_check.php” posten?
Funktioniert nämlich im Moment nicht!
sbbaus
October 21, 2009, 11:37am
4
Aber nur weil ich heut so lieb bin !
[code]<?php
session_start();
if($_SESSION[s_id]!=session_id())
{
session_destroy();
Header(“Location:index.php”);
exit();
}
$_SESSION[“benutzer”]=$_POST[benutzer];
$_SESSION[“password”]=$_POST[password];
$ID=$_SESSION[s_id];
if( (empty($_SESSION[benutzer]))||(empty($_SESSION[password])) )
{
echo(“Bitte vollständige Angaben machen! ”);
echo(“Zurück zur Login-Seite! ”);
}
else
{
// Auf Passwortkorrektheit prüfuen
if(($_SESSION[benutzer]=‘Horst’)&&($_SESSION[password]=‘4711’))
{
echo ‘Hallo’ .$_SESSION[benutzer];
}
}
?>[/code]
Man dankt.
Funktionieren tut es.
Eine letzte Frage habe ich noch:
Das Login soll ja dem restlichen Design angepasst werden:
Kann ich den php-Code auch einfach in z.B. die Datei “index.html” einfügen und dann in “index.php” umbennenen? Geht das? Bei mir würde das dann so aussehen:
[quote]
KANTIG - die Schülerzeitung
[b]<?php
session_start();
?>
<?php $_SESSION["s_id"] = session_id(); echo("LOGIN-Bereich "); echo (" "); ?>[/b]
© 2009 by KANTIG
<img src="images/pixelspace.gif" width="18" height="1" border="0" alt=""
[/quote]
sbbaus
October 21, 2009, 11:57am
6
Sollte gehen, denke ich !
Dann wird bei mir folgende Warnung ausgegeben:
www.kantig.xe.cx/login.php
sbbaus
October 21, 2009, 1:03pm
8
Ähm ja, stimmt ja, du musst den PHP session_start() immer am Anfang haben, sonst knallts wie bei dir nun !
Ok, die Warnung ist dann zwar weg aber man kommt mit jedem Passwort und Namen rein.
Das ergibt dann ja keinen Sinn xD
-> www.kantig.xe.cx/login.php
fishi
October 21, 2009, 1:09pm
10
Entschuldigung für das Off Tropic aber:
kantig.xe.cx/impressum.html - Ihr Impressum ist Unvollständig, nach AGB von b placed.net muss ein Vollständiges Impressum vorhanden sein.
[size=85]Muster Impressum: viewtopic.php?p=195955#p195955 [/size]
Ja klar, wird sofort geändert!
sbbaus
October 21, 2009, 1:21pm
12
Sorry, kleiner Fehler, wie ich seh.
[color=#FF0000]if(($_SESSION["benutzer"]='Horst')&&($_SESSION["password"]='4711'))[/color]{
echo 'Hallo' .$_SESSION[benutzer];
}
}
?>
Muss es heißen, denke ich !
Immer noch das gleiche!
EDIT:
Könnte es sein das da eine Klammer zu viel ist?
[quote]<?php
session_start();
if($_SESSION[s_id]!=session_id())
{
session_destroy();
Header(“Location:index.html”);
exit();
}
$_SESSION[“benutzer”]=$_POST[benutzer];
$_SESSION[“password”]=$_POST[password];
$ID=$_SESSION[s_id];
if( (empty($_SESSION[benutzer]))||(empty($_SESSION[password])) )
{
echo(“Bitte vollständige Angaben machen! ”);
echo(“Zurück zur Login-Seite! ”);
}
else
{
// Auf Passwortkorrektheit prüfen
ifcolor=#FF0040 [/color]{
echo ‘Hallo’ .$_SESSION[benutzer];
}
}
?>[/quote]
EDIT:
Oh… ne das ist ja richtig…
sbbaus
October 21, 2009, 1:39pm
14
Nö, die Klammern sind korrekt. Was es noch für ein Fehler sein kann?! Mmh, vielleicht gibts ja hier noch nen PHP Meister, ich hab damit nämlich eigentlich nix am Hut !
chrisb
October 21, 2009, 2:02pm
15
Das sind Wert-Zuweisungen, keine Vergleiche.
sbbaus
October 21, 2009, 2:05pm
17
Ah stimmt, man merkt ich mach zuviel VBA-Krams;). Müsste mit ==
funktionieren !
chrisb
October 21, 2009, 2:07pm
18
tjpeiler:
Und was bedeutet das?
Dass du Grundlagen der Syntax lernen möchtest.
Hmm… also es geht jetzt gar nichts mehr.
Wenn der Code so heißt: