unicoder
29-12-2010, 08:43
Guten Morgen,
ich versuche verzweifelt den Code so hin zu biegen, dass
sich die $_SESSION['Stapel'] Variable auf "1" setzen lässt,
sobald man auf ein Bild (mit Link) klickt. Dabei soll dann auch noch
ein Link geöffnet werden.
Der Code bisher ohne SESSION-Var:
echo "<a id=\"stapel1\" href=\"http://www.meineseite.de/unterseite/test.php\"><img border=\"0\" src=\"stapel1.bmp\" width=\"300\" height=\"150\"></a>";
Nun war ich schon am überlegen, ob ich evtl. OnClick oder etwas in der
Art mit unterbringen muss um irgendwie beim Klick auf den Link zeitgleich
$_SESSION['Stapel']="1"; auszulösen. :confused:
streuner
29-12-2010, 08:47
Hi.
Warum setzt du deine Session Variable nicht einfach auf der Seite auf 1, auf die dein Link verweist? Verstehe das Problem nicht?!?
mfg streuner
unicoder
29-12-2010, 08:48
Es wird eigentlich nochmal die gleiche Seite geladen, nur dann anderer
Inhalt abhängig vom Wert der Session-Variable angezeigt.
streuner
29-12-2010, 08:49
Übergib doch einfach nen Paramter und den prüfste ab und setzt dementsprechend deine Session Variable!?
unicoder
29-12-2010, 08:51
Ich habs hier im Buch so verstanden, dass man sich so die Parameter
und eine ggf. böswillige Manipulation selbiger sparen kann. Darum dieser
Versuch mit den Session-Variablen :-)
streuner
29-12-2010, 09:13
Ja, vom Prinzip richtig, aber du kannst Parameter genauso abfangen und prüfen. Erfordert halt mehr Aufwand, als mit Sessions imho zu arbeiten! Wofür genau brauchst Du denn den Session Wert an dieser Stelle?
unicoder
29-12-2010, 09:35
Ich spiel eigentlich nur herum um allgemein etwas zu lernen.
Konkret ist in meiner Testdatei folgendes vorgesehen:
Jemand kommt auf die Seite und sieht 4 Bilder (1 Bild farbig = aktiv
und 3 Bilder grau = inaktiv)
Das erste Bild ist anklickbar. Sobald dieses geklickt wurde,
kann er auch das 2te Bild anklicken. Tut er dies, wird das
3te Bild zum anklicken frei usw.
Gebe ich nun im URL die Info mit, kann jeder beliebige notwendige
Zwischenschritte (klicks auf vorhergehende Bilder) umgehen.
Das möchte ich natürlich nicht. Zudem will ich vermeiden mit
Formularen und irgendwelchen hidden Feldern o.ä. zu arbeiten.
Ich versuche es über die durch die Session gereichte $_SESSION Variable
zu lösen, um Manipulationen zu erschweren.
boeserfrosch
29-12-2010, 10:50
Dann prüfe doch einfach ob eine Session gesetzt wurde wenn ja dann überprüfe ob der Wert in der Session mit dem Parameter den du mit dem Link übergibst überein stimmt.
Wenn dies zutrifft dann erhöhst du den Wert in der Session um 1 und gibst das nächste Bild frei.
unicoder
29-12-2010, 11:10
Da ist ja schon mein Problem. Ich muss die Session-Variable für Stapel
setzen. Aber eben erst nachdem der entsprechende Link geklickt wurde.
streuner
29-12-2010, 11:35
Dann "musste" es wohl mit Paramtern machen und eine entsprechende Prüfung vornehmen (für die eigene Sicherheit).
boeserfrosch
29-12-2010, 11:57
Wenn ich das richtig verstanden habe willst du sowas in der Art, oder?
<?php
session_start();
if(!isset($_SESSION["stapel"]))
{
$_SESSION["stapel"] = 1;
}
elseif($_SESSION["stapel"] == $_GET["s"])
{
$_SESSION["stapel"]++;
}
elseif($_SESSION["stapel"] < $_GET["s"])
{
//session_destroy();
die("Bitte klicken Sie die Bilder in der Richtigen reihenfolge an");
}
if($_SESSION["stapel"] == 1)
{
print('
<a href="sessiontest.php?s=1"><img src="aktiv.gif"></a>
<img src="inaktiv.gif">
<img src="inaktiv.gif">
<img src="inaktiv.gif">
');
}
elseif($_SESSION["stapel"] == 2)
{
print('
<a href="sessiontest.php?s=1"><img src="aktiv.gif"></a>
<a href="sessiontest.php?s=2"><img src="aktiv.gif"></a>
<img src="inaktiv.gif">
<img src="inaktiv.gif">
');
}
elseif($_SESSION["stapel"] == 3)
{
print('
<a href="sessiontest.php?s=1"><img src="aktiv.gif"></a>
<a href="sessiontest.php?s=2"><img src="aktiv.gif"></a>
<a href="sessiontest.php?s=3"><img src="aktiv.gif"></a>
<img src="inaktiv.gif">
');
}
elseif($_SESSION["stapel"] == 4)
{
print('
<a href="sessiontest.php?s=1"><img src="aktiv.gif"></a>
<a href="sessiontest.php?s=2"><img src="aktiv.gif"></a>
<a href="sessiontest.php?s=3"><img src="aktiv.gif"></a>
<a href="sessiontest.php?s=4"><img src="aktiv.gif"></a>
');
}