Hilfe beim schreiben eines logins
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
befehl
berufen
daten
fehler
formular
gleiche frage
insert
kennwort
kiefer
klappe
login
not
null
offizier
register
result
tabelle
tabellenstruktur
username
verwendeten funktion
-
Hi also ich habe ein problem mit meinem login. ich kann ihn aber nicht finden. das login forumlar will mich nicht einloggen lass.ich euch jetzt mal alle seiten hingeschrieben die ich schon geschrieben habe:
hiermit f?ngt es an:
forumlar.php:
<?php session_start (); ?>
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ung?ltig.";
}
?>
<form action="login.php" method="post">
Name: <input type="text" name="name" size="20"><br>
Kennwort: <input type="password" name="pwd" size="20"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
login.php ?berpr?ft:
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "root", "");
if (!mysql_select_db ("ghostsoldier", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"id, username,offizier, password ".
"FROM ".
"register ".
"WHERE ".
"(username like '".$_REQUEST["username"]."') AND ".
"(password = '".$_REQUEST["password"]."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["id"];
$_SESSION["user_username"] = $data["username"];
$_SESSION["user_offizier"] = $data["offizier"];
$_SESSION["user_password"] = $data["password"];
header ("Location: intern.php");
}
else
{
header ("Location: formular.php?fehler=1");
}
?>
und hier ist die intern.php seite:
<?php
include ("checkuser.php");
?>
<html>
<head>
<title>Interne Seite</title>
</head>
<body>
BenutzerId: <?php echo $_SESSION["user_id"]; ?><br>
Nickname: <?php echo $_SESSION["user_usernmae"]; ?><br>
Nachname: <?php echo $_SESSION["user_offizier"]; ?><br>
Vorname: <?php echo $_SESSION["user_password"]; ?>
<hr>
<a href="logout.php">Ausloggen</a>
</body>
</html>
das ist die include datein checkuser.php:
<?php
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: formular.php");
}
?>
und das hier ist logout.php:
<?php
// Wird ausgef?hrt um mit der Ausgabe des Headers zu warten.
ob_start ();
session_start ();
session_unset ();
session_destroy ();
header ("Location: formular.php");
ob_end_flush ();
?>
und hier isnd mal die daten meiner datenbank:
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 14. April 2005 um 17:27
-- Server Version: 4.1.10
-- PHP-Version: 5.0.3
--
-- Datenbank: `ghostsoldier`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur f?r Tabelle `register`
--
CREATE TABLE `register` (
`id` int(25) NOT NULL auto_increment,
`username` varchar(15) collate latin1_general_ci NOT NULL default '',
`offizier` varchar(15) collate latin1_general_ci NOT NULL default '',
`password` varchar(15) collate latin1_general_ci NOT NULL default '',
`email` varchar(150) collate latin1_general_ci NOT NULL default '',
`aktiv` smallint(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=14 ;
--
-- Daten f?r Tabelle `register`
--
INSERT INTO `register` VALUES (13, 'ff', 'ff', 'ff', 'kiefer-malte@web.de', 0);
vielelicht k?nnt ihr ja jetztden fehler finden, weil ich wei? echt nciht mehr weiter... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich hab mir dein Script nicht durchgelesen. Ist aber auch nicht wirklich notwendig, weil ich eine Seite kenne, die sich recht ausf?hrlich mit dem Thema besch?ftigt: http://tut.php-q.net/login.html
-
Da wir alle gerade beim Login script sind und php auch nicht so verstehe wollt ich fragen kann man zu dem oberen sciprt wen der fehler behoben worden ist auch noch einbauen das man sich wie bei lima gleichzeitig an einem PHP Forum anmeldet wie z.B. PhpBB??
-
Klar geht sowas, aber das w?re total umst?ndlich weil das Forum hast dann ja nicht du gecodest, und da ist es schwer dein Skript an etwas anderes ( was nicht von dir ist ) anzukn?pfen!
Genau die gleiche Frage hab ich hier auch mal gestellt...
Also m?glich schon aber in der Umsetzung... -
Achtung: VOR einem Header-Befehl darf kein Befehl stehen!!
und:
$sql = "SELECT ".
"id, username,offizier, password ".
"FROM ".
"register ".
"WHERE ".
"(username like '".$_REQUEST["username"]."') AND ".
"(password = '".$_REQUEST["password"]."')";
$result = mysql_query ($sql);
mache das lieber so:
$username = $_POST['name'];
$pw = $_POST['pwd'];
$sql = "SELECT * FROM register WHERE username='$username' AND password='$pw'";
$result = mysql_query($sql);
Baue bitte mal diese Ver?nderungen ein!
-
Nochmal zu ******* also wen es umsetzbar w?re wie w?re es mit einem eigenen einfachen PHP Forum das w?rde doch besser klappen oder??
Problem w?re nur mit meiner erfahrung zur zeit in PHP kann ich "noch" kein Forum machen...
Ich frag einfach nen Freund der macht das von Beruf.... -
@compactdisc: Noch besser w?re folgendes:
$sql = sprintf(SELECT * FROM register WHERE username='%s' AND password='%s'", mysql_real_escape_string($_POST['name']), mysql_real_escape_string($_POST['pwd']) );
Mehr zu der von mir verwendeten Funktion:
http://www.php.net/manual/de/function.mysql-real-escape-string.php -
ok danke leute habe es hinbekommen
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage