Seite 1 von 1

Session übergeben an php-Datei

Verfasst: Di 8. Nov 2005, 13:29
von Lepkojus
Ich rufe eine php-Datei auf und will dort die Session benutzen.
Wie mache ich das?

z.B. NEUES DRUCKEN MODUL von kevinerhardt mit der artikel_drucken.php. Hier will ich meine Logn-Session verwenden und von dort erneut in das fopen(($url),"r") übergeben. Hintergrund ist, dass die Druckansicht auch im geschützen Bereich funktionieren soll.

Ich habe es schon mit $sess->url probiert, aber $sess steht mir nicht zur verfügung, auch wenn ich es mit global definiere.

Kann mir einer ein paar Tipps geben?

Verfasst: Di 8. Nov 2005, 13:38
von timo
du mußt das Contenido-Environment starten, so wie es z.b. in der front_content.php gemacht ist

sonst steht dir logischerweise die Session nicht zur Verfügung...

Verfasst: Di 8. Nov 2005, 15:08
von Lepkojus
Mist, ich raffs nicht, habe jetzt lange rumprobiert.
Frage: ich will einfach nur die Session-ID sehen, bekomme ich aber nicht raus. Hier mal meine artikel_drucken.php
<?php

include_once ("config.php");
include_once ($contenido_path . "includes/config.php");
cInclude("includes", "cfg_sql.inc.php");
cInclude("includes", "functions.general.php");
cInclude("includes", "functions.i18n.php");
cInclude("includes", "functions.tpl.php");
cInclude("includes", "functions.con.php");
cInclude("includes", "functions.mod.php");
cInclude("includes", "functions.api.php");
cInclude("classes", 'class.inuse.php');
cInclude("classes", 'class.user.php');
cInclude("classes", 'class.notification.php');
cInclude("classes", 'class.table.php');

//Frontend
page_open(array('sess' => 'Contenido_Frontend_Session',
'auth' => 'Contenido_Frontend_Challenge_Crypt_Auth',
'perm' => 'Contenido_Perm'));

echo "vorweg".$sid;

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Druckvorschau BID Neuer Wall</title>
<link rel="stylesheet" type="text/css" href="css/stylesdatei.css">
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" width="650" style="padding-top:30">
<tr><td colspan="2">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="60">
<tr>
<td align="right">
<div align="right"><a href="../index.html"><img src="images/logo_neuer_wall.gif" width="178" height="115" border="0"></a></div>
</td>
</tr>
</table>
</td></tr>
<?php

function text_ausschnitt($string, $beginn, $ende){
$string = strchr($string, $beginn);
$pos_ende = strpos($string, $ende);
$string = substr($string, 0,$pos_ende);
return $string;
}
$url = $_GET['url'];
$query = $_SERVER["QUERY_STRING"];
$beginn = "<!-- #PRINT -->";
$ende = "<!-- ##PRINT -->";
// $url = substr($url,1,strlen($url)-2);
$url .= "?".$query;
// echo $url;

if($url != NULL){

// Öffne und lese die Seite
$handle = fopen($url,"r");
//$handle = fopen($sess->url($url),"r");
while(!feof($handle))
$string .= fread($handle,8000);
fclose($handle);
}

echo '
<tr>
<td colspan="2"><font class=text>';
echo text_ausschnitt($string, $beginn, $ende);
echo '
</font></td>
</tr>
';
page_close();
?>
</body>
</html>
[/quote]

Verfasst: Di 8. Nov 2005, 15:14
von timo
$sess->id

Verfasst: Di 8. Nov 2005, 15:23
von Lepkojus
oh, ich idiot, wo steht das aber, ich habe immer in der class $sess nach den Eigenschaften gesucht und nicht gefunden (conlib/sess_inc).

Wo steht das denn?

Wichtiger aber eigentlich: wie gebe ich die Session weiter in dem Aufruf in der php-Datei:
$handle = fopen($url,"r");
in $url liegt die zu druckende url drin. Diese wird zwischen zwei gesetzten Kommentaren ausgelesen. Da ich aber in einem geschützten Bereich bin, bekomme ich immer wieder die Anmeldemaske.

Hast du da noch eine Idee?