php.de
Alt 26.06.2005, 21:36  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard Cookie

Hallo!
Ich möchte, dass sich alle aus meiner klasse mit einem usernamen und einem passwort einloggen können. wenn dies geschieht, soll ein cookie gesetzt werden. und bei jedem seitenaufbau soll geprüft werden, ob der cookie bereits gesetzt ist, wenn dies so ist, soll er erneuert werden (also immer die zeit auf weiter z.b. 2 min). aber wie mache ich das nun, dass ich ihn zum ersten mal setze, wenn erfolgreich eingeloggt wurde?

ich hab ein uploadscript auf meine wünsche angepasst. mit dem kann jeder user bilder raufspielen, die gleich angezeigt werden können! nun will ich aber, dass man sich nicht jedes mal neu einloggen muss. (hätte das lieber mit cookies statt mit sessions, wenn das geht!)

wenn ich nun aber erst nach dem überprüfen der passwörter den cookie setzte dann funktioniert das nicht, da der header schon gesendet wurde! was auch irgendwie klar ist, nur wie kann ich das dann machen?

hier mal der code in dem der login überprüft wird:

PHP-Code:
<?php

  $name 
$_POST['name'];
  
$passwort $_POST['pw'];
  
$user $name."-".$passwort;
  
// Benutzer
  
$Andi_A "Andi_A-xxx";
  
$Florian_R "Florian_R-xxx";
  
$Tobi "Tobi-xxx";

//Hier will ich prüfen, ob ein cookie existiert. also z.b. if(isset($_Cookie)){...


  
if(isset($name) AND isset($passwort) AND $user == $Andi_A OR $user == $Florian_R OR $user == $Tobi){
// Hier will ich, dass ein cookie zum ersten mal gesetzt wird.
    
print "Hallo ".$name;
?>
        <form enctype="multipart/form-data" action="http://members.sb-solutions.at/andi/Portal/index.php?section=5k/upload" method="post">
        <input type="file" name="file">

        Bitte Kategorie wählen:
        <select name="kategorie" size="1">
          <option>schueler</option>
          <option>Lehrer</option>
          <option>fasching05</option>
          <option>mondsee05</option>
          <option>klasse</option>
        </select>
</p>

        <input type="submit" value="hochladen">
        </form>

<?php
  
}

  else {
    print 
"Login fehlgeschlagen. Zur&uuml;ck zum <a href=\"http://members.sb-solutions.at/andi/Portal/index.php?section=5k/login\">LOGIN</a>";
  }

?>
also jetzt mal die konkrete frage: wie kann ich einen cookie nur setzen, wenn bereits ein erfolgreicher login gespeichert ist?

ich hoffe ich habe das jetzt nicht zu kompliziert / doof gefragt. wenn ja dann entschuldige ich mich im voraus

mfg andi
DER_Brain ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.06.2005, 00:17  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

Zitat:
wenn ich nun aber erst nach dem überprüfen der passwörter den cookie setzte dann funktioniert das nicht, da der header schon gesendet wurde!
wieso sollte da schon ein header gesendet wurden sein?

btw: speicher deine user/pws, wenn schon hardcoded, dann aber doch bitte in einem array. so wie dus jetzt machst, veranlaßt es mich zum ...
__________________
derHund ist offline  
Alt 27.06.2005, 01:45  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Benutze Sessions, sonst jagst du die Zugangsdaten ja bei jedem Request durch die Leitung. Außerdem ligen die dann auf den Rechnern rum ... nicht so gut.

Und, mach die Ausgaben einfach prinzipiell ganz zum Schluß, dann hast du keine Probleme mit Cookies, die du noch hinterherschieben musst. Falls das auf die Schnelle nicht geht, arbeite mit den Output-Buffer-Funktionen (->Manual).

Und die isset()-Abfrage kommt übrigends oben rein, an den Punkt, wo du die externen Vars abfragst. Von denen weißt du ja nicht, ob sie gesetzt sind oder nicht; die Variablen, deren Existenz DU überprüfst, hast du weiter oben ja selbst definiert.

Basti
Basti ist offline  
Alt 27.06.2005, 14:12  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja, der grund warum ich keine sessions verwende ist, dass ich sie einfach nicht verstehe hab schon ziemlich viele seiten angeschaut, aber ich verstehe sie irgendwie nicht wirklich...

PHP-Code:
<?php

if(isset($_POST['passwort']) AND $_POST['passwort'] == $passwort){
  
sessionstart(); 
  
session_name ($_POST['name']);
}
?>
1. stimmt das da oben. wenn ja, wo werden die sessions gespeichert, wenn nicht in iner DB?
2. Die session wird entweder mit session_close(); oder session_destroy(); oder mit dem beenden des browsers wieder geschlossen, oder?
danke mal für die antworten
mfg andi
DER_Brain ist offline  
Alt 27.06.2005, 17:49  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

RTFM..
Oder n gutes Tut -> http://tut.php-q.net/sessions.html
Chr!s ist offline  
 


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
Cookie zusätzlich für eine andere Domain setzen DonTermi PHP Tipps 2007 5 21.05.2007 13:52
Cookie löschen funktioniert nicht GSJLink PHP Tipps 2007 2 24.01.2007 14:55
Cookie setzen bei Subdomain mit Unterzeichen! horvath-media PHP Tipps 2006 5 27.05.2006 16:41
[Erledigt] Autologin mit Cookie, wie? Beste Lösung? PHP-Fortgeschrittene 17 16.02.2006 14:03
Cookie setzten funktioniert nicht!? nicobischof PHP Tipps 2006 13 06.01.2006 13:38
Cookie setzen und weiter leiten??? c01001 PHP Tipps 2005-2 33 18.10.2005 22:32
Cookie löschen tomtaz PHP Tipps 2005-2 3 06.06.2005 20:50
bitte um hilfe wegen cookie() und header() d4rki PHP Tipps 2005 2 21.04.2005 19:45
[Erledigt] cookie funkioniert nur von einer bestimmten Seite PHP Tipps 2005 2 19.04.2005 07:41
Browser abfragen, ob ein Cookie gesetzt werden kann PHP Tipps 2005 9 11.04.2005 18:24
cookie problem PHP Tipps 2005 5 08.03.2005 21:22
cookie wird nicht gesetzt - ( vorher KEINE ausgabe ) PHP Tipps 2005 4 14.02.2005 13:34
Cookie / localhost / Problem gelöst PHP-Fortgeschrittene 11 02.11.2004 22:41
eval und Cookie PHP Tipps 2004 4 27.10.2004 23:00
[Erledigt] cookie bei erster aktualisierung auslesen... PHP Tipps 2004 3 09.06.2004 09:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
die cookies konnten nicht gesetzt werden, da der header schon an den browser geschickt wurde., php session_close, session_close php, die cookies konnten nicht gesetzt werden da der header schon an den browser geschickt wurde, die cookies konnten nicht gesetzt werden, da der header schon an den browser geschickt wurde, session_close, session_close in php, php session_close(), fehlermeldung die cookies konnten nicht gesetzt werden, da der header schon an den browser geschickt wurde, hilfe die cookies konnten nicht gesetzt werden, da der header schon an den browser geschickt wurde., cookie kann nicht gesetzt werden, wegen header, \die cookies konnten nicht gesetzt werden, da der header schon an den browser geschickt wurde.\, cookie index.php?section=, session_close( php, was ist das für ein fehler die cookies konnten nicht gesetzt werden, da der header schon an den browser geschickt wurde., login (cookie) überprüfen, die cookies konnten nicht gesetzt werden, da der header schon an den browser geschickt wurde. vbulletin, warum session_close

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:37 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.