| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

30-06-2003, 19:01
|
|
Nico_Schubert
Registrierter Benutzer
|
|
Registriert seit: Apr 2003
Beiträge: 27
|
|
Problem mit header (); [Login Script]
Hallo Leute,
ich habe einen Problem an meinen Loginskript.
Und zwar bekomme ich immer diese Fehlermeldung:
Zitat:
|
Warning: Cannot modify header information - headers already sent by (output started at /home/www/doc/8196/webmaster@hostinet.de/mail-exchanger.de/www/test/test/usermanagment.inc.php:54) in /home/www/doc/8196/webmaster@hostinet.de/mail-exchanger.de/www/test/test/usermanagment.inc.php on line 18
|
Hier nun der Code von der Datei: usermanagment.inc.php
PHP-Code:
<?php
/***
* Prüfen, ob der User berechtigt ist, einen Login durchzuführen.
*/
function CheckUserLogin ($username, $passwort, $session) {
$result = mysql_query("SELECT username, passwort, vorname, name from mt_user WHERE username='$username' AND passwort='$passwort'") or mysql_error();
$zeile = mysql_fetch_array($result);
if ( $zeile["username"] == "" )
{
header ("Location:$script_url/test/test/index.php");
}
else
{
$result = mysql_query("UPDATE mt_user SET UserSession = '".$session."',letzterlogin = NOW() WHERE username = '".$zeile["username"]."'") or mysql_error();
header ("Location:$script_url/test/test/admin.php");
}
}
/***
* LOGOUT
*/
function UserLogout ($session) {
$result = mysql_query("UPDATE mt_user SET UserSession = NULL WHERE UserSession = '".$session."'") or mysql_error();
header ("Location:$script_url/test/test/index.php");
}
/***
* Prüfen, ob die Session in Ordnung ist.
*/
function CheckUserSession ($session) {
$result = mysql_query("SELECT username,name,vorname,letzterlogin FROM mt_user WHERE UserSession = '".$session."'") or mysql_error();
if ( mysql_num_rows($result) == 1 ) {
$zeile = mysql_fetch_array($result);
$sessarr[username] = $zeile["username"];
$sessarr[name] = $zeile["name"];
$sessarr[vorname] = $zeile["vorname"];
$sessarr[UserLogin] = $zeile["UserLogin"];
return $sessarr;
}
else {
header ("Location:$script_url/test/test/index.php");
return false;
}
}
?>
Kann mir jemand hierbei Helfen ?
Schon mal ein Danke im voraus!
mfg. Nico
|

30-06-2003, 19:22
|
|
solaris
Newbie
|
|
Registriert seit: Apr 2002
Beiträge: 70
|
|
Du mußt den header vor der restlichen Ausgabe senden.
Nach einer Ausgabe bekommst du o.a. Fehler.
__________________
---------------------------------------------
Die Hoffnung stirbt zuletzt.
|

12-07-2003, 23:38
|
|
Nico_Schubert
Registrierter Benutzer
|
|
Registriert seit: Apr 2003
Beiträge: 27
|
|
@solaris
ich hatte das gemacht, und es kommt die gleiche Fehler, blos ein zeihle weiter oben.
Kann mir noch jemand da bei helfen ?
mfg. Nico
|

13-07-2003, 14:23
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.482
|
|
gibt es in der datei, in der die usermanagment.inc.php eingebunden wird, davor schon ausgaben?
(btw: das hat wohl nichts mit mysql zu tun, sondern ist ein php-prob ...)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

13-07-2003, 14:58
|
|
Nico_Schubert
Registrierter Benutzer
|
|
Registriert seit: Apr 2003
Beiträge: 27
|
|
Hier die Login Datei, wo die usermanagment.inc.php include wird.
PHP-Code:
<?php
session_start();
include("connect2db.inc.php");
include("usermanagment.inc.php");
if (isset($_POST['action']))
{
switch($_POST['action']) {
case "login" : $username = (isset($_POST['username'])) ? $_POST['username'] : '';
$passwort = (isset($_POST['passwort'])) ? $_POST['passwort'] : '';
CheckUserLogin ($username, $passwort, session_id());
break;
case "logout" : UserLogout (session_id());
break;
}
}
?>
<br>
<form name="login" method="post" action="index.php">
<input type="hidden" name="action" value="login">
Enter your username and password to log in
<br>
Username: </td><td><input class="flat" type="text" name="username"><br>
Password: </td><td><input class="flat" type="password" name="passwort"></br>
<input type="submit" value="Login">
</form>
Ich verwende zur Zeit auf meinen Server die PHP Version 4.3.0, könnte es vieleich daran liegen ?
|

13-07-2003, 22:09
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.482
|
|
steht hier vor auch ganz sicher kein leerzeichen oder -zeile?
PHP-Code:
<?php
session_start();
include("connect2db.inc.php");
include("usermanagment.inc.php");
macht die datei connect2db.inc.php vielleicht irgendeine ausgabe, oder enthält ihrerseits whitespace ausserhalb der <?php>-tags?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

14-07-2003, 08:44
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Re: Problem mit header (); [Login Script]
Zitat:
Original geschrieben von Nico_Schubert
output started at /home/www/doc/8196/webmaster@hostinet.de/mail-exchanger.de/www/test/test/usermanagment.inc.php:54
|
und was steht da?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

14-07-2003, 14:39
|
|
Nico_Schubert
Registrierter Benutzer
|
|
Registriert seit: Apr 2003
Beiträge: 27
|
|
@wahsaga,
Da ist kein Lerzeichen vorhanden und in der connect2db.inc.php steht die Daten für die Db.
Hier der Code von der connect2db.inc.php :
PHP-Code:
<?php
/* ******************** Definitionen für DB-Connect's ***************** */
$DB[host] = "xxx";
$DB[user] = "xxx";
$DB[passwd] = "xxx";
$DB[dbname] = "xxx";
/* ******************************************************************** */
@mysql_connect( $DB[host] , $DB[user] , $DB[passwd] );
@mysql_select_db( $DB[dbname] ) or die("Unable to select database");
/* ******************************************************************** */
//Script URL
$script_url="http://www.mail-exchanger.de";
?>
|

14-07-2003, 14:42
|
|
Nico_Schubert
Registrierter Benutzer
|
|
Registriert seit: Apr 2003
Beiträge: 27
|
|
Re: Re: Problem mit header (); [Login Script]
Zitat:
Original geschrieben von mrhappiness
und was steht da?
|
hier steht die fehlermeldung bei einen Login, es sind user vorhanden in der DB und es macht auch das Update in der Db bei login, aber es macht Irgend wie problem mit den header ().
Kann mir jemand helfen ?
mfg. Outman
|

14-07-2003, 15:51
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.482
|
|
Re: Re: Re: Problem mit header (); [Login Script]
Zitat:
Original geschrieben von Nico_Schubert
Kann mir jemand helfen ?
|
wie schon gesagt, es muss irgendwo schon eine ausgabe erfolgt sein, bevor du header() verwendest - und dann gibt's besagte fehlermeldung.
musst halt mal genau suchen, wo das sein könnte ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

14-07-2003, 17:27
|
|
Nico_Schubert
Registrierter Benutzer
|
|
Registriert seit: Apr 2003
Beiträge: 27
|
|
Habe den Fehler gefunden, es lag an einer lehrstelle am ende der datei: usermanagment.inc.php
@alle
Danke für Euhre hilfe!
mfg. Nico
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|