Autor |
Nachricht |
jadafoxx
Threadersteller
Dabei seit: 24.01.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 23.11.2009 22:24
Titel PHP Log-In Script mit Session und geschützen Bereich |
|
|
Hallo,
ich bräuchte unbedingt ein bisschen Hilfe.
ich habe wirklich so gut wie keine ahnung von php aber muss einen kleinen geschützen login bereich programmieren.
soweit funktioniert auch als bis auf einer fehlermeldung in der geschützen datei. die seite wird angezeigt und funktionier aber es ist immer folgende meldung zu sehen:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\webhosting\webs\www.fliesenverband.de\deutsch\fliesen\mitglied\login\login.php:10) in D:\webhosting\webs\www.mustermann.de\deutsch\mitglied\login\login.php on line 194
ich kann damit leider nicht anfangen, aber ich denke es ist bestimm irgendwie nur eine kleinigkeit!????
da ich mich schon schwer mit diesem script getan habe und ich schon froh bin dass es halbwegs funktioniert, würde ich es auch gerne weiterverwenden.
danke für eure hilfe im voraus
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Di 24.11.2009 02:18
Titel
|
|
|
Eigentlich beschreibt Dir PHP ziemlich genau wo das Problem liegt
Cookies werden über den HTTP-Header gesetzt und wenn Du mit Deinem Script irgendeine Form von Ausgabe an den Browser erzeugst und daraufhin versucht, einen Cookie zu setzen, kann das nicht funktionieren, da die Header bereits gesendet worden sind um den Text anzeigen zu lassen.
Du fängst nun also in Zeile 10 Deiner login.php an, Inhalte an den Browser auszugeben und versuchst dann später in Zeile 194 mit Cookies zu arbeiten. Dieser Teil ab Zeile 194 muss also VOR einer Ausgabe an den Browser passieren und Dein Problem ist gelöst.
|
|
|
|
|
Anzeige
|
|
|
jadafoxx
Threadersteller
Dabei seit: 24.01.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 24.11.2009 18:37
Titel
|
|
|
Hallo,
und vielen vielen Dank für deine schnelle Antwort.
Hat mir wirklich geholfen
|
|
|
|
|
Kric
Dabei seit: 23.11.2006
Ort: Levern
Alter: 37
Geschlecht:
|
Verfasst Mi 25.11.2009 11:39
Titel
|
|
|
Ich hab auch ne kleine frage, zwar zum thema aber doch etwas anderes:
Ich möchte gerne die in meiner datenbank gespeicherten benutzerdaten auf der ersten seite im geschützten bereich anzeigen lassen. Irgendwie ist der platz dafür freigehalten, man sieht allerdings nichts. Hier mein script:
<?php
require("connect.inc.php");
$query = mysql_query("SELECT username, password FROM benutzer WHERE username = '".$_SESSION['username']."'");
$result = mysql_fetch_array($query);
if( $_SESSION['username'] != $result['username'] && $_SESSION['password'] != $result['password'] ) {
header("location:index.php");
die;
}
##############################################################
function display($name, $firma, $email, $noemail){
?>
<body>
<div id="main_content">
<div class="main_inside">
<h3>Kundenbereich</h3>
<p><b>Benutzerdaten:</b><br/>
<? echo $name.'<br>';
echo $firma.'<br>';
echo $email.'<br><br>';
if ($noemail == 'ja') echo 'E-Mail Adresse wird <b>NICHT</b> angezeigt:
<a href="noemail.php?noemail=ja"><img id="email_anzeigen" src="images/login_email_nein.png">';
else echo 'E-Mail Adresse wird angezeigt:<a href="noemail.php?noemail=nein"><img id="email_anzeigen" src="images/login_email_ja.png">';
echo '</a><br><br>';
echo '<a href="./passwordandern.php" class="mehr_link"><div class="passwort"></div>Passwort ändern</a>';
echo ' ';
echo ' ';
echo '<a href="logout.php" class="mehr_link"><div class="abmelden"></div>Abmelden</a>';
echo '<br><br>'
?></p>
<p>
<b>Forum</b><br/>
<a href="Kundenbereich/forum/index.php"><div class="login_img_forum"></div></a>
Im Forum können Sie mit anderen registrierten Kunden und der LIS GmbH Informationen austauschen. Sie können hier Fehler beschreiben, Anregungen machen und Tips geben.
<br/><br/>
<b>Downloadbereich</b><br/>
<a href="login_download.php"><div class="login_img_download"></div></a>
In diesem Bereich stellen wir die neuesten Programme/Updates und andere Dateien für Sie zum Download bereit.<br/><br/>
<b>E-Mail Liste</b><br/>
<a href="Kundenbereich/benutzer_anzeige.php"><div class="login_img_email"></div></a>
</p>
</div>
</div>
</body>
<?
}
###############################################################################
$sql = "SELECT username, anzname, firma, email, noemail FROM benutzer WHERE username LIKE '$user'";
$result = mysql_query ($sql);
$row = mysql_fetch_array ($result);
echo $row[anzname]."\n";
echo $row[username];
if ($row[anzname]){
$name = $row[anzname];
}
else {
$name = $row[username];
}
$firma = $row[firma];
$email = $row[email];
$noemail = $row[noemail];
/*if (!$name) {
?>
<SCRIPT language="JavaScript">
<!--
function check1(){
open("login_index.php","_top");
}
setTimeout('check1()', 0);
//-->
</SCRIPT>
<?
}
else */display($name, $firma, $email, $noemail);
?>
Kann mir wer helfen? Mir sagen wo das problem liegen könnte? Danke im voraus!!
|
|
|
|
|
Eistee
Administrator
Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht:
|
Verfasst Mi 25.11.2009 12:30
Titel
|
|
|
Zitat: | else */display($name, $firma, $email, $noemail); |
Also wenn das wirklich so drin steht ist die display funktion auskommentiert?
Desweiteren ist der Code absolut grausam und ich würde (ohne genaueres hinsehen) ein auf diesem Level programmiertes System nicht in sicherheitskritischen Bereich einsetzen - Was ein geschützer Bereich ja meist ist...
|
|
|
|
|
Kric
Dabei seit: 23.11.2006
Ort: Levern
Alter: 37
Geschlecht:
|
Verfasst Mi 25.11.2009 13:32
Titel
|
|
|
nene, tschuldigung, ist nicht auskommentiert...
Ja also ich möchte gerne bei dem code bleiben, so sicher oder unsicher der login bereich dann auch ist.
Ich habe aber immer noch keine antwort auf die frage, warum die "benutzerdaten" - username, firma, email - nicht angezeigt werden, wo sie sichtbar sein sollten. Steigt jemand durch den code durch und kann mir eine mögliche antwort geben?
|
|
|
|
|
Eistee
Administrator
Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht:
|
Verfasst Mi 25.11.2009 13:47
Titel
|
|
|
Wenn du bei dem Code bleiben möchtest, bitte Aber es ist dermassen wirr und anscheinend auch mit test echo's drinne, dass ich sehr stark bezweifel ob das überhaupt jemals funktioniert hat. Und ohne die Datenstruktur, Aufruf Url etc zu kennen kann man eh nichts sagen. Und eine genaue BEschreibung was überhaupt genau nicht funktioniert gabs ja auch noch nicht...
Und zum unsicheren Login Bereich - ist schon immer sehr cool und macht nen super Eindruck wenn Kunde A durch ein bischen rumprobieren die Daten von Kunde B,C,D sehen kann
|
|
|
|
|
Kric
Dabei seit: 23.11.2006
Ort: Levern
Alter: 37
Geschlecht:
|
Verfasst Mi 25.11.2009 13:56
Titel
|
|
|
Es ist der code von der alten webseite. Also gefunzt hats schon. Nur bei mir jetzt irgendwie nicht
Und zu den kunden: nicht bös gemeint, aber so schlau sind se nett ^^ Die paar die wir haben, die interessiert sowas nicht.
Ursprünglich war ich nach der suche danach, wie man es hinkriegt, dass die in der datenbank abgelegten daten dem eingeloggten user nochmal präsentiert werden. In diesen fall seinen namen, seine firma und seine email adresse. Quasi ein "willkommen herr x".
Ich hab bischen watt danach gegooglet, auch was gefunden, funktioniert aber nicht in meinem bestehenden code. Und leider sind meine kenntnisse nicht so weitreichend, dass ich wüsste, worans liegt
*würg*
Na jutt, muss ich zusehen wie ichs hinkrieg... Aber danke trotzdem für die aufmerksamkeit ^^
|
|
|
|
|
|
|
|
Ähnliche Themen |
User- und Session-ID per Cookie, Session oder in URL durchre
session id?
DVD- Session brennen auf MAC?
PHP-SESSION aktualisieren ?
session id aus url entfernen
problem mit session PHP
|
|