Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Sessions bei "Login mit PHP&mySQL"
JimmyPage 21-05-2007, 18:27 Hallo,
ich hab das Tutorial soweit durch, läuft auch. Allerdings bekomm ich dauernd diesen SQL-Fehler
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\DEV\PHP\pages\test1\index.php:6) in C:\DEV\PHP\pages\test1\logged_in.php on line 2
Den session_start(); - Befehl hab ich natürlich in jedem php-doc als erstes drin. Woran kann das liegen?
Gruß und vielen Dank schon mal
Marco
ministry 21-05-2007, 18:33 (output started at C:\DEV\PHP\pages\test1\index.php:6) Da würde ich mal nachgucken.
JimmyPage 22-05-2007, 10:20 hm, mir fällt da nix großartiges auf. bei line 6 steht der link zu meinem css, das kanns ja wohl nicht sein, oder?
und eine session muss ich ja in der index.php ja wohl nich starten, odeR?
Das gleiche, was hier (http://www.php-resource.de/forum/showthread.php?s=&threadid=62965) für header erklärt steht, gilt für session_start ganz genauso.
Hallo,
ich habe auch eine Frage zu diesem Tutorial.
Das mit dem einloggen klappt alles super, aber wie kann ich nachdem sich ein User eingeloggt hat, die DB-Einträge weiterverwenden. (z.B. E-Mail, Alter etc.)
Dass man in der datei logged_in.php zum Beispiel "Hallo $username" ausgeben kann.
Wäre froh wenn jemand helfen könnte! :)
MfG und vielen dank noch für das tolle Tutorial, hat mir wirklich sehr weitergeholfen!
am einfachsten ist es, wenn du die daten beim login in die session speicherst.
kannst sie aber auch bei jedem seitenaufruf anhand der ID aus der Datenbank holen.
Hab mit sessions leider noch praktisch keine ahnung.
wie kann man das anstellen?
Eigetlich wollte ich es auch anhand der ID machen.. aber ich habs nicht hingekriegt die UserId in der datei logged_in.php auszugeben.
Es sollte ja eigentlich mit echo $user['UserId']; die UserId anzeigen, aber das macht es nicht...
Dann hast du das Tutorial offensichtlich noch nicht nachvollzogen. Da steht schließlich drin, wie man einen Wert in einer Session speichert.
BTW: session_register() ist veraltet. Mehr dazu im Handbuch.
ich hab einfach das problem, dass ich nicht weiss wo ich die sql abfrage machen muss. in welcher datei und an welchem ort.
ich habs jetzt die ganze zeit probiert, aber ich kann denn wert von $userid einfach nie übernehmen.
Überleg mal logisch. WO steht dir die variable $userid zur verfügung? Überall dort kannst du sie auch verwenden. Alles andere brauchst du gar nicht zu probieren. ;)
Und wo du die query absetzen sollst? Na da wo du die daten weiterverarbeiten willst.
Alternativ halt wie gesagt in die Session speichern.
Bitte werd was konkreter mit deinem Problem, so kann man dir nicht helfen.
<?
session_start();
include 'sessionhelpers.inc.php';
if (!logged_in()) {
echo 'Diese Seite ist nur für registrierte User zugänglich!';
}
else {
$sql="SELECT *
FROM users
WHERE UserID='$userid' LIMIT 1";
$result= mysql_query($sql);
while ($row=mysql_fetch_assoc($result)) {
echo $row['UserName'];
}
}
echo '<a href="login.php">Start</a>';
?>
Das ist die logged_in.php Datei.
Nachdem geprüft wird ob man eingeloggt ist, soll die sql abfrage ausgeführt werden, damit ich danach von der Datenbank alle Einträge (Email, etc) abrufen und ausgeben kann.
Mein Problem ist jetzt, dass die Variable $userid bei der sql-Abfrage nicht der UserId vom eingeloggten Benutzer entspricht.
Wie kann ich das jetzt also anstellen?
MfG
Mach dir bitte klar, woher diese Variable kommt. Das hatte ich schonmal gesagt.
ahhh bingo. jetzt ist mir ein licht aufgegangen. :D
schankedön
Hallo,
das folgende Problem hat schon mal jemand gehabt, doch es gibt keine Lösung dafür, leider.
Habe soweit alles nach dem Tutorial gemacht und bekomme folgeden Warnings.
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Programme\project\workspace\web\controller\c_login.php:2) in C:\Programme\project\workspace\web\controller\c_login.php on line 4
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programme\project\workspace\web\controller\c_login.php:2) in C:\Programme\project\workspace\web\controller\c_login.php on line 4
Hoffe mir kann jemand weiterhelfen?
Vielen Dank im Voraus.
Gruß
Steve
Kurze Info:
An den Pfaden liegt es nicht die stimmen!!
Original geschrieben von Steve81
das folgende Problem hat schon mal jemand gehabt, doch es gibt keine Lösung dafür, leider.
Ach, erzähl doch bitte keinen Blödsinn ...
Die Ursache des Fehlers ist identisch mit der hier beschriebenen (http://www.php-resource.de/forum/showthread.php?s=&threadid=62965), und auch im WWW findet sich zu der Fehlermeldung natürlich ausreichend Info (Tipp: Finden setzt natürlich Suchen voraus), z.B.
http://www.php-faq.de/q/q-fehler-session-cookie.html
http://www.php-fehlermeldungen.de/artikel,23,warning-session_start()-cannot-send-session-cookie---headers-already-sent-by,.html
http://www.develnet.org/33.html
Und lies bitte unsere Regeln (http://www.php-resource.de/forum/showthread.php?s=&threadid=50454) - wenn du Code postest, dann bitte nicht mit Überbreite.
Und einfache Fehlermeldungen müssen eigentlich gar nicht in PHP-Tags verpackt werden.
So langsam stelle ich mir die Frage, warum es eigentlich Foren gibt, wenn man etwas Frage immer dumm angebacht wird????
jahlives 05-06-2007, 13:24 So langsam stelle ich mir die Frage, warum es eigentlich Foren gibt, wenn man etwas Frage immer dumm angebacht wird????
So langsam stellt sich mir die Frage ob es denn hier überhaupt keine User gibt, die noch die Suchfunktionen eines Forums bemühen :rolleyes:
Sinn und Zweck eines Forums ist, dass man eben nicht jeden Sch... zig-mal von neuem erklären muss. Und wenn dann noch dafür gesorgt wird, dass es in dem Forum Sticky Thread zu genau diesem Problem gibt, dann weiss ich ned was du sonst noch erwartest...
Fertigen Code etwa ??? Oder sogar eine Problemlösung ohne jeglichen Quellcode ?
Gruss
tobi
p.s. brich deinen Beitrag um. Nur für ne Fehlermeldung scrollt hier niemand nach rechts --> hätte auch in den Regeln gestanden, die du mal lieber gelesen hättest
Ich stelle mir seid langem die Frage, wofür es eigentlich ein Informationsmedium namens Internet gibt, wenn doch kaum jemand sich vorher selber bemüht, dort die Antworten auf seine Fragen zu finden.
Aber um deine Frage zu beantworten: Nein, den Sinn und Zweck eines Forums sehen wir hier nicht darin (und das wurde auch schon ettliche Male klar gestellt), bereits zigfach beantwortete Fragen immer wieder erneut durchzukauen, weil jemand nicht mal ansatzweise Eigeninitiative zeigt, um sein Problem selbst zu lösen.
Das mit Euch beiden ist echter Kindergarten und man kann sich kaum vorstellen, dass man hier mit Erwachsenen reden??!!
Denke ist besser wenn damit jetzt aufhören!!!
|
|