Klasse übergeben
Othmar Oeler
- php
hallo zusammen
//classdefinition
class cinfo
{
//eigenschaften
var $hauptrubrik;
var $unterrubrik;
var $produkt_titel;
function cinfo($hr, $ur, $pt)
{
$this->hauptrubrik = $hr;
$this->unterrubrik = $ur;
$this->produkt_titel = $pt;
}
function get_cinfo()
{
return ("<table width=600 id=around><tr><td>
<i>Hauptrubrik : </i>".$this->hauptrubrik." ->
<i>Unterrubrik : </i>".$this->unterrubrik." ->
<i>Produkt Titel : </i>".$this->produkt_titel."
</td></tr></table>");
}
}
//objekt erstellen
$cinfo = new cinfo($hauptrubrik, $unterrubrik, $produkt_titel);
//link um das objekt an eine andere seite weiter zu geben
echo "<a href="mu_beschreib.php?cinfo=".$cinfo."">Beschreib ändern</a>";
Nun möchte ich in der Datei mu.beschreib.php auf das Objekt zugreifen.
Ich habe nun die Klassendefintion in mu.beschreib.php eingefügt und probiert mit
$cinfo->hauptrubrik
auf die daten zuzugreifen.
leider gibt er mir nichts aus?
Was ist der Fehler?
gruss othmar
Hi,
//classdefinition
class cinfo
{
//eigenschaften
var $hauptrubrik;
var $unterrubrik;
var $produkt_titel;function cinfo($hr, $ur, $pt)
{
$this->hauptrubrik = $hr;
$this->unterrubrik = $ur;
$this->produkt_titel = $pt;
}function get_cinfo()
{
return ("<table width=600 id=around><tr><td>
<i>Hauptrubrik : </i>".$this->hauptrubrik." ->
<i>Unterrubrik : </i>".$this->unterrubrik." ->
<i>Produkt Titel : </i>".$this->produkt_titel."
</td></tr></table>");
}
}//objekt erstellen
$cinfo = new cinfo($hauptrubrik, $unterrubrik, $produkt_titel);//link um das objekt an eine andere seite weiter zu geben
echo "<a href="mu_beschreib.php?cinfo=".$cinfo."">Beschreib ändern</a>";Nun möchte ich in der Datei mu.beschreib.php auf das Objekt zugreifen.
Ich habe nun die Klassendefintion in mu.beschreib.php eingefügt und probiert mit
$cinfo->hauptrubrik
auf die daten zuzugreifen.
leider gibt er mir nichts aus?
Was ist der Fehler?
Ich würde nie ein Objekt über GET übergeben, mal abgesehen davon dass es 1. nur ~2000 Zeichen aufnehmen kann und 2. ich glaube das es nicht einmal möglich ist dies zu tun.
Speicher das Objekt in eine Session Variable, und es funktioniert. Mehr Infos dazu findest du hier:
http://www.dclp-faq.de/q/q-sessions-objekte.html
freundliche Grüsse,
Daniel
Das ist der ganze Jammer, die Dummen sind immer so sicher und die Gescheiten so voller Zweifel.
[Bertrand Russell]
Hallo Othmar,
Du musst das Objekt serialisieren, damit es uebergeben werden kann, also
$uebergebeObjekt = serialize($cinfo);
dann machst Du den link:
<a href="mu_beschreib.php?uebergbabe=".$uebergeObjekt."">Beschreib ändern</a>";
so und auf der mu_beschreib dann als erstes
$cinfo = unserialize($uebergeObjekt);
Anders laesst es sich imho nicht loesen, da im Browser nur Text und keine Datenstrukturen weitergegeben werden koennen.
Natuerlich falsch ,
auf der Empfangerseite muss es dann heissen:
$cinfo = unserialize($uebergabe);