|
|
User gesamt
|
:
|
2458794
|
User online
|
:
|
3
|
|
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
|
|
|
|
MyWebsolution.de Foren » Workshops » Problem bei Loginskript
Seite:
|
<
1
2
3
4
>
|
Posts pro Seite: 5
10
20
|
Autor
|
Thread
|
20.02.2007 20:48 Uhr
|
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
naja, das ist ein bisschen schwer, weil wir deine Seiten ja nicht kennen 
Grundsätzlich gibts es ein "da gehts, da nicht" eigentlich nicht... D.h. in der Datei, wo es nicht geht, muss irgendwas passieren (vllt keine Session gestartet, Session hatte nen timeout, kA..)
|
|
|
20.02.2007 20:57 Uhr
|
|
mdean
|
Forenposter
|
|
registriert
|
03.01.2007
|
wohnt in
|
Schweiz
|
Beiträge
|
90
|
|
Ich kann mir dass selbst nicht erklären... Wüsste nicht wo der Fehler sein würde... Aber ich geb euch jetzt nicht den ganzen Quellcode zum durchlesen, mach einfach ne kopie von den seiten bei denen es geht, und ändere sie dann entsprechend wieder ab.
|
|
|
24.12.2007 12:10 Uhr
|
|
Braini
|
User
|
|
registriert
|
24.12.2007
|
wohnt in
|
|
Beiträge
|
4
|
|
Hallo zusammen,
dieser Thread ist vielleicht schon etwas älter, aber ich habe ihn gerade erst gesehen.
Erst einmal ein großes Lob an Flitze für seine Mühen.
Jetzt habe ich auch folgendes Problem beim Login.
Es funktioniert soweit alles, nur binde ich das Script per include auf eine Seite ein, in der vorher schon HTML ausgegeben wird.
Das Problem habe ich nur, wenn "eingelogged bleiben" aktiviert ist, dann erscheint folgende Fehlermeldung:
"Warning: Cannot modify header information - headers already sent by (output started at..."
Es wird wahrscheinlich an dem setcookie liegen, ich habe allerdings keine Lösung des Problems parat 
Wie binde ich nun mein Loginscript in ein schon existierendes Layout ein, so dass alles funktioniert?
Ich hoffe, es kann mir jemand helfen.
Viele Grüße und ein frohes Fest
Braini
|
|
|
24.12.2007 14:08 Uhr
|
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
Halle Braini,
danke für dein Lob, hört man immer wieder gern 
Zu deinem Problem:
Ich denke mal, du benutzt so etwas wie eine zentrale "index.php" und bindest dann deine Unterseiten über "index.php?seite=news" oder so ein. Korrigier mich, wenn ich falsch liege . In diesem Fall müsstest du den login ganz oben - d.h. vor jeder HTML-Ausgabe - in dieser index.php inkludieren. Bei mir sieht das so aus:
Inhalt einer index.php
PHP:
<?php
error_reporting(E_ALL);
// Session starten
ini_set('session.use_trans_sid', 1);
session_start();
// Unterscripte inkludieren
include "inc/constants.php";
include "inc/mysql/mysql_connect.php";
include "inc/functions.php";
include "inc/user_statistik.php";
// Login-Script inkludieren
include "inc/login.php";
// Start der HTML-Ausgabe
echo "<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.01//EN\"\n";
echo " \"http://www.w3.org/TR/html4/strict.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
//...
?>
Die Datei login.php im Ordner inc hat folgenden Inhalt:
PHP:
<?php
error_reporting(E_ALL);
// Loginbereich
if(isset($_GET['section']) AND $_GET['section']=='logout'){
// User ausloggen
doLogout();
// $_SESSION leeren
$_SESSION = array();
// Session löschen
session_destroy();
}
if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
// Falls der Nickname und das Passwort übereinstimmen..
$sql = "SELECT
ID
FROM
User
WHERE
Nickname = '".mysql_real_escape_string($_POST['Nickname'])."' AND
Passwort = '".MD5(mysql_real_escape_string($_POST['Passwort']))."'
";
$result = mysql_query($sql);
// wird die ID des Users geholt und der User damit eingeloggt
$row = mysql_fetch_assoc($result);
if (mysql_num_rows($result)==1)
doLogin($row['ID'], isset($_POST['Autologin']));
}
?>
Der Login selbst ist ein Formular, das auf jeder Unterseite in der linken Navigationsspalte angezeigt wird (siehe www.sg-wehretal.de). Wenn ein User jetzt Nickname und Passwort ausfüllt und auf Einloggen klickt, dann wird der Code aus der login.php, der in der index.php inkludiert wird, ausgeführt.
Ich hoffe, das hilft dir weiter, ansonsten müsstest du vllt mal die Struktur deine Skripte (was wo wie inkludiert) näher erläutern 
Gruß und frohes Fest
Flitze
|
|
|
25.12.2007 10:47 Uhr
|
|
Braini
|
User
|
|
registriert
|
24.12.2007
|
wohnt in
|
|
Beiträge
|
4
|
|
Hallo Flitze,
da muss ich dich korrigieren, von der index.php verweist der Link auf die login.php (gleiches Aussehen-anderer Inhalt)
Hier mal meine Dateien:
login.php
PHP:
<?php
session_start();
include "_includes/config.php";
include "_includes/function_dologin.php";
?>
<html>
<head>
<title>SportSofort</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>...
<td valign="top" width="634" bgcolor="#fafafa" style="padding-top:10px; padding-bottom:6px; padding-left:5px">
<?php
if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
// Falls der Nickname und das Passwort übereinstimmen..
$sql = "SELECT
ID
FROM
User
WHERE
Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
Passwort = '".md5(trim($_POST['Passwort']))."'
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
// wird die ID des Users geholt und der User damit eingeloggt
$row = mysql_fetch_assoc($result);
// Prüft, ob wirklich genau ein Datensatz gefunden wurde
if (mysql_num_rows($result)==1){
doLogin($row['ID'], isset($_POST['Autologin']));
echo "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
echo "Sie wurden erfolgreich eingeloggt.<br>\n".
"Zur <a href=\"index.php\">Startseite</a>\n";
}
else{
echo "Sie konnten nicht eingeloggt werden.<br>\n".
"Nickname oder Passwort fehlerhaft.<br>\n".
"Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
}
}else {
echo "<form ".
" name=\"Login\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
echo "Nickname :\n";
echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
echo "<br>\n";
echo "Passwort :\n";
echo "<input type=\"password\" name=\"Passwort\">\n";
echo "<br>\n";
echo "eingeloggt bleiben :\n";
echo "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
echo "<br>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
echo "<br>\n";
echo "<a href=\"passwort.php\">Passwort vergessen</a> oder noch nicht <a href=\"register.php\">registriert</a>?\n";
echo "</form>\n";
}
?>
</td> ...
</body>...
Hier nun meine function_dologin.php
PHP:
<?php
// Loggt einen User ein, ..
function doLogin($ID, $Autologin=false)
{
// .. indem die aktuelle Session ID in der Datenbank gespeichert wird
$sql = "UPDATE
User
SET
SessionID = '".mysql_real_escape_string(session_id())."',
Autologin = NULL,
IP = '".$_SERVER['REMOTE_ADDR']."',
Letzte_Aktion = '".mysql_real_escape_string(time())."',
Letzter_Login = '".mysql_real_escape_string(time())."'
WHERE
ID = '".$ID."'
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
// Wenn 'eingeloggt bleiben' aktiviert wurde
if($Autologin){
// Zufallscode erzeugen
$part_one = substr(time()-rand(100, 100000),5,10);
$part_two = substr(time()-rand(100, 100000),-5);
$Login_ID = md5($part_one.$part_two);
// Code im Cookie speichern, 10 Jahre dürfte genügen
setcookie("Autologin", $Login_ID, time()+60*60*24*365*10);
$sql = "UPDATE
User
SET
Autologin = '".$Login_ID."'
WHERE
ID = '".$ID."'
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
}
// Daten des Users in der Session speichern
$sql = "SELECT
Nickname
FROM
User
WHERE
ID = '".$ID."'
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
$row = mysql_fetch_assoc($result);
$_SESSION['UserID'] = $ID;
$_SESSION['Nickname'] = $row['Nickname'];
}
?>
Nun noch die Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sportsofort\_includes\function_dologin.php:5 3) in C:\xampp\htdocs\sportsofort\_includes\function_dologin.php on line 25
Ich hoffe, du kannst damit etwas anfangen.
Die php wird innnerhalb des <td> eingebunden, damit sie zum Design passt.
Es gibt auch nur ein Loginformular.
Schon mal Danke im voraus.
Grüße
Braini
|
|
|
25.12.2007 11:12 Uhr
|
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
Jo, also das liegt schon an dem Cookie, das gesetzt wird. Du musst den Login an den Anfang des Scriptes setzen. Für die Ausgabe überprüfst du dann einfach, ob $_SESSION['UserID'] gesetzt wurde. Also so (ungetestet):
PHP:
<?php
session_start();
include "_includes/config.php";
include "_includes/function_dologin.php";
if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
// Falls der Nickname und das Passwort übereinstimmen..
$sql = "SELECT
ID
FROM
User
WHERE
Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
Passwort = '".md5(trim($_POST['Passwort']))."'
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
// wird die ID des Users geholt und der User damit eingeloggt
$row = mysql_fetch_assoc($result);
// Prüft, ob wirklich genau ein Datensatz gefunden wurde
if (mysql_num_rows($result)==1){
doLogin($row['ID'], isset($_POST['Autologin']));
}
}
?>
<html>
<head>
<title>SportSofort</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>...
<td valign="top" width="634" bgcolor="#fafafa" style="padding-top:10px; padding-bottom:6px; padding-left:5px">
<?php
if(isset($_SESSION['UserID'])){
echo "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
echo "Sie wurden erfolgreich eingeloggt.<br>\n".
"Zur <a href=\"index.php\">Startseite</a>\n";
}
else{
echo "Sie konnten nicht eingeloggt werden.<br>\n".
"Nickname oder Passwort fehlerhaft.<br>\n".
"Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
}
}else {
echo "<form ".
" name=\"Login\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
echo "Nickname :\n";
echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
echo "<br>\n";
echo "Passwort :\n";
echo "<input type=\"password\" name=\"Passwort\">\n";
echo "<br>\n";
echo "eingeloggt bleiben :\n";
echo "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
echo "<br>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
echo "<br>\n";
echo "<a href=\"passwort.php\">Passwort vergessen</a> oder noch nicht <a href=\"register.php\">registriert</a>?\n";
echo "</form>\n";
}
?>
</td> ...
</body>...
$_SESSION['UserID'] wird ja nur dann gesetzt, wenn der Login erfolgreich war, ansonsten existiert dieser Key im $_SESSION-Array gar nicht.
Dieser Beitrag wurde am 25.12.2007 um 11:13:17 Uhr von Flitze zum 1. Mal editiert.
|
|
|
25.12.2007 11:37 Uhr
|
|
Braini
|
User
|
|
registriert
|
24.12.2007
|
wohnt in
|
|
Beiträge
|
4
|
|
Hallo Flitze,
das hat leider auch nicht funktioniert 
weiterhin folgende Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sportsofort\_includes\function_dologin.php:5 3) in C:\xampp\htdocs\sportsofort\_includes\function_dologin.php on line 25
Desweiteren ein unexpected T_Else, aber das Problem ist behoben.
|
|
|
25.12.2007 15:15 Uhr
|
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
Seltsam, ich habs gerade bei mir getestet und bekomme keine Fehlermeldung..
Also, zum einen könnte es an der config.php liegen, weil ich deren Inhalt nicht kenne (kannste ja mal posten) zum anderen könnte es sein, dass du in der function_login.php eine Leerzeile über dem <?php hast, musste mal überprüfen. Leerzeilen außerhalb von PHP-Code, also außerhalb von <?php ... ?> werden trotzdem als (HTML-)Ausgabe betrachtet.
Und poste bitte nochmal deinen bisherigen Code.
|
|
|
25.12.2007 18:40 Uhr
|
|
Braini
|
User
|
|
registriert
|
24.12.2007
|
wohnt in
|
|
Beiträge
|
4
|
|
Hallo Flitze,
hier meine login.php
PHP:
<?php
session_start();
include "_includes/function_dologin.php";
include "_includes/config.php";
include "_includes/autologin.php";
include "_includes/logout.php";
if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
// Falls der Nickname und das Passwort übereinstimmen..
$sql = "SELECT
ID
FROM
User
WHERE
Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
Passwort = '".md5(trim($_POST['Passwort']))."'
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
// wird die ID des Users geholt und der User damit eingeloggt
$row = mysql_fetch_assoc($result);
// Prüft, ob wirklich genau ein Datensatz gefunden wurde
if (mysql_num_rows($result)==1){
doLogin($row['ID'], isset($_POST['Autologin']));
}
}
?>
<html>
<head>
<title>SportSofort</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<link rel="stylesheet" href="sportsofort.css">
</head>
<body bgcolor="fafafa" background="bg_neu.gif" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="5" onLoad="MM_preloadImages('images/b_forum_2.png','images/b_fahrerlager_2.png','images/b_rennserien_2.png','images/b_rfactor_2.png','images/b_gtr2_2.png','images/b_race07_2.png','images/b_downloads_2.png','images/b_lackhalle_2.png')">
<div align="center">
<table width="1024" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" height="109" valign="top" background="images/head.png">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div align="right"><span class="text"><?php if(isset($_SESSION['UserID'])) echo "<a href=\"edituser.php?ID=".$_SESSION['Nickname']."\" class=\"link\">" .$_SESSION['Nickname']."</a> | <a href='logout.php' target='_self' class='link'>Logout</a> |" ; else echo "<a href='login.php' target='_self' class='link'>Login</a> |" ;?></span>
<a href="register.php" target="_self" class="link">Registrieren</a>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr valign="middle">
<td colspan="3" height="29" style="padding-top:5px; padding-left:5px" background="images/b_bg.png"><a href="#"><img src="images/b_start_2.png" width="80" height="22" border="0" alt="Start" name="start"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('forum','','images/b_forum_2.png',1)"><img src="images/b_forum_1.png" width="80" height="22" name="forum" alt="Forum" border="0"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('fahrerlager','','images/b_fahrerlager_2.png',1)"><img src="images/b_fahrerlager_1.png" width="80" height="22" name="fahrerlager" alt="Fahrerlager" border="0"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('rennserien','','images/b_rennserien_2.png',1)"><img src="images/b_rennserien_1.png" width="80" height="22" name="rennserien" alt="Rennserien" border="0"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('rfactor','','images/b_rfactor_2.png',1)"><img src="images/b_rfactor_1.png" width="80" height="22" name="rfactor" alt="rFactor" border="0"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('gtr2','','images/b_gtr2_2.png',1)"><img src="images/b_gtr2_1.png" width="80" height="22" name="gtr2" alt="GTR 2" border="0"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('race07','','images/b_race07_2.png',1)"><img src="images/b_race07_1.png" width="80" height="22" name="race07" alt="Race 07" border="0"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('downloads','','images/b_downloads_2.png',1)"><img src="images/b_downloads_1.png" width="80" height="22" name="downloads" alt="Downloads" border="0"></a><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('lackhalle','','images/b_lackhalle_2.png',1)"><img src="images/b_lackhalle_1.png" width="80" height="22" name="lackhalle" alt="Lackhalle" border="0"></a></td>
</tr>
<tr>
<td valign="top" width="195" bgcolor="#FFFFFF" style="padding-top:6px; padding-bottom:6px; padding-left:5px">
<table width="183" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="padding-top:6px"><img src="images/head_news.png" width="183" height="31"></td>
</tr>
<tr background="images/middle_news.png">
<td style="padding-right:4px; padding-left:4px" class="linkimText"><span class="datumnews">21.12.2007<br>
</span><span class="text">Hier stehen die News drin</span><br>
<br>
<a href="#" class="link">Endlich geht SportSofort online, ohne viel
Schnick und Schnack und mit...<br>
</a>
<div align="center"><span class="text">..........................................</span></div>
</td>
</tr>
<tr valign="bottom">
<td><img src="images/bottom_news.png" width="183" height="10"></td>
</tr>
</table>
</td>
<td valign="top" width="634" bgcolor="#fafafa" style="padding-top:10px; padding-bottom:6px; padding-left:5px">
<?php
if(isset($_SESSION['UserID'])){
echo "<h4>Willkommen ".$_SESSION['Nickname']."</h4>\n";
echo "Sie wurden erfolgreich eingeloggt.<br>\n".
"Zur <a href=\"index.php\">Startseite</a>\n";
}
else {
echo "<form ".
" name=\"Login\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
echo "Nickname :\n";
echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n";
echo "<br>\n";
echo "Passwort :\n";
echo "<input type=\"password\" name=\"Passwort\">\n";
echo "<br>\n";
echo "eingeloggt bleiben :\n";
echo "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
echo "<br>\n";
echo "<input type=\"submit\" name=\"submit\" value=\"Einloggen\">\n";
echo "<br>\n";
echo "<a href=\"passwort.php\">Passwort vergessen</a> oder noch nicht <a href=\"register.php\">registriert</a>?\n";
echo "</form>\n";
}
?>
</td>
<td width="195" valign="top" bgcolor="#FFFFFF" style="padding-top:6px; padding-bottom:6px; padding-left:5px">
<table width="191" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="padding-top:6px"><img src="images/head_ergebnisse.png" width="191" height="35"></td>
</tr>
<tr background="images/middle_ergebnisse.png">
<td style="padding-right:8px; padding-left:8px" class="linkimText"><span class="datumnews">21.12.2007<br>
</span><span class="text">Hier stehen die News drin</span><br>
<br>
<a href="#" class="link">Endlich geht SportSofort online, ohne viel
Schnick und Schnack und mit...<br>
</a>
<div align="center"><span class="text">..........................................</span></div>
</td>
</tr>
<tr valign="bottom">
<td><img src="images/bottom_ergebnisse.png" width="191" height="10"></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
und meine function_dologin.php
PHP:
<?php
// Loggt einen User ein, ..
function doLogin($ID, $Autologin=false)
{
// .. indem die aktuelle Session ID in der Datenbank gespeichert wird
$sql = "UPDATE
User
SET
SessionID = '".mysql_real_escape_string(session_id())."',
Autologin = NULL,
IP = '".$_SERVER['REMOTE_ADDR']."',
Letzte_Aktion = '".mysql_real_escape_string(time())."',
Letzter_Login = '".mysql_real_escape_string(time())."'
WHERE
ID = '".$ID."'
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
// Wenn 'eingeloggt bleiben' aktiviert wurde
if($Autologin){
// Zufallscode erzeugen
$part_one = substr(time()-rand(100, 100000),5,10);
$part_two = substr(time()-rand(100, 100000),-5);
$Login_ID = md5($part_one.$part_two);
// Code im Cookie speichern, 10 Jahre dürfte genügen
setcookie("Autologin", $Login_ID, time()+60*60*24*365*10);
$sql = "UPDATE
User
SET
Autologin = '".$Login_ID."'
WHERE
ID = '".$ID."'
";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
}
// Daten des Users in der Session speichern
$sql = "SELECT
Nickname
FROM
User
WHERE
ID = '".$ID."'
";
$result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
$row = mysql_fetch_assoc($result);
$_SESSION['UserID'] = $ID;
$_SESSION['Nickname'] = $row['Nickname'];
}
?>
und hier noch meine config.php
PHP:
<?php
$MYSQL_HOST = 'localhost';
$MYSQL_USER = 'root';
$MYSQL_PASS = '';
$MYSQL_DATA = 'dbname';
$connid = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS) OR die("Error: ".mysql_error());
mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());
?>
So, das sind meine Dateien, die ich für den Login benötige.
Ich habe auch überprüft, ob eine Leerzeile/-zeichen davor steht, nix.
Grüße
Braini
|
|
|
27.12.2007 13:22 Uhr
|
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
Ich hab jetzt den Quellcode, so wie er da steht, übernommen und bekomme keine Fehlermeldung.. Aber der Fehler ist ja eigentlich auch eindeutig
Zitat:Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sportsofort\_includes\function_dologin.php:5 3) in C:\xampp\htdocs\sportsofort\_includes\function_dologin.php on line 25
Also wurde in der Datei function_dologin eine Ausgabe gemacht. Es kann nur an dieser Datei liegen. Zum überprüfen ruf die Datei (function_dologin.php) einfach mal direkt auf (localhost/sportsofort/_includes/function_dologin.php )und schau dir den Quellcode an. Ich hatte eben beim Testen den gleichen Fehler bekommen - Allerdings hatte ich auch einen Zeilenumbruch vor dem <?php
Wenn du wirklich definitiv keine Zeilenumbrüche/leerzeichen vor dem <?php hast, dann gibt mir mal bitte deine Email-Adresse und ich schicke dir die Datei, die bei mir funktioniert.
|
|
|
Seite:
|
<
1
2
3
4
>
|
|
|
Powered by
|
Pascal Landau
|
© 2006
|
MyWebsolution.de
|
Designed by
|
Pascal Landau
|
© 2006
|
MyWebsolution.de
|
|
|
|
|
|