session beenden?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
array
ausschnitt
beenden
benutzername
code
datenbank
dokumentation
eintrag
eintragen
ergebnis
feld
fragestellung
http
login
manual
menge
session
url
verbindung
-
Hi könnt ihr mir bitte sagen wie ich diese session beende?
Das hier sind die grundlegensten Sachen.
Eine Mysql-Datenbank gehört noch dazu und eine Html-Seite zum eintragen.
<?php
$verbindung = mysql_connect("localhost", "Benutzername" , "Passwort")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("homepage") or die ("Datenbank konnte nicht ausgewählt werden");
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$passwort2 = $_POST["passwort2"];
if($passwort != $passwort2 OR $username == "" OR $passwort == "")
{
echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.html\">Zurück</a>";
exit;
}
$passwort = md5($passwort);
$result = mysql_query("SELECT id FROM login WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "INSERT INTO login (username, passwort) VALUES ('$username', '$passwort')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Benutzername <b>$username</b> wurde erstellt. <a href=\"login.html\">Login</a>";
}
else
{
echo "Fehler beim Speichern des Benutzernames. <a href=\"eintragen.html\">Zurück</a>";
}
}
else
{
echo "Benutzername schon vorhanden. <a href=\"eintragen.html\">Zurück</a>";
}
?>
<form action="login.php" method="post">
Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>
Dein Passwort:<br>
<input type="password" size="24" maxlength="50"
name="password"><br>
<input type="submit" value="Login">
</form>
<?php
session_start();
?>
<?php
$verbindung = mysql_connect("localhost", "BenutzerName" , "DeinPasswort")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("homepage") or die ("Datenbank konnte nicht ausgewählt werden");
$username = $_POST["username"];
$passwort = md5($_POST["password"]);
$abfrage = "SELECT username, passwort FROM login WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
if($row->passwort == $passwort)
{
$_SESSION["username"] = $username;
echo "Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>";
}
else
{
echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>";
}
?>
<?php
session_start();
?>
<?php
if(!isset($_SESSION["username"]))
{
echo "Bitte erst <a href=\"login.html\">einloggen</a>";
exit;
}
?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Davon abgesehen, dass du nächstes mal evtl den Code-Tag benutzen solltest, solltest du auch darauf achten nur wesentliche und für die Fragestellung wichtige Code-Ausschnitte zu posten.
Eine Session könntest du z.B. grundsätzlich so beenden in dem du einfach
session_destroy();
benutzt. Allerdings bin ich mir nicht sicher ob der noch aktuell ist. Deswegen benutz ich persönlich einfach immer folgenden Zeile:
$_SESSION = array();
Damit löscht man auch alle vorhandenen Session-Variablen.
Beitrag zuletzt geändert: 28.12.2010 16:58:10 von alfr3d -
session_destroy() ist die aktuelle und zu empfehlende Variante, um Sessions zu beenden/löschen.
würde nur sinn machen, wenn man beabsichtigt, die Session neu zu befüllen.$_SESSION = array();
EDIT:
Grundsätzlich kann ich die PHP-Dokumentation bezüglich Sessions sehr empfehlen.
Beitrag zuletzt geändert: 28.12.2010 17:12:36 von metalmachine -
<?php
session_destroy();
?>
Sieht es dann so aus?
Was ist der Unterschied zwischen den Beiden die ihr vorhin genannt habt?
-
session_destroy();
beendet die SESSION komplett,
$_SESSION = array();
löscht nur den Inhalt der session - Variablen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage