chrdohmen
Goto Top

session start() schlägt fehl

Hallo Zusammen,

habe ein Login Formular mit folgendem Code:

<form action="kunden_portal/kunden_portal.php". method="post">
<tr><td>Benutzername:</td><td><input type="text" name="benutzername" maxlength="15"></td></tr>
<tr><td>Kennwort:</td><td><input type="password" name="kennwort" maxlength="15"></td></tr>
<tr><td colspan="2"><input type="submit" value=" Absenden "><input type="reset" value=" Abbrechen "></td></tr>
</form>


die kunden_portal.php schaut folgendermaßen aus:

session_start();
include ('../inc/dbconnect.php');
include ('../inc/config.php');

$user = $_POST["benutzername"];
$pwd = $_POST["kennwort"];

$sql = "SELECT USER, PWD, REGION FROM Benutzer WHERE USER LIKE '$user' LIMIT 1";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);

if($row['PWD'] == $pwd) { ... }
else {... }

Problem die Zeile session_start() funktioniert nicht. Da bekomm ich immer die Fehlermeldung:


Warning: Cannot send session cookie - headers already sent by (output started at /mnt/web3/10/34/51067434/htdocs/mysql/kunden_portal/kunden_portal.php:3) in /mnt/web3/10/34/51067434/htdocs/mysql/kunden_portal/kunden_portal.php on line 4

Warning: Cannot send session cache limiter - headers already sent (output started at /mnt/web3/10/34/51067434/htdocs/mysql/kunden_portal/kunden_portal.php:3) in /mnt/web3/10/34/51067434/htdocs/mysql/kunden_portal/kunden_portal.php on line 4


Hoffe jemand kann mir weiterhelfen. Im Voraus schonmal vielen Dank.

Gruß

Content-ID: 98174

Url: https://administrator.de/contentid/98174

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

crazybob
crazybob 30.09.2008 um 14:36:00 Uhr
Goto Top
Sieht so aus als bestünde bereits eine Session.
Kommentiere deinen Startbefehl doch mal aus und versuche Daten in die Session zu schreiben und wieder auszulesen.
SlainteMhath
SlainteMhath 30.09.2008 um 14:56:44 Uhr
Goto Top
Hi,

die Fehlermeldung deutet daraufhin, das vor dem session_start() bereits Zeichen an den Browser gesendet wurden. Evtl. ein Blank vor oder nach den <?php ?> Tags oder sowas ähnliches.

Btw.
$user = $_POST["benutzername"];  
....
$sql = "SELECT USER, PWD, REGION FROM Benutzer WHERE USER LIKE '$user' LIMIT 1";  
ist anfällig für SQL Injections...

lg,
slainte
chrdohmen
chrdohmen 30.09.2008 um 15:58:25 Uhr
Goto Top
Habe versucht die session_id bzw. session_name auszulesen aber da läuft er auch auf Fehler.
chrdohmen
chrdohmen 30.09.2008 um 15:59:21 Uhr
Goto Top
Bin kein Profi daran hab nur ähnlichen Code im PHP Tutorial gesehen und deshalb so verwendet.

Was schlägst du vor?

Gruß
dtzzzzzz
dtzzzzzz 01.10.2008 um 09:59:54 Uhr
Goto Top
Du musst $_POST["benutzername"] escapen, bevor du es im String einsetzst.

Zu session_start(): Es dürfen keine Zeichen/Code vor dem session_start() abgeschickt werden. Also prüfe, ob dein Template z. B. bereits vorher schon geladen wird etc.