Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

PHP in Javascript Funktion

Hi Guys,
Ich schlag mich jetzt schon 2 Tage mit folgendem Problem rum:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Die ganze Datei ist sehr unsauber geschrieben und zu groß, um sie vollständig zu posten, wichtig sind noch die Zeilen:

Code:                   In Zwischenablage kopieren (nur IE)
2">

Es geht um DNA-Sequenzen, die entweder in einer zusammenhängenden Sequenz oder in Buchstabentripeln angezeigt werden sollen. Durch clicken auf den obigen dynamisch-wechselnden link soll die Art der Darstellung jeweils geswitched werden. Das klappt auch alles super, nur dass die Zeile $_SESSION['ShowAsTriple']= !$_SESSION['ShowAsTriple']; in der Triple()-Funktion auch ausgeführt wird wenn die PHP-Datei aufgerufen wird, ohne dass die Triple()-Funktion aufgerufen wurde. Wenn also die Session-Variable ShowAsTriple '1' enthält wird sie auf 'null' geswitched sobald ich die PHP-Datei ausführe. Das will ich nicht!
Ich schätze, dass ist der falsche Weg oder es ist einfach ein Verständnisproblem.. Wie kann ich das hinkriegen?

Vielen Dank im Vorraus
Hier gehts zum Orginal Eintrag "PHP in Javascript Funktion" im Forum

Antworten

Zitat:
Ich schätze, dass ist der falsche Weg oder es ist einfach ein Verständnisproblem.. Wie kann ich das hinkriegen?
Jupp.. PHP wird auf dem SERVER ausgeführt, bevor dein Client die Seite geschickt bekommt... Daher wechselt ShowAdTriple bei jedem Reload. Warum machst du nicht einen richtigen Link, sondern so einen JS-Käse? Ist doch viel einfacher..


2.

Hinter header('Location: ..') solltest du ein exit; setzen, damit du sicher gehen kannst, dass das Script auch beendet wird, nachdem die Weiterleitung eingeleitet wurde.

Zu deinem Problem: Wie BenniG. schon sagte, PHP wird zuerst ausgeführt, der erzeugte Text wird an den Browser gesendet, erst danach interpretiert dieser HTML, CSS und JS. PHP ist dann schon längst fertig.

Warum bindest du die Darstellung "Show As Triple" denn an die Session?

<a href="<?php echo $_SERVER['PHP_SELF']; ?>?triple=1">show as triple</a>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?triple=0">don't show as triple</a>

Danach fängst du per $_GET['triple'] ab, ob die Darstellung als Triple erfolgen soll oder nicht.


3.

Super... das hat mir gefehlt. Bin nur Hobby-PHP-coder, deswegen der ganze Umweg.

Vielen Dank!


Hier gehts zum Orginal Eintrag "PHP in Javascript Funktion" im Forum
 
phpforum.de | Impressum