PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zum Aufruf einer Funktion mit onclick


project.config
22.01.2008, 10:44:29
Guten Tag,

meine Frage: Ich hab einen Submit Button in einem Formular und will per klick auf den button eine funktion aufrufen die in einer anderen datei vorhanden ist. Diese Funktion soll eine Session Variable anlegen mit dem Wert 1.

Diese Variable soll dann auf allen weiteren Seiten abfragbar sein.

hatte es so versucht

<html>
..
..
<input type="Submit" name="weiter" value="Starten" onclick="functiontest.php">
..
</html>

dies sollte die funktion ausführen und dann zur nächsten seite leiten mit der möglichkeit dort den Wert der Session abzufragen.

so lautet die funktion:

<?php

function test()
{
session_start();
$_SESSION['sess_var'] = 1;
}

?>

dies funktioniert nicht, aber wenn ich das mit einer simplen ausgabe mache also anstatt mit Session also einem echo und diesem Funktionsaufruf:


<?php

include("funktiontest.php");
test();

?>

dann gibt der browser alles aus, den text und auch den button plus alle html formatierungen es soll jediglich nur der Wert der in der Sessionvariable vorhanden ist abfragbar sein.

Hoffe auf antworten und hoffe das reicht als info, was ich aber irgendwie nicht denke =)

Im Vorraus Vielen Dank

pixelsetzer
22.01.2008, 11:04:37
Hi,
probiers doch mit einem versteckten Formularfeld:
<input type="hidden" name="check" value="check">

Auf der nächsten oder gleiche Seite dann:
session_start();

If(isset($_POST['check'])) {
$_SESSION['sess_var'] = 1;
}

function test(); // kann sich dann die Variable aus der Session holen


Evtl. gibt es auch noch ne bessere Lösung, aber mir ist die einfach mal eingefallen ;-)

MfG

ascer
24.01.2008, 13:10:09
zu erwähnen wäre noch, das du session_start() nicht einfach irgendwann machen kannst...die session muss im header gestartet werden bevor dieser gesendet/übertragen wird...soll heissen auf deutsch: Ganz am Anfang deiner Datei, wenn du schon HTML-Daten generiert hast dann wird das nix mehr mit session_start()



echo "test";
session_start(); // geht nicht weil schon HTML-Code
// generiert wurde...

session_start(); // geht weil noch KEIN HTML-Code
echo "test"; // generiert wurde...