Hallo an alle. Ich bin leider noch nicht so erfahren mit Sessions in PHP und habe leider ein Verständnissproblem.
Ziel:
Ich möchte eine Session starten, die einen festen Namen hat und diese Session während des gesammten Logins an die Seiten übertragen.
Bisher habe ich dies so gelöst:
--------------------------------------------------------------
Eine Include.php, die auf jeder Seite per include geladen wird:
// Beginn Include.php
<?php
$db_name="db_name_xxx"; //Datenbank Name
$db_host="localhost"; //Datenbank Host
$db_user="user_xxx"; //Datenbank Username
$db_passwort="xxx"; //Datenbank Passwort
$verbindung = @mysql_connect($db_host,$db_user,$db_passwort);
if (!$verbindung) {
print '<p>KEINE SQL-VERBINDUNG</p>';
exit;
}
$db =mysql_select_db($db_name,$verbindung);
session_start();
?>
// Ende Include.php
--------------------------------------------------------------
Eine Login.PHP:
// Beginn Login.php
<?php
include('include/include.php');
$query=@mysql_query("SELECT * FROM login WHERE user='".$_POST["user"]."' AND pass='".$_POST["pass"]."'");
$row = @mysql_fetch_array($query);
if ($_POST["pass"]==$row["pass"]) {
session_start();
$_SESSION["userid"]=$row["id"];
$_SESSION["username"]=$row["user"];
header("Location: index.php?session=".session_id());
}
?>
// Ende Login.php
--------------------------------------------------------------
Die index.php lädt per include die nötigen Inhalte:
// Beginn index.php
<?php
include('include/include.php');
if ($_SESSION['userid']!='') {
if ($go==seite1) { include('php/seite1.php'); }
if ($go==seite2) { include('php/seite2.php'); }
} else {
echo "NICHT EINGELOGGT!";
}
?>
// Ende index.php
--------------------------------------------------------------
Nun zu meinen Fragen:
- Wie vergebe ich der Session einen eindeutigen Namen?
- Muss "session_name(NAMEDERSESSION);" auf jeder Seite vor "session_start();" stehen (also in der include.php)?
- Muss ich den Namen der Session bei "session_start();" in den Klammern angeben?
- Wenn ich die Session in ein Popup übergeben möchte, muss ich dies mit z.B. "popup.php?session_id();" machen?
- Muss der Name der Session mit bei "popup.php?session_id();" in den Klammern stehen?
Ich werde einfach nicht schlau aus den ganzen Beispielen auf den PHP-Seiten und möchte somit gerne meine letzte Möglichkeit probieren, dieses Problem endlich zu verstehen ;-)
Ich danke euch für eure Hilfe
Mit freundlichen Grüßen
Markus