Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Problem mit sessions

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

bin gerade dabei mir nen kleinen Webshop aufzubauen.

Habe dabei einen eigenen Server mit feaster IP,Win2003 Server und PHP 5.

Soweit läuft das Ding, nur mit der Session bekomme ich probleme.

Es werden die Session im Verzeichnis angelegt, ich habe auch die Zugriffe auf die Verzeichnisse und Datein.

Aber es kommt immer folgende Fehlermeldung:

Warning: Unknown: The session id contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (c:\php\sessions) in Unknown on line 0

Hier das Script:

<?php

@session_start();

$_SESSION['login'] = md5(uniqid(rand()));

echo "<a href=\"seite2.php?PHPSESSID\">Seite 2</a>";

?>

hier die Seite 2:

<?php

@session_start();

echo $_SESSION['login'];

?>

Kann mir jemand helfen ??

Gruß und Danke

andy_mann

googleMich

oder evtl schon deine lösung:

klickMich

aus dem inhalt:

This can occur if you are using mySQL and you have not set up your user and password correctly.

To solve the problem, examine your \settings\override\site.ini.append.php file to ensure that the values in the [DatabaseSettings] section are correct.

ich selbst hatte den fehler noch nie, hoffe aber dass ich dir bisschen weiterhelfen konnte.

viel erfolg

Also als erstes würde ich die Fehlerunterdrückung (das @ Zeichen) vor dem session_start() wegnehmen.

Wenn der Quellcode auf der 2. Seite excakt genauso ist wie Du ihn hier gepostest hast, bekommst Du da nämlich den Fehler, dass bereits ein Header gesendet wurde. Demnach existiert keine Session-ID und Du fragst eine Variable ab, die nicht zu einer Session gehört. Ich gehe dabei einfach Mal davon aus, dass session_autostart bei Dir deaktiviert ist.

Abgesehen davon übergibst Du die Session-ID und den Namen der Session nicht mit PHPSESSID sondern einfach mit SID. Das ist die Konstante dafür.

Der "Header already sent"-Fehler, tritt auf, wenn vor der Funktion schon irgendeine Form von HTML-Ausgegeben wurde (also z.b. <html>...).

<? session_start(); ?> also ganz an den Anfang.

  • Autor

Hallo,

danke euch,

ich habe de <?php session_start(); ?> ganz an den Anfang gesetzt.

Es kommt jetzt keine Fehlermeldung mer.

Allerdings, wenn ich jetzt

echo "<a href=\"seite2.php?SID\">Seite 2</a>";

linke, erscheint auf der 2. Seite einen neu session ID und ich kann nicht auf meine Variablen zugreiffen.

Was mache ich denn falsch ??

Gruß

andy_mann

Du must du die SID auch übergben und bei session_start(...) sie auch benutzen, sonst kannst du logischerweise nicht auf die selbe Session zugreifen.

Wie wäre es, wenn du mal selbst nachliest, wie das geht? PHP hat nämlich eine gute Doku:

http://de2.php.net/manual/de/ref.session.php

Nur so als Tipp.

Wenn Du die Session- ID selbst bestimmen willst, dann solltest Du das auch mit session_id() tun.

  • Autor

ääähhh...

jetzt blick ichs eigentlich gleich gar nicht mer.....

Komme da mit dem anlegen der ID und dann mit der Übergabe auf andere Seite und anschließend auf die zuvor angelegten Variablen nicht zu recht...

Hat jemand vieleicht nen Beispiel Code ??

Gruß und Danke

andy_mann

  • Autor

Hallo,

vielen Dank, jetzt scheint es zu funktionieren.

Das was ich falsch gemacht habe lag an:

echo '<br /><a href="page2.php?' . SID . '">page 2</a>';

in . SID . ......

Gruß und Danke

andy_mann

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.