Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Session starten bei LogIn > Fehler Meldung (https://www.gegen-bilderklau.net/thread.php?threadid=173830)


Geschrieben von Kuhmuhphu am 26.07.2010 um 19:13:

  Session starten bei LogIn > Fehler Meldung

Hallo zusammen smile

Ich bin derzeit dabei einen LogIn mithilfe eines Tuts ( http://www.tutorials.de/php-tutorials/9684-php-mysql-login-system-mit-sessi
ons.html
) zu coden. - Alerdings sagt er mir immer wieder

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/rhmuehlberg/www/Allgemeines/login_action.php:2)

dann hab ich mir mal eine Hilfe seite angesehn und dort stand was davon das man erst session_name einfügen muss bevor man die session starten kann.
Stimmt das? - denn in dem tut hab ich das nicht gefunden...

- Diese fehler meldung kommt wenn ich mich einloggen will.
Den Account hab ich natürlich berreits in meiner mysql Datenbank angelegt.


EDIT:
heißt das jetzt das ich der login_action.php einen Fehler habe? muss ja so sein...



Geschrieben von Melli am 26.07.2010 um 19:17:

 

Ich kenn diesen Fehler nur davon, wenn ich ne Session zweimal oder öfter starte. Zeig mal den Code, bitte.



Geschrieben von Kuhmuhphu am 26.07.2010 um 19:20:

 

EDIT:
Hier mal alle Fehler meldungen die ich bekomme wenn ich mich einloggen will


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /users/rhmuehlberg/www/Allgemeines/login_action.php:17) in /users/rhmuehlberg/www/Allgemeines/login_action.php on line 19

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /users/rhmuehlberg/www/Allgemeines/login_action.php:17) in /users/rhmuehlberg/www/Allgemeines/login_action.php on line 19

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in /users/rhmuehlberg/www/Allgemeines/login_action.php on line 22

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in /users/rhmuehlberg/www/Allgemeines/login_action.php on line 23
Keine Verbindung zur Datenbank



hier mein login_action

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <?php
session_start();
include("db.php");
?>

<html>
<head>

  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>login_action</title>


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

</head>


<body>
          <?php

session_start ();


$connectionid mysql_connect ("localhost""root""");
if (!mysql_select_db ("user"$connectionid))
{
  die ("Keine Verbindung zur Datenbank");
}

$sql "SELECT ".
             "Id,
              nickname,
              email,
              geburtstag,
              homepage,
              ICQ ".
    "FROM ".
    "benutzerdaten ".
  "WHERE ".
    "(nickname like '".$_REQUEST["username"]."') AND ".
    "(password = '".md5 ($_REQUEST["password"])."')";
$result mysql_query ($sql);

if (mysql_num_rows ($result) > 0)
{

  $data mysql_fetch_array ($result);

  $_SESSION["user_id"] = $data["Id"];
  $_SESSION["user_nickname"] = $data["Nickname"];
  $_SESSION["user_email"] = $data["Email"];
  $_SESSION["user_geburtstag"] = $data["Geburtstag"];
  $_SESSION["user_homepage"] = $data["Homepage"];
  $_SESSION["user_ICQ"] = $data["ICQ"];

  header ("Location: intern.php");
}
else
{
  header ("Location: login.php?fehler=1");
}
?>
</body>
</html>



Geschrieben von Melli am 26.07.2010 um 19:42:

 

dieses session_start dings in zeile 22 ist überflüssig, lass das mal weg. und du hast keine verbindung zur datenbank, weshalb die unteren zwei fehlermeldungen kommen. hast du keine db.php oder sowas? falls nicht mach dir eine:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<?php
//hier werden die Daten eingegeben. [s. unten]
mysql_connect('localhost','root','***'//wenn es nicht connected werden kann, dann wird folgendes ausgegeben
or die ('Keine Verbindung moeglich');
//Datenbank wird ausgewhlt
mysql_select_db('DEINEDATENBANK'//wenn nicht erreichbar
or die ('Datenbank existiert nicht');
//PHP Script beenden.
?>
*** und deinedatenbank sind noch zu ersetzen. und überprüf mal, ob das root auch wirklich stimmt. das sollte dein benutzername sein, je nachdem bei welchem anbieter du bist. weiß ich grad nich auswendig.

und mach das hier in deinem code weg:
php:
1:
2:
3:
4:
5:
$connectionid mysql_connect ("localhost""root""");
if (!mysql_select_db ("user"$connectionid))
{
  die ("Keine Verbindung zur Datenbank");
}



Geschrieben von Kuhmuhphu am 26.07.2010 um 19:49:

 

doch klar hab ich ne db (bei anderen php sachen wie z.b. automatisches eintragen etc.. funzt es ja auch,.. also kann es ja nicht an der db liegen..)

Bei Zeile 22 hab ich es schon weggemacht.. hilft leider nichts..


EDIT:
@Annso
Danke.. ich werds dann einfach mal mit dem tut versuchen smile



Geschrieben von Oli am 26.07.2010 um 19:53:

 

session_start() muss vor jeder Ausgabe stehen.

Das hier funktioniert nicht:
php:
1:
2:
3:
4:
5:
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <?php
session_start();
include("db.php");
?>
weil zuvor der <!DOCTYPE> an den Browser gesendet wurde (Ausgabe). Dadurch kann das Cookie nicht mehr gesetzt werden, denn Cookies und Header kommen vor dem Seiteninhalt.

So funktioniert es:
php:
1:
2:
3:
4:
5:
<?php
session_start();
include("db.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Wichtig ist auch, dass keine leere Zeile und/oder keine Leerzeichen vor <?php stehen, denn auch diese gelten als Ausgabe, weil sie ja anden Browser geschickt werden.


LG,
Oli



Geschrieben von Kuhmuhphu am 26.07.2010 um 19:59:

 

Dickes Danke.
Nun funzt es... Was so ein Leerzeichen doch alles anrichten kann^^


Forensoftware: Burning Board, entwickelt von WoltLab GmbH