php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.07.2005, 15:56  
Gast
 
Beiträge: n/a
Standard Problem mit Session

Hallo Leute,

habe ein Problem mit Session’s bzw. einem daraus resultierenden Fehler. Ich habe also einen Login Bereich, wobei vor jedem eigentlichen Dokument die Session beginnt:

PHP-Code:
<?php
<?php 
session_start
(); 
if(!
session_is_registered('user') || $_SESSION['user'] == ""

  
header("location:index.php"); 
  die; 

?>
?>
Die Session funktioniert eigentlich einwandfrei. Nur bei dem Update eines Namens über ein Formular

PHP-Code:
<?php
<form method="post" action="update.inc.php?id=<? echo"$line[id]";?>">
<
input type="hidden" value="1" name="sonstiges"

         <
table width="100%" border="0" align="center" cellpadding="10" class="form">
            <
tr>
              <
td width="14%"><div align="left">Name:</div></td>
              <
td width="36%">              <div align="left">
                <
input name="name" type="text" id="name" value="<? echo"$line[name]";?>" size="25">
?>
funktioniert es nicht. Dann schreibt er mir nichts in die Datenbank. Lasse ich o.g. Session weg funktioniert das Formular einwandfrei. Hat jemand eine Idee woran das liegen könnte?

Vielen Dank im voraus für Eure Antworten.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.07.2005, 15:59  
Gast
 
Beiträge: n/a
Standard

Zitat:
funktioniert es nicht. Dann schreibt er mir nichts in die Datenbank.
Weil es stattdessen was tut?

Bleibt es im if(!session_is_registered('user') || $_SESSION['user'] == "") hängen?
Oder erkennt es die Formulareingaben nicht mehr?
Oder wird es blau?
Oder wie?
 
Alt 10.07.2005, 16:02  
Gast
 
Beiträge: n/a
Standard

Er bleibt nicht hängen und wird auch nicht blau

Es gibt auch keine Fehlermeldung. Ich weiß nur das die Variable Namen nicht übergeben wird wenn ich die Session benutze. Wie gesagt, ohne Session funktioniert das Formular einwandfrei.
 
Alt 10.07.2005, 16:06  
Gast
 
Beiträge: n/a
Standard

Änder es mal bitte so ab
PHP-Code:
<?php
// ...
if(!session_is_registered('user') || $_SESSION['user'] == "")
{
  
header("location:index.php");
  die(
'rest in pieces');
}
// ...
?>
siehst Du jetzt die die-Meldung, wenn das Skript abbricht?
 
Alt 10.07.2005, 16:13  
Gast
 
Beiträge: n/a
Standard

Leider nicht. Resultat ist, dass ich mich nicht mehr anmelden kann.
 
Alt 10.07.2005, 16:21  
Gast
 
Beiträge: n/a
Standard

Weil das Skript jetzt einen syntax/parse error hat, oder warum?
Denn ansonsten kann ich den Unterschied zwischen die; und die(xyz); in diesem Zusammenhang beim besten Willen nicht erkennen.
 
Alt 10.07.2005, 16:56  
Gast
 
Beiträge: n/a
Standard

Dann bekomme ich folgendes zu sehen.

Zitat:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/web276/html/administration/willkommen.php:2) in /var/www/web276/html/administration/willkommen.php on line 6
rest in pieces
Sorry, war im Firefox nicht zu sehen.
 
Alt 10.07.2005, 17:01  
Gast
 
Beiträge: n/a
Standard

ok, dann hast Du also zwei Probleme:
einmal cannot send/modify header blablabla
und die abschmierende session.

header müssen vor allen Ausgaben (also Sachen die z.B. in der Quelltextansicht des browsers auftauchen) abgeschickt werden. Sobald das erste Zeichen der Ausgabe an den client geht, ist Sense mit header().
In diesem Fall erzeut Zeile 2 in willkommen.php irgendeine Ausgabe.
php kann AUsgaben zwischenpuffern und erst "wenn es sein muss" an den client schicken. Dadurch wird die Illusion geschaffen, dass man header() an einer beliebigen Stelle verwnden kann. Also entweder Skript aufräumen oder output_buffering einschalten.



Benutzt Du zum Transport der Session-Id cookies?
Was sagt
PHP-Code:
<?php phpinfo(); ?>
zu den Einstellungen des Moduls "session"?
 
Alt 10.07.2005, 17:12  
Gast
 
Beiträge: n/a
Standard

Nein, ich arbeite nicht mit Session-ID cookis. Modul Session unter php info sagt folgendes:

  • Session Support enabled
    Registered save handlers files user

    Directive Local Value Master Value
    session.auto_start Off Off
    session.bug_compat_42 On On
    session.bug_compat_warn On On
    session.cache_expire 180 180
    session.cache_limiter nocache nocache
    session.cookie_domain no value no value
    session.cookie_lifetime 0 0
    session.cookie_path / /
    session.cookie_secure Off Off
    session.entropy_file no value no value
    session.entropy_length 0 0
    session.gc_divisor 100 100
    session.gc_maxlifetime 1440 1440
    session.gc_probability 1 1
    session.name PHPSESSID PHPSESSID
    session.referer_check no value no value
    session.save_handler files files
    session.save_path /tmp /tmp
    session.serialize_handler php php
    session.use_cookies On On
    session.use_only_cookies Off Off
    session.use_trans_sid Off Off
 
Alt 10.07.2005, 17:17  
Gast
 
Beiträge: n/a
Standard

gut, also erstmal Problem #2, die abschmierende Session.

na aber wohl benutzt Du cookies - jedenfalls versucht php es
Zitat:
session.use_cookies On On
session.cookie_lifetime 0 bedeutet, dass der Keks gültig sein soll, bis das client-Programm geschlossen wird. Beim IE gibt es dafür extra die Einstellung "Sessioncookies zulassen ja/nein/warum?" und bei mozilla "akzeptiere cookies für eine session".

hm hm hm .... lass Dir vielleicht einfach mal die session-id ausgeben per
PHP-Code:
<?php
// ...
if(!session_is_registered('user') || $_SESSION['user'] == "")
{
//  header("location:index.php");
  
echo 'Session-id: 'session_id();
  die(
'rest in pieces');
}

echo 
'Session-id: 'session_id();
// ...
?>
Ist das immer die selbe oder ändert sie sich - insbesondere, wenn das Formular abgeschickt wird?
 
 


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
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Problem mit Session Charly Shop Sui PHP Tipps 2006 13 25.08.2006 17:08
Und noch ein Session Problem... Weyoun PHP Tipps 2006 9 27.02.2006 22:17
Problem mit Firefox und Session PHP Tipps 2005-2 5 25.08.2005 01:14
problem mit session LA-Finest PHP Tipps 2005-2 13 18.08.2005 15:54
Session wieder aufnehmen; Problem mit GET Jacks Rache PHP-Fortgeschrittene 9 12.08.2005 14:32
[Erledigt] Problem mit Session PHP Tipps 2005-2 1 06.08.2005 19:07
seltsames php und session problem netti PHP-Fortgeschrittene 16 01.06.2005 17:01
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
problem mit ner Session, es gehn Arrays verloren PHP-Fortgeschrittene 3 10.11.2004 18:01
[Erledigt] PHP Session Problem, dringend! PHP-Fortgeschrittene 17 21.10.2004 21:15
Session wird falsch wieder aufgenommen - Problem mit Session PHP Tipps 2004 2 16.10.2004 14:30
session problem PHP Tipps 2004 2 22.07.2004 08:39


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 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.