Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Problem mit Sessions

Hallo

ich habe ein Problem bei der Programmierung von einer Session. Vielleicht kann mir da jemand einen Tip geben.
Und zwar muss der User sich auf einer Login.php mit Name und PW anmelden. diese werden dann über einen submit Button an das auth.php weitergeleitet.
dort starte ich ganz oben die session mit session_start();
Danach erfolgt die Prüfung der Eingabe in der Datenbank. Ist die Eingabe korrekt, so schreibe ich folgende befehle:

$_Session['user_ID'] = $user_ID;
$_Session['center_ID'] = $center_ID;

Im folgenden wird der User an den "geschlossenen Bereich" wietergeleitet.
Dort frage ich dann diese wieder ab:

session_start();

If (isset($HTTP_SESSION_VARS['center_ID']))
{...

ich bekomme folgende Fehlermeldung vom Browser:

"Warning: session_start(): Cannot send session cache limiter - headers already sent "

Wäre super wenn ihr mir einen Tipp geben könntet!

Hier gehts zum Orginal Eintrag "Problem mit Sessions" im Forum

Antworten

Warum benutzt kaum jemand die Suchfunktion des Forums. Es gibt keine Fehlermeldung, die hier nicht schon besprochen wurde! Aber bitte, siehe http://www.faq-datenbank.de/_90059_artikel_001004_14_de.html

*** Nobody ***


2.

danke für den tip.
werde das nächste mal erst nachschauen.

jetzt aber noch eine weitere Sache:

ich mache ja einen Vergleich. Leider geht der immer in die Hose und leitet mich zu meinem else weiter
woran kann das liegen?
ich schreibe doch erst den Parameter wie oben beschrieben.
dann schaue ich auf der geschützten Seite, ob dieser Parameter bekannt ist(vgl oben)
danke


3.

1.) code posten

2.) schau dir das mal an: [PHP/MySQL]Login-System mit Sessions

johnpatcher


4.

also hier ist nun mein code:

login.php:

<?php

require_once('output_fns.php');

create_pagelayout('');

?>

<form method="get" action="check_login.php">

<table background="/Pics/bg_inputs.jpg" border="0" cellspacing="0" cellpadding="0" >
<tr>
<td valign="top" height="30px"width="120px"></td>
</tr>
<tr>
<td valign="top" width="120px"></td>
<td valign="top" width="150px" border="1"><span class="Stil1">User Name</td>
<td valign="top" width="150px" border="1"><input style="text" name="df_username"
maxlength="10" width="135px"></td>
</tr>
<tr>
<td valign="top" height="10px"></td>
</tr>
<tr>
<td valign="top" width="120px"></td>
<td valign="top" width="150px" border="1"><span class="Stil1">User Password</td>
<td valign="top" width="150px" border="1"><input type="password" name="df_userpassword" maxlength="10" width="135px"></td>
</tr>
<tr>
<td valign="top" height="20px"></td>
</tr>
</table>
<table background="/Pics/bg_inputs.jpg" border="0" cellspacing="0" cellpadding="0" width="290s">
<tr>
<td valign="top" width="120px"></td>
<td valign="top" width="90px"><span class="Stil1"></td>
<td valign="top" width="80px"><input type="submit" target="_blank" value="Login" align="right"></td>
</tr>
</table>


</form>
</body>
</html>


hier die check_login.php:

<?php
session_start();


?>
<?php
include('fmandphp.php');
require_once('output_fns.php');


//Datenbankanbindung
$FM = new FM_and_PHP();
$FM->setFileMakerHost("XXX","1048","5/6");
$FM->setDatabaseName("XXX.fp5");
$FM->setDatabaseLayout("XXX");
$FM->setDatabaseUserPassword("XXX","XXX");
$FM->addSearchField("df_username", $_REQUEST['df_username']);
$FM->addSearchField("df_userpw", $_REQUEST['df_userpassword']);
$FM->addSearchField("pk_user_ID", $_REQUEST['pk_user_ID']);
$FM->setCommand("find");
$FM->doQuery();
$FM->getNextRecord();
?>

<?php

//Überprüfung der Eingabe

if (empty($_REQUEST['df_username']) OR empty($_REQUEST['df_userpassword']))
{
create_pagelayout('');
ins_logo();
echo "<table><td valign='top' width='20px'></td><td valign='top'>
<span class='Stil1'>Username or Userpassword missing!<br><br>Please try again!</span></td>";
echo "<html><head><meta http-equiv='refresh' content='2; url=//XXXX/6/login.php'>
</Head></html>";
}
else if ($FM->getField('df_username') == $_REQUEST['df_username'] AND $FM->getField('df_userpw') == $_REQUEST['df_userpassword'])
{
create_pagelayout('');
ins_logo();
echo "<table><td valign='top' width='20px'></td><td valign='top'>
<span class='Stil1'>Access granted!</span></td>";
$_Session["fs_center_ID"] = $FM->getField("fs_center_ID");
$_Session['pk_user_ID'] = $FM->getField('pk_user_ID');
$_Session['df_username'] = $FM->getField('df_username');



echo "<html><meta http-equiv='refresh' content='1; url=//XXXX/6/bsp6.php'></html>";

}
else if ($FM->getField('df_username') != $_REQUEST['df_username'] OR $FM->getField('df_userpw') != $_REQUEST['df_userpassword'])

{
create_pagelayout('');
ins_logo();

echo "<table><td valign='top' width='20px'></td><td>";
echo "<span class='Stil1' align='center'>Username or Password not known!<br><br>Please try again!</span></td>";
echo "<html><meta http-equiv='refresh' content='1; url=//XXXX/6/login.php'>
</html>";
}

?>

nun die bsp6.php auf die nur nach einloggen zugriff erteilt werden soll:

<?php
include('checkuser.php');
require('output_fns.php');
create_headnav('');

?>

und nun zu guter letzt die checkuser.php:

<?Php
session_start();
if (!isset ($_SESSION["fs_center_ID"]))
{
echo "<html><meta http-equiv='refresh' content='0; url=//XXXX/6/login.php'></html>";
}
?>


5.

Ich habe den fehler bereits gefunden.
Jetzt aber noch die frage:

Wenn ich den Link der seite anwähle werde ich rausgekickt. SCHÖN!
Aber die seite ist trotzdem kurz zu sehen. Wie verhindere ich das?

Danke


6.

Mache nur eine Ausgabe, wenn alles ok ist. Also erst prüfen, wenn ok, Ausgabe, wenn nicht ok, weiterleiten.

*** Nobody ***


Hier gehts zum Orginal Eintrag "Problem mit Sessions" im Forum
 
phpforum.de | Impressum