Login-System mit PHP und MYSQL

ich denke das wars, jetzt macht er wenigsten nicht mehr das selbe.
jetzt deke ich ist noch ein problem mit checkuser.php.
PHP:
<?php
session_start();
if (!isset($SESSION["user_id"]))
{
header("Location:formular.php");
}
?>
die Datei ist per include in die interne datei eingebunden, und wenn ich mich nun einlogge ruft er wieder formular .php im uhrzustand auf ich denke das hängt hiermit zusammen, vllt. weißt du da ja auch noch ne lösung.
vielen dank lieber gruß alex
 
Muss da nicht noch ein "_" hin?
PHP:
<?php
session_start();
if (!isset($_SESSION["user_id"]))
{
header("Location:formular.php");
}
?>
 
@tobee

genau das wird der Fehler sein. ;)

@alexbot

Das isset oder !isset (nicht isset) würde ich da aber nicht nehmen.

Besser wäre, wenn du auf meiner Art:
PHP:
if($SESSION['user_id'] != NULL)

oder auf der Art von @Felix Jacobi das wie folgt machst.

PHP:
if(empty($_SESSION['user_id']))

Somit somit überprüfst du wenigstens, ob nicht nur die Variable des Arrays existiert sondern auch ein Inhalt drin ist.

Denn wenn es sonst irgendwie mal zu einem Datenverarbeitungsfehler kommen sollte und er legt die leere $_SESSION['user_id'] an, dann ist zwar der User eingeloggt, aber deine Seite wird mit ihm nichts anfangen können, wenn du für weiteres die $_SESSION['user_id'] verwendest.

Gruß Matze202.
 
Erstmal vielen Dank für die Hilfe, bei meinem letzten post war es naja ein fehler den ich weil es so spät war wahrscheinlich nicht gesehen hab. jetzt funktioniert alles, und alles nur weil die Länge der Passwärter zu kurz eingestellt war:) :) :) .
Also Danke nochmal für eure Hilfe, wenn ich nochmal Probleme haben sollte werde ich wieder vertrauensvoll an euch wenden.
Lieber Gruß alex
 
sorry ein Prob hab ich doch noch.
Ich hab die Datei formular.php per include in eine bereits bestehende seite eingebunden, quasi an der Quasi auf der Startseite rechts http://www.ot-batenbrock.de

PHP:
<?php session_start ();?>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="styles.css">
</head>

<body bgcolor="#FFFFFF">
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Ung&uuml;ltiger Login.";
}
?>
<form action="inc/login.php" method="post">
Benutzer:<br>
<input type="text" name="coname"><br>
Kennwort:<br>
<input type="password" name="pass" size="20"><br>
<input type="submit" value="Login" size="20"><br>
</form>
</html>

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at E:\Internet\XAMPP\xampp\xampp\htdocs\OT\menue.txt:48) in E:\Internet\XAMPP\xampp\xampp\htdocs\OT\formular.php on line 1

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\Internet\XAMPP\xampp\xampp\htdocs\OT\menue.txt:48) in E:\Internet\XAMPP\xampp\xampp\htdocs\OT\formular.php on line 1

Der fehler tritt direkt bei laden auf also noch bevor ma sich einloggt

Und dann diese Fehler erhalten könnt ihr da was mit anfangen?
gruß alex
 
Zuletzt bearbeitet:
Jau, das ist immer ein Problem. Vor solchen sachen wie:

PHP:
header();
session_start()

und so, darf keine Ausgabe sein. Wenn du die Seite einbindest, musst du gucken, das du ganz oben vor allem anderen session_start machst
 
sorry ein Prob hab ich doch noch.
Ich hab die Datei formular.php per include in eine bereits bestehende seite eingebunden, quasi an der Quasi auf der Startseite unten links http://www.ot-batenbrock.de

PHP:
<?php session_start ();?>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="styles.css">
</head>

<body bgcolor="#FFFFFF">
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Ung&uuml;ltiger Login.";
}
?>
<form action="file:///E|/Internet/XAMPP/xampp/xampp/htdocs/form/login.php" method="post">
Benutzer:<br>
<input type="text" name="coname"><br>
Kennwort:<br>
<input type="password" name="pass" size="20"><br>
<input type="submit" value="Login" size="20"><br>
</form>
</html>

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at E:\Internet\XAMPP\xampp\xampp\htdocs\OT\menue.txt:48) in E:\Internet\XAMPP\xampp\xampp\htdocs\OT\formular.php on line 1

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\Internet\XAMPP\xampp\xampp\htdocs\OT\menue.txt:48) in E:\Internet\XAMPP\xampp\xampp\htdocs\OT\formular.php on line 1

line 1 wäre hier:
session_start();

Und dann diese Fehler erhalten könnt ihr da was mit anfangen?
gruß alex

Also das überprüfe mal folgendes:

PHP:
session_start();

ist nur in der zuerst ladenten Datei, in deinem Fall bestimmt die index.php als erstes nach dem <?php in der Folgezeile eingetragen.

Das session_start wird nicht in includete Dateien sondern nur in eigenständige Dateien eingetragen.

Zudem empfehle ich Dir, include lieber Dateien, als das du voll uns ganz die Seite mit:

PHP:
header("Location:formular.php");

neu lädst oder setz einen Link zu einer extra Login-Seite.

Mit dem Includen sieht es wie folgt aus:

include('formular.php');

Gruß Matze202.

EDIT: Was ist das eigentlich für eine Datei? --> menue.txt und was steht in der Zeile 48?
 
@matze
funtioniert wenn ich session_start() weglasse.
ich hab die datei so includet. mit include (formular.php)
es handelt dich um ein mm_menue und in Zeile 48 steht folgende:
mm_menu_0710175220_4.addMenuItem("Die&nbsp;OT","window.open('ot.php', '_parent');");
gruß alex
der log in funktioniert übrigens trotz der meldungen.
gruß alex
 
Zuletzt bearbeitet:
Zurück