Markus: Session-Start/Name (Verständnissprobleme)

Beitrag lesen

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