PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

06-03-2005, 15:57
|
olimlad
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 82
|
|
Session erzeugen funktioniert nicht.
Hi,
bin gerade dabei ein Login System in meine Hompege einzubauen. Mein Problem dabei ist das wenn ich in den ersten Zeilen eine Session starten will php das aus welchem Grund auch immer nicht macht.
ich rufe mein script mit user.php?action=login von einem Formular aus auf. Wenn ich dann auf login klicke führt er alles ohne probleme aus. wenn ich dann auf den Ausloggen button klicke. Meldet er mir folgenden fehler:
Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in C:\xampplite\htdocs\homepage\doc\intern\user.php on line 144
Sitze schon eine ganze Weile an dem problem, hoffe jemand kann mir helfen.
Hier noch der Code der user.php datei.
PHP-Code:
<?php
include '../includes/config.php';
$content ='';
if($_GET['action'] == "login")
{
session_start();
if(!isset($_SESSION['IP']))
{
$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR'])
{
$content .='Fehler wegen IP';
if(get_magic_quotes_gpc())
{
array_stripslashes($_GET);
array_stripslashes($_POST);
array_stripslashes($_COOKIE);
}
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
if((isset($_POST['name'], $_POST['password'])) AND
login_right(addslashes($_POST['name']), addslashes($_POST['password'])))
{
if(!isset($_SESSION['ID']))
{
$sql = "SELECT
ID
FROM
users
WHERE
Nick = '".addslashes($_POST['name'])."' AND
Password = MD5('".addslashes($_POST['name'])."');";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
$_SESSION['ID']= $row['ID']; // Der Session die ID zuweisen
echo session_name();
echo session_id();
}
}
if(isset($_SESSION['ID']))
{
// Interner Berreich
}
else
{
}
}// Wenn man sich ausloggt
else if($_GET['action'] == "logout")
{
session_destroy();
}
include'../templates/template.php';
?>
Danke für jede Hilfe.
Oli
Geändert von olimlad (06-03-2005 um 16:29 Uhr)
|

06-03-2005, 16:00
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Re: Session erzeugen funktioniert nicht.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

06-03-2005, 16:05
|
olimlad
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 82
|
|
Ich verstehen nicht wo das problem ist?
|

06-03-2005, 16:17
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.745
|
|
wir aber schon, nämlich der Scrollbalken nach rechts, um deinen Code zu lesen, aber dazu hat keiner Lust, daher bitte den Link folgen, lesen und entsprechend ändern.
|

06-03-2005, 16:19
|
olimlad
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 82
|
|
besser
|

06-03-2005, 16:37
|
olimlad
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 82
|
|
Wollte noch dazu sagen das die if abfrage true ist. er führt glaube ich nur den session_start befehl nicht aus. Deswegen kennt die sesseion_destroy() FKT auch keine Session. und wenn ich versuche SID auszugeben ist der string leer
Wenn ich jetzt schreibe
PHP-Code:
if(session_start())
{
echo "JA";
}
gibt er mir JA aus.
Geändert von olimlad (06-03-2005 um 16:41 Uhr)
|

06-03-2005, 16:44
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von olimlad
Wollte noch dazu sagen das die if abfrage true ist. er führt glaube ich nur den session_start befehl nicht aus.
|
gibt es dafür irgendwelche anhaltspunkte?
Zitat:
Deswegen kennt die sesseion_destroy() FKT auch keine Session.
|
nein, session_destroy kennt die session nicht, weil es im else-zweig steht - und die session nur im if-zweig gestartet wird.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

06-03-2005, 16:49
|
olimlad
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 82
|
|
das heist die Session existiert nur im if bereich?
Aber wie soll ich es den sonnst machen?
Danke!
|

06-03-2005, 16:56
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von olimlad
das heist die Session existiert nur im if bereich?
|
eine session existiert dann, wenn sie per session_start() neu gestartet, oder eine bestehende per session_start() wieder aufgenommen wurde.
Zitat:
Aber wie soll ich es den sonnst machen?
|
sorge dafür, dass die bestehende session wieder aufgenommen wird, bevor du versucht sie zu destroyen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

06-03-2005, 17:37
|
olimlad
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 82
|
|
Ok Danke,
wenn ich aber jetzt mit meinem mauszeiger über den Link Ausloggen im eingeloggten bereich fahre. steht die SID nicht dabei obwohl ich sie anhänge.
was mache ich den da falsch?
<a href="user.php?action=logout&'.SID.'">Ausloggen</a>
Er meldet mir aber kein Fehler mehr.
Oli
|

06-03-2005, 19:04
|
Rolandbar
Junior Member
|
|
Registriert seit: Mar 2004
Beiträge: 199
|
|
is doch klar das sesseion_destroy() keine session kennst
sie wird auch nicht bei der logout function gestartet
nur bei der loginfunction.
und wahrscheindlich ist die konstante SID deswegen auch lehr.
http://ch2.php.net/manual/de/ref.session.php
diese seite lesen und verstehen.
Geändert von Rolandbar (06-03-2005 um 19:06 Uhr)
|

06-03-2005, 19:13
|
olimlad
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 82
|
|
Glaube nicht das das so ist. unter dem IE 6 sehe ich die SID nur unter Firefox nicht.
|

06-03-2005, 19:32
|
Rolandbar
Junior Member
|
|
Registriert seit: Mar 2004
Beiträge: 199
|
|
Zitat:
is doch klar das sesseion_destroy() keine session kennst
sie wird auch nicht bei der logout function gestartet
nur bei der loginfunction.
|
das stimmt aber
session_start() benutzen
|

06-03-2005, 21:08
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von olimlad
unter dem IE 6 sehe ich die SID nur unter Firefox nicht.
|
GET vs. cookies ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

07-03-2005, 09:01
|
olimlad
Newbie
|
|
Registriert seit: Mar 2005
Beiträge: 82
|
|
Habe bis jetzt keine Cokies eingabaut.
Aber wie kommt es das ich unter IE 6 die SessionID sehe und unter Firefox nicht.
Kann das später zum Problem werden? Wenn ich die nicht sehe? Übertragen wird sie ja anscheinend. Da er die Session jetzt wieder zerstört.?
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
Aktuelle PHP Scripte
Homepagetools 2022
Kostenloses Gästebuch und Homepagetools für die eigene Homepage.
Bei GuxDu kann man sich kostenlos die Websitetools auf die vorhandene Website einbauen. Zudem kann man bei GuxDU auch eine eigene Homepage mit 3D Effekten erstellen. GuxDu ist kostenlos.
29.04.2022
freepler | Kategorie: PHP/ Gaestebuch
|
SF-Shopsystem V1.0
Hier haben wir ein einzigartiges Shopsystem in PHP.
Die Anzahl der Artikel ist unbegrenzt, einfach zu bedienen und erklärt sich.
Ausführliche Beschreibung weiter unten.
28.04.2022
Speedcrawler | Kategorie: PHP/ Shops
|
Anzeigen Markt mit PayPal Bezahl System
Anzeigen Markt Script
mit PayPal Bezahl System
Der Benutzer hat die Möglichkeit sofort nach Bezahlung mit PayPal
seine Anzeigen zu schalten, je nach seinem Guthaben.
27.04.2022
Webace_de | Kategorie: PHP/ Anzeigenmarkt
|
Alle PHP Scripte anzeigen
|