php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.12.2004, 17:52  
Gast
 
Beiträge: n/a
Standard Login funktion geht nicht

Hi, also
ich habe ne html seite mit dreamweaver erstellt und wollte darin eine php login funktion einbauen. Es klappt auch alles super mit den abfragen aus der datenbank und co. Nur die funktion session start geht nicht:
Code:
<?
function inhalt($user) 
{
session_start();
session_register("user");
...
ich habe diese Funktion in einer Tabelle stehen und weiß das es wahrscheinlich falsch ist, nur will ich das script ja in eine html Seite einbetten. Er meldet mir immer:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/www/htdocs/...login.php:6) in /home/www/.../login.php on line 8
weiß einer was ich da machen kann, das er die session startet und den user somit als logged setzt?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.12.2004, 17:56  
Erfahrener Benutzer
 
Registriert seit: 24.08.2003
Beiträge: 714
Ashergul
Standard

naja steht eigentlich ja da... die fehlermeldung heit nix anderes als dass du bereits output an den browser geschickt hast. session_start darf aber wie auch die header() funktionen nur eingesetzt werden bevor irgendwas an den user geschickt wurde.
__________________
mfg Floh

Programmers don't die, they GOSUB without RETURN
Ashergul ist offline  
Alt 06.12.2004, 18:05  
Gast
 
Beiträge: n/a
Standard

ok kannst du mir denn sagen wie man verhindert das nichts an den User geschickt wird bevor diese Funktion auftritt?
 
Alt 06.12.2004, 18:37  
Gast
 
Beiträge: n/a
Standard

ok nurn weiß ich wie ich es hinkriegen könnterund zwar das ganze einfach vor den ganzen html tag stellen, ganz an den Anfang der Seite.
Nur wenn ich das mache meldet er mir trotzdem das schon ein cookie gesendet wurde. Wie geht denn das, steht doch an aller erster Stelle ???
In der Zeile in der angeblich das cookie gesendet wurde steht nur ein image:
Code:
<td width="811" height="76"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">[img]logo.gif[/img]</font></td>
Und nu?
 
Alt 06.12.2004, 18:40  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

steht es auch 100% in der ersten zeile??

<?php
session_start();

kein leerzeichen kein garnix?
Flor1an ist offline  
Alt 06.12.2004, 18:49  
Gast
 
Beiträge: n/a
Standard

naja ok es steht das hier davor:
<?
function inhalt($user)
{
session_start();
session_register("user");
}
?>
<html>
<head>
kanns daran liegen?
 
Alt 10.12.2004, 23:25  
Gast
 
Beiträge: n/a
Standard

Wenn Du die Funktion aufrufst, nachdem du schon etwas an den Browser geschickt hast, funktioniert es auch nicht.

Du musst session_start() direkt ausführen, nicht innerhalb einer Funktion.
Stelle Dir das einfach mal so vor:

Du schreibst die Funktion,
dann gibst Du Daten über den Browser aus (da reicht schon <html>),
danach rufst du die Funktion auf.
Wenn du die Funktion aufrufst ist das so, als schreibt der Browser (bzw. Parser) alles innerhalb der Funktion an die Stelle, an der Du die Funktion aufrufst, also wird das session_start() in Deinem Fall doch erst später in die Datei geschrieben.

Wenn du mit einem Formular arbeitest, lasse die Seite doch einfach die Infos an sich selbst schicken und frage dann ab, ob die Seite bereits aufgerufen wurde und Deine notwendigen Daten existieren.

PHP-Code:
<?php

if($user != ""//Seite bereits aufgerufen und Daten gesendet
{
session_start();
session_register('user');
}

else 
//Seite noch nicht aufgerufen oder Daten nicht gesendet
{
echo 
"<html><body>"//alle HTML-Tags erst hier schreiben
echo "<form action=".$_PHPSELF." method=post>";
echo 
"<input type='text' name='user'>";
    
// Hier weiterer Inhalt deines Formulars
echo "<input type='submit' value='senden'>";
}

?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
[Erledigt] Login, LogIn, Anmelden, Einloggen -&amp;amp;amp;amp;gt; ??? Off-Topic Diskussionen 20 14.07.2005 11:01
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
login funktion PHP Tipps 2005 6 29.01.2005 12:06
login mit session id PHP Tipps 2005 10 26.01.2005 12:32
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
sql anfrage in funktion greenrover PHP Tipps 2004-2 4 10.11.2004 14:58
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
eine login funktion einbauen mit html code, php loginfunktion

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.