Sönke Tesch: register_global / sessions - da ist doch was faul

Beitrag lesen

Und was sagt phpinfo(INFO_VARIABLES); ?  <---------------------\

|

@session_start();                                                | session_register('s_uid');                                       | $s_uid  =    $HTTP_POST_VARS["uid"];                             |

|

In einer anderen möchte darauf zugreifen, und zwar mit            |   @session_start();                                               |   $gespeicherte_id = $s_uid;                                      |

|

Naja, und dann ist hier Feierabend, $gespeicherte_id ist leer.    |

| Habe Sessions nie benutzt und kenne mich deshalb damit nicht aus.    | Aber:                                                                |                                                                      |   "If track_vars is enabled and register_globals  is disabled, only  |    members of the global associative array $HTTP_SESSION_VARS can be |    registered as session variables. The restored session variables   |    will only be available in the array $HTTP_SESSION_VARS.           |                                                                      |    Example 1. Registering a variable with track_vars enabled         |                                                                      |    <?php                                                             |    session_register("count");                                        |    $HTTP_SESSION_VARS["count"]++;                                    |    ?>"                                                               |                                                                      | Weiterhin:                                                           |                                                                      |   "If register_globals  is enabled, then all global variables can be |    registered as session variables and the session variables will be |    restored to corresponding global variables.                       |                                                                      |    Example 2. Registering a variable with register_globals enabled   |                                                                      |    <?php                                                             |    session_register("count");                                                                                                     |    $count++;                                                         |    ?>"                                                               |                                                                      | Da Du Deine gePOSTete Variable nicht finden konntest bzw. selbige in | $HTTP_POST_VARS steckte, gehe ich mal davon aus, daß Du auch bei den | Sessions so vorgehen und statt $count $HTTP_SESSION_VARS benutzen    | solltest.                                                            | Und wenn ich mich recht entsinne, fing der ganze Ärger ja damit an,  | daß Du register_globals ausgeschaltet hattest.                       |                                                                      | Also: Obige Anleitungsauszüge nochmal durchlesen. Und dann ----------/

Und nebenbei bemerkt: Fehlermeldungen mit @ zu unterdrücken ist eine sehr schlechte Idee - Fehlermeldungen sind dazu da, gelesen zu werden. Und auf Deinem Server ist es obendrein unnötig, denn dank "display_errors = Off" und "log_errors = On" ist die Ausgabe von Fehlermeldungen zum Webbrowser eh abgeschaltet, sie sammeln sich stattdessen in der error_log-Datei des Webservers. Schau mal rein, vielleicht steht ja auch was zu Deinem aktuellen Problem drin.

Gruß,   soenk.e