2Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
170
170
EMPFEHLEN
-
20.08.11 12:23 #1
Hallo liebe tutorials.de-Mitglieder.
Ich habe eine kleine page für meine Feuerwehr gebastelt die so auch gut funktioniert.
Mein Problem ist leider nur, dass wenn er sich anmeldet er sagt, dass es geklappt hat, aber wenn man auf einen Geschützten Bereich kommt die Fehlermeldung "Sie haben keinen Zugriff" erscheint. Ich glaub das hängt mit den sessions zusammen. Hier ist die Page: www.ff-hohenaspe.de (testlogin=test und test) AUsprobieren könnt ihr es nach dem login bei der Veranstaltungen*.php. Ich habe euch hier mal die wichtigsten cods aufgelistet bei denen es wohl hapern muss:
Anmeldeformular (Das gleiche gibt es nocheinmal mit registname und adminname da ich nicht will das sich jeder auf meiner homepage registrieren kann wende ich es einmal für ein registrationspasswort und einmal für den adminbereich an. Bei der registrations funktioniert alles):
und zum schluss die sicherheitsabfrage die ich neuerdings include (vorher gings auch schon nicht)PHP-Code:<html>
<head><title> Memberlogin</title>
<link rel="stylesheet" type="text/css" href="../stylessheet.css"/>
</head>
<body id="content">
<?php
session_start();
?>
<?php
$verbindung = require_once('mysql_config.php');
$membername = $_POST["membername"];
$password = md5($_POST["password"]);
$abfrage = "SELECT membername, password FROM member WHERE membername LIKE '$membername' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
if($row->password == $password)
{
$_SESSION["membername"] = $membername;
echo "<h5>Login erfolgreich!<br>(Weiterleitung in wenigen Sekunden)</h5>";
print '<meta target="_self" http-equiv="refresh" content="3;../allgemein/neues.php">';
}
else
{
echo "<h4>Benutzername und/oder Passwort waren falsch!</h4><br>(Weiterleitung in wenigen Sekunden)";
print '<meta http-equiv="refresh" content="3;mlogin.html">';
}
?>
</body>
</html>
Ich über google gesucht, ich habe schon neue tutorials studiert.. es will nicht..PHP-Code:<?php
session_start();
?>
<?php
if(!isset($_SESSION["membername"]))
{
echo '<h4>Sie haben keinen Zugriff! <br> (Weiterleitung in wenigen Sekunden)';
print '<meta http-equiv="refresh" content="3;../anmeldung/mlogin.html">';
exit;
}
?>
Ich bitte um vollste Verständnis, denn ich habe wenig Ahnung von PHP und dies muss langsam mal funktionieren da ich es der Feuerwehr bald präsentieren soll.
Geändert von Steffen1539 (20.08.11 um 13:00 Uhr)
-
Hallo Steffen1539,
da Du beim Link keine Session-ID übergibst und die Session keinen Cookie setzt, würde ich vermuten, dass es daran liegt.
Test mal das (sollte in allen PHP-Dateien enthalten sein wo die Session gebraucht wird):
Desweiteren funktioniert die Weiterleitung nicht bzw. man wird auf eine nicht vorhandene Datei weitergeleitet.PHP-Code:ini_set( 'session.use_cookies', 'on' );
Änder kannst Du das mit einem absoluten Pfad:
GrußHTML-Code:<meta http-equiv="refresh" content="3;http://www.ff-hohenaspe.de/anmeldung/mlogin.html">
-
20.08.11 13:09 #3
Ich probiere es gleich aus... und das mit der Weiterleitung ist mir eben auch aufgefallen aber danke dir
-
20.08.11 13:12 #4
Wo genau müsste ich denn ini_set( 'session.use_cookies', 'on' ); eintragen? immer hinter dem session_start(); bzw vor dem wo er vergleicht?
-
Hallo Steffen1539,
den Membernamen würde ich auch nicht unbedingt unbehandelt in den SQL-Query packen da dies Tür und Tor für SQL-Injection öffnet.
Das LIKE in dem SQL-Query brauchst Du auch nicht da Du ja einen bestimmten Benutzer auswählen möchtest:
GrußPHP-Code:$abfrage = "SELECT membername, password FROM member WHERE membername = '$behandeltermembername' LIMIT 1";
ps: md5 gilt nicht mehr als sicher, schau dir mal z.B. sha oder bcrypt an
-
-
20.08.11 13:26 #7
Wie mach ich das denn um den membernamen zu behandeln? EInfach deinen code so übernehmen oder was muss ich auserdem ändern? ich persönich würde nun nur die Variabble ändern also auch auf $behandeltermembername
-
20.08.11 13:33 #8
ICh habe das jetzt alles so abgeändert:
undPHP-Code:<?php
ini_set( 'session.use_cookies', 'on' );
session_start();
?>
<?php
if(!isset($_SESSION["membername"]))
{
echo '<h4>Sie haben keinen Zugriff! <br> (Weiterleitung in wenigen Sekunden)';
print '<meta http-equiv="refresh" content="3;../../anmeldung/mlogin.html">';
exit;
}
?>
es möchte aber immer noch nicht..PHP-Code:<?php
ini_set( 'session.use_cookies', 'on' );
?>
<html>
<head><title> Title</title>
<link rel="stylesheet" type="text/css" href="../stylessheet.css"/>
</head>
<body id="content">
<?php
session_start();
?>
<?php
$verbindung = require_once('mysql_config.php');
$behandeltermembername = $_POST["membername"];
$password = md5($_POST["password"]);
$abfrage = "SELECT membername, password FROM member WHERE membername = '$behandeltermembername' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
if($row->password == $password)
{
$_SESSION["membername"] = $behandeltermembername;
echo "<h5>Login erfolgreich!<br>(Weiterleitung in wenigen Sekunden)</h5>";
print '<meta target="_self" http-equiv="refresh" content="3;../allgemein/neues.php">';
}
else
{
echo "<h4>Benutzername und/oder Passwort waren falsch!</h4><br>(Weiterleitung in wenigen Sekunden)";
print '<meta http-equiv="refresh" content="3;mlogin.html">';
}
?>
</body>
</html>
-
Hallo Steffen1539,
Du kannst/solltest Postdaten welche Du in einem SQL-Query verwendest z.B. damit behandeln:
http://php.net/manual/de/function.my...ape-string.php
Du kannst z.B. auch mit regulären Ausdrücken auf unerwünschte Zeichen/Zeichenketten prüfen.
Gruß
Edit//
Zum Thema Sessions in PHP kannst Du dir mal das hier anschauen:
http://www.php.net/manual/de/book.session.phpGeändert von Raisch (20.08.11 um 13:39 Uhr)
-
20.08.11 13:49 #10
Ich habe sowas von keine Ahnung davon... ich verstehe es nicht.. Auf meiner Seite werden keine besonders wichtigen Daten sein. Also will ich einfach nur das dieser Login funktioniert. Die sicherheit ist mir momentan vollkommen egal..
Bitte helf mir nur beim Hauptproblem.. oder ändere mir den Code so ab, wenn es dir wichtig ist. Hier ist dann die registrations.php..
Nochmals großen Dank das du mir hilfst.. ich hoffe das wir ds gemeinsam hin bekommen...PHP-Code:<html>
<head><title>regist</title>
<link rel="stylesheet" type="text/css" href="../../stylessheet.css"/>
</head>
<body id="content">
<?php
include_once('../logincheck/rcheck.php')
?>
<?php
$verbindung = require_once('mysql_config.php');
$membername = $_POST["membername"];
$vname = $_POST["vname"];
$nname = $_POST["nname"];
$password = $_POST["password"];
$password2 = $_POST["password2"];
$email = $_POST["email"];
if($password != $password2 OR $membername == "" OR $vname == "" OR $nname == "" OR $password == "" OR $email == "")
{
echo "<h4>Eingabefehler. Bitte alle Felder korekt ausfüllen.</h4>";
print '<meta http-equiv="refresh" content="3;regist.html">';
exit;
}
$password = md5($password);
$result = mysql_query("SELECT id FROM member WHERE membername LIKE '$membername'");
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "INSERT INTO member (membername, vname, nname, password, email) VALUES ('$membername', '$vname', '$nname', '$password', '$email')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "<h5>Vielen Dank für deine Registrierung <b>$vname</b>! <br><br> Du benönitgst <b><u>keine</u></b> E-Mail-bestätigung!<br>(Weiterleitung in wenigen Sekunden)<h5>";
print '<meta http-equiv="refresh" content="8;../../allgemein/neues.php">';
}
else
{
echo "<h4>Fehler beim Speichern der Daten!</h4>";
print '<meta http-equiv="refresh" content="3;regist.html">';
}
}
else
{
echo "<h4>Benutzername schon vorhanden!</h4>";
print '<meta http-equiv="refresh" content="3;regist.html">';
}
?>
</body>
</html>Geändert von Steffen1539 (20.08.11 um 13:51 Uhr)
-
Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
"Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
RegEx Tutorial
PHP Funktionsreferenz
-
War ja auch nur ein kleiner Hinweis am Rande.
Ähnliche Themen
-
Personen auf eigener Homepage
Von benija im Forum Flash PlattformAntworten: 6Letzter Beitrag: 30.09.08, 20:50 -
Virus auf eigener Homepage
Von Orbit im Forum PHPAntworten: 2Letzter Beitrag: 05.07.08, 10:58 -
Login von eigener Homepage -> phpBB
Von DaSuckOOr im Forum PHPAntworten: 3Letzter Beitrag: 11.04.07, 18:45 -
Game-Infos auf eigener Homepage
Von KILLSMAKER im Forum PHPAntworten: 6Letzter Beitrag: 04.02.06, 16:25





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren