MySQL: Session als Parameter?

Acriss

Gesperrt
hi
ich nutze folgenden Code:
PHP:
<?php
/* Logout */

$close = mysql_close($_SESSION["connect"]); //line 4
if ($close)
{
echo 'Logout war erfolgreich. <br> Verbindung beendet';
session_destroy();
}
else
{
echo 'Fehler, Verbindung weiterhin aktiv.';
}
?>

Die Session:
PHP:
$connect = mysql_connect(localhost, "benutzer", "passwort");
session_register("connect");

Allerdings erhalte ich folgende Meldung:

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /usr/export/www/vhosts/funnetwork/hosting/zeitschlacht/register/logout.php on line 4

Fehler, Verbindung weiterhin aktiv.

Kann mir jmd weiterhelfen?
 
Hi,

Hast du ganz am Anfang der Seite den Befehl "session_start():" eingefügt?

Das Problem hatte ich letztens auch aber bei einem Query.
Ich habe dann einfach den ganzen Query nochmals gelöscht und neu geschrieben und siehe da es hat dann komischerweise Funkioniert. Kann dir leider auch nicht sagen an was es gelegen hat.

Grz

scan
 
Benutze statt dem veralteten [phpf]session_register[/phpf] lieber die neue Art der Zuweisung durch die das direkte Ansprechen des Session Arrays:

PHP:
$_SESSION['connect'] = $connect;

Allerdings solltest du bedenken, dass eine normale MySQL Verbindung am Ende des Skriptes automatisch getrennt wird.
Für deinen Zweck solltest du also eher auf [phpf]mysql_pconnect[/phpf] setzen.
 
session_start();
habe ich...

@Felix Jacobi:
Aber wie beende ich das denn wieder?
da steht, das die mit mysql_close(); nicht beendet wird :(
 
Ich lösche es immer mit:
PHP:
$_SESSION['connect'] = "";

Es kann sein, dass es eine schönere Methode gibt. Aber so funktioniert es wunderbar.

Grz

scan
 
Hmm
da die zeit im Moment ein bisschen drängt, hab ich die einfachere Variante genommen,
und alles in ein Script geschrieben.
Halt ohne session.
Aber ich enthalte es euch nicht vor ;)

PHP:
<?php
/* MySQL Eintrag */

$connect = mysql_connect(localhost, "benutzer", "pw");


if ($connect)
   {
   echo 'Verbindung steht<br>Daten k&ouml;nnen eingetragen werden =))))';
   /* Daten eintragen*/
   echo '<form method="post"><input type="submit" name="logout" value="logout"></form>';

	/* Logout */
	if (isset($_POST['logout']))
	{
	$close = mysql_close();

         if($close)
	{
	echo 'Logout war erfolgreich. <br> Verbindung beendet';
	}
	elseif(!$close)
	{
	echo 'Fehler, Verbindung weiterhin aktiv.';
	}
	}
     }

else
{
echo 'Verbindung konnte nicht aufgebaut werden. Probieren sie es nocheinmal';
}

?>

Danke für alle die sch bemüht haben :)
 
Sch... die Wand an!

Also ich geh echt hoch.

Mein Problem:
Das Script funktioniert nur, wenn es über die URL aufgerufen wird, aber nicht über include();
Wenn ich bei der URL
auf logout klicke, führt er das aus.
wenn ich aber bei include(); auf logout klicke, schickt er mich zurück zum anfangsscript -.-
Wo liegt der Fehler?
 
Ich verstehe dein Problem nicht ganz!!

Also du möchstest die datei datenbank.php in eine andere mit include einbinden? Oder wie funktioniert das

Grz

scan
 
Also
ich habe datenbank.php auf meinen Server geladen.
Die kann ich dann ja über eine URL ansprechen.

Jetzt nutze ich aber folgenden code:
PHP:
include("datenbank.php");

Soweit kein Problem.
Es wird "included".
ich bin jetzt so frei und kopiere einfach mal:

Mein Problem:
Das Script funktioniert nur, wenn es über die URL aufgerufen wird, aber nicht über include();
Wenn ich bei der URL
auf logout klicke, führt er das aus. Und alles klappt wunderbar :)
wenn ich aber bei include(); auf logout klicke, schickt er mich zurück zum anfangsscript -.-
Wo liegt der Fehler?
PS:
Beim zweiten Link muss erst das Formular korrekt ausgefüllt werden.
EIne gültige Email enthält mind. einen Punkt und @ ;)
 
Guten Morgen

ich habe das mal getestet und bei mir funktioniert das wunderbar...

folgendes habe ich gemacht:

datenbank.php
PHP:
<?php 
/* MySQL Eintrag */ 

$connect = mysql_connect(localhost, "benutzer", "pw"); 


if ($connect) 
   { 
   echo 'Verbindung steht<br>Daten k&ouml;nnen eingetragen werden =))))'; 
   /* Daten eintragen*/ 
   echo '<form method="post"><input type="submit" name="logout" value="logout"></form>'; 

    /* Logout */ 
    if (isset($_POST['logout'])) 
    { 
    $close = mysql_close(); 

         if($close) 
    { 
    echo 'Logout war erfolgreich. <br> Verbindung beendet'; 
    } 
    elseif(!$close) 
    { 
    echo 'Fehler, Verbindung weiterhin aktiv.'; 
    } 
    } 
     } 

else 
{ 
echo 'Verbindung konnte nicht aufgebaut werden. Probieren sie es nocheinmal'; 
} 

?>

aufruf.php
HTML:
<?
include('datenbank.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
fdgadfg
adfga
efdg
</body>
</html>

entspricht das deinen Vorstellungen oder wie hast machst du das?

das ganze kannst du mal über http://www.verkehrskadett.ch/aufruf.php testen.
 

Neue Beiträge

Zurück