$_SESSION Problem

loki2002

Erfahrenes Mitglied
Hi!

irgendwie komm ich jetzt nicht mehr weiter.. ich setze folgende $_SESS werte:

PHP:
$wert = array();
$_SESSION[wert][1] = "wert1";
$_SESSION[wert][2] = "wert2";
..

es wird auch alles prima gesetzt und :

PHP:
echo $_SESSION[wert][2];

gibt auch den richtigen wert aus.. nur wenn ich jetzt den wert fuer ein db_query benutze :

PHP:
SELECT **** WHERE wert = '".$_SESSION[wert][2].'" ...

mit echo ".$_SESSION[wert][2]."; kommt das gleiche ergebnis.

heisst dann anstelle von "wert2" => ARRAY[2] ... wo ist das Problem? ..wie kann ich das korrekt übergeben..

Merci
 
Also $_SESSION[wert][1] = "wert1"; ist mal falsch. Es sei denn wert ist eine Konstante.
Entweder du schreibst
$_SESSION['wert'][1] = "wert1";
oder
$_SESSION[$wert][1] = "wert1";.
Bei meinem zweiten Beispiel kann ich aber selbst keinen Sinn erkennen ;), da du ja $wert = array(); definiert hast.
 
Hi,

ok das mit der $_SESSION etc.. funktioniert alles wunderbar.. es geht mir nur darum, dass ich wenn ich folgendes schreibe:

PHP:
$_SESSION['wert'][1]="tutorials";
echo $_SESSION[wert][1];

gibt mir => tutorials zurück.. wenn ich aber folgendes schreibe:

PHP:
$_SESSION['wert'][1]="tutorials";
echo "$_SESSION[wert][1]";

bekomme ich anstelle von tutorials : => Array[1] ausgegeben... das problem ist in einem db_query muss ich nunmal hochkommas und anführungszeichen setzen.. ansonsten waere es mir egal ;) ... woran liegt der unterschied in den beide oben ausgeführten scripten?

edit//

natuerlich koennte ich folgende variante machen, welche auch klappt.. aber das ist mir zu umstaendlich ;)...

PHP:
$_SESSION['wert'][1]="tutorials";
$sesswert=$_SESSION['wert'][1;
echo "$sesswert";


merci
 
Zuletzt bearbeitet:
Die Algorythmen
PHP:
$sesswert = $_SESSION['wert'][1];
echo $sesswert;
und
PHP:
echo $_SESSION[wert][1];

Sind äquivalent, sie geben das gleiche zurück, nur solltest du besser hören,was dir geraten wurde.
Wolfsbein hat gesagt,dass wert in ' ' stehen muss, weil es kein Ausdruck ist.
Und nun schau dir mal den Unterschied zwischen beiden Algorythmen an, richtig, bei dem einen Fehlen die ' ' (und die ] aber ich gehe davon aus,dass es ein Tippfehler ist, sonst gäb's Parserfehler)

Also, hier noch mal die richtige Version
PHP:
echo $_SESSION['wert'][1];

Und das mit dem $sesswert ist an sich eine recht vernünftige Idee, da es Situationen gibt, wo du schon ein ' benutzt, der Parser würde dann das ' vor dem wert als ein Ende des Arguments werten und dir einen Fehler ausgeben.
 
Mal back to topic. Ich schätze mal das query funktioniert nicht, weil du das direkt in die mysql_query(" schreibst. Right ? Wenn dem so ist, interpretiert er das zweite " automatisch als Ende des Querys.
Lösung: Query vorher in einer Variable à la $query definieren und dann mysql_query($query) machen und alles ist in Butter.
 
@Tim
yup, habs inzwischen selbst gelöst, also doch die Variante 'Unangenehm' ;) ..

@Wolfsbein & eLorFiN
zwar am eigentlichen Problem vorbei, aber trotzdem Danke an euch beide :)
 
oups, sorry, ich habe mich wohl zu sehr an der Überschrift "Session Probleme" orientiert...:(
Wenn mit der Session aber soweit alles funktioniert, hättest du den thread auch andern nennen können *rausredenwill* :-(
 
Zurück