• Wir werden in den nächsten Tagen verschiedene Wartungsoperationen und Optimierungen am Server durchführen. Es wird zu mehreren Ausfällen kommen, die teilweise auch mehrere Stunden umfassen können.

kleines php / mysql problem(sehr suspekt o_O)

Joined
Dec 26, 2002
Messages
1,764
Points
0
poinsen @ all,

manchmal hat mal glück im leben... nunja jetzt aber nicht :D
ich habe mir ne kleine seite mit css, php, mysql und dem paint editor zusammengeschachtelt.
Hier ist die seite.
euch wird gleich auffallen, es gibt einen kleinen fehler in der navigation.

------------------------------------------------------------------------------------

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /srv/www/htdocs/web6/html/Communityprojekt/index.php:28) in /srv/www/htdocs/web6/html/Communityprojekt/index.php on line 47

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /srv/www/htdocs/web6/html/Communityprojekt/index.php:28) in /srv/www/htdocs/web6/html/Communityprojekt/index.php on line 47

------------------------------------------------------------------------------------

dies sind die fehlermeldungen.
also nun zur erläuterung, wozu das gehört:

ich habe also ein kleines anmelde script da drinne nur ich weiß zum teufel nochmal nicht, warum er mir diesen fehler ausspuckt. ich habe schon gegoogelt, aber die antworten haben mir nicht wirklich weitergeholfen.

hier meine index.php:
PHP:
<html>
<head>

<title>Startseite</title>

<link rel="stylesheet" type="text/css" href="css.css">

</head>

<body background="background.jpg" text="#000000" bgcolor="#FFFFFF" link="#000000" alink="#000000" vlink="#000000">

<table border="0">
  <tr>
    <th colspan="2"><img src="banner.jpg" width="800" height="140" border="0" alt=""></th>
  </tr>
  <tr>
    <td>
</table>








<table>



<tr>
<td>




<div style="background-image:url(nav.gif); margin:0px; padding:10px">



	         <div class="box">
	           <b class="top">
	             <b class="r1"></b><b class="r2"></b>
	             <b class="r3"></b><b class="r4"></b>
	           </b>
<p>
<? session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!logged_in())
echo '<form method="post" action="login.php">
<label>Benutzername:</label><input name="username" type="text"><br>
<label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
<input name="login" type="submit" id="login" value="Einloggen">
</form>';
else
echo '<a href="logout.php">Ausloggen</a>';

?>
</p>
                   <br> <h1><a href="index.php">Registrieren</a></h1><br>
	           <p><a href="index.php">Startseite</a></p>
	           <p>Suche</p>
	           <p>Forum</p>
	           <p>Chat</p>
	           <p>Hilfe</p>
	           <p> </p>
	           <b class="bottom">
	             <b class="r4"></b><b class="r3"></b>
	             <b class="r2"></b><b class="r1"></b>
	           </b>
	         </div>
         </td>

         <td valign="top" align="left">
		<font size="+3"> hi</font>

         </td>

	</tr>

</table>

</body>
</html>

und das meine css.css datei:
Code:
<!--
.box { width: 10em; background: #FF7F00;}
.box h1, .box p {margin: 0 10px; }
.box h1 {font-size:100%; color:#000000; }
.box h2 {font-size:100%; color:#000000; }
.box .top, .box .bottom{display:block;background: #ffffff;}
.box .top b, .box .bottom b
{
  display:block;height: 1px; overflow: hidden; background: #FF7F00;
}
.box .r1{margin: 0 5px;}
.box .r2{margin: 0 3px;}
.box .r3{margin: 0 2px;}
.box .top .r4, .box .bottom .r4{margin: 0 1px;height: 2px;}
-->

kann mir da vielleicht jemand weiterhelfen? ich finde den fehler wirklich nicht :(
bei googleergebnissen steht, das man nichts vor "session_start();" stehen darf, aber ich habe alles schon rumprobiert und es funzt nicht.

MfG Maggy der traurige noob
 
Qie du schon richtig sagtest muss der Sesionstart bzw Sessiondefinierungen am Anfang der Ausgegebenen Seite stehen. Soll heißen du kannst vorher ruhig PHP Code einbauen, aber es darf vor dem Sessionbefehl kein HTML ausgegeben werden.

Daher würd ich erstmal
PHP:
<? session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}

Ganz nach vorne setzen.

Und dann mal posten wie das ganze dann aussieht.
 
joa dankeschön, hat geklappt :)
ergebniss sieht man nun auf der seite.

hier nun nochmal der quellcode, so das kein fehler mehr kommt:

PHP:
<? session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
?>
<html>
<head>

<title>Startseite</title>

<link rel="stylesheet" type="text/css" href="css.css">

</head>

<body background="background.jpg" text="#000000" bgcolor="#FFFFFF" link="#000000" alink="#000000" vlink="#000000">

<table border="0">
  <tr>
    <th colspan="2"><img src="banner.jpg" width="800" height="140" border="0" alt=""></th>
  </tr>
  <tr>
    <td>
</table>








<table>



<tr>
<td>




<div style="background-image:url(nav.gif); margin:0px; padding:10px">



	         <div class="box">
	           <b class="top">
	             <b class="r1"></b><b class="r2"></b>
	             <b class="r3"></b><b class="r4"></b>
	           </b>
<p>
<?
if (!logged_in())
echo '<form method="post" action="login.php">
<label>Benutzername:</label><input name="username" type="text"><br>
<label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
<input name="login" type="submit" id="login" value="Einloggen">
</form>';
else
echo '<a href="logout.php">Ausloggen</a>';

?>
</p>
                   <br> <h1><a href="index.php">Registrieren</a></h1><br>
	           <p><a href="index.php">Startseite</a></p>
	           <p>Suche</p>
	           <p>Forum</p>
	           <p>Chat</p>
	           <p>Hilfe</p>
	           <p> </p>
	           <b class="bottom">
	             <b class="r4"></b><b class="r3"></b>
	             <b class="r2"></b><b class="r1"></b>
	           </b>
	         </div>
         </td>

         <td valign="top" align="left">
		<font size="+3"> hi</font>

         </td>

	</tr>

</table>

</body>
</html>

wie man sieht, einfach das dingen unten wegnehmen und oben dran heften(aber man sollte nicht den oberen teil zu vergessen noch zu schließen "?>" ;) )
joa nochmals vielen dank :top
 
Back
Top Bottom