Seite 1 von 1

Javascript variable nach Php

Verfasst: 16.07.2009, 10:05
von maden
Hallo,

leider muss ich um Hilfe betteln.

Die Aufgabenstellung klingt einfach:

Code: Alles auswählen

<script>
var a = 1;
</script>
<script language="JavaScript" src="test.php"></script>
In der test.php soll dann mit a eine DB Abfrage laufen.
Leider habe ich jedoch keine Möglichkeite gefunden, die
Variable für PHP zur Verfügung zu stellen.

Gibt es hierfür gängige Lösungsansätze?

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 16.07.2009, 10:19
von JohnBi
Ich hatte damals so ein ähnliches Problem .... schau mal hier, da steckt auf die Lösung für dich drinne.

https://www.abakus-internet-marketing.d ... javascript

Verfasst: 16.07.2009, 10:25
von maden
Danke Dir für die schnelle Antwort...zieh ich mir gleich mal rein.

Danke schön.

Verfasst: 16.07.2009, 10:30
von bloddy newbie
Ich empfehle dir AJAX zu verwenden. Damit kannst du mittels Javascript sehr gut Abfragen an eine Schnittstelle stellen.

Du könntest auch noch die Script Tags mittels JS schreiben, aber das ist nicht wirklich empfehlenswert. AJAX ist dein Helfer ;-). Schaue dir mal Prototype an. Mit dieser Bibliothek (Sehr schlank) kannst du sehr gut mit AJAX arbeiten.

Grüße BN

Verfasst: 19.07.2009, 17:30
von maden
Vielen Dank für die Tips und Anregungen,


Hab mich nun, wie von bloddy newbie empfohlen, mit Ajax auseinander gesetzt und es mit ajax.request aus prototype und auch XMLHttpRequest() probiert...

Beides funktioniert sehr gut, solange ich das script lokal einbinde:

Code: Alles auswählen

<script language="JavaScript" src="test.js"></script> 


Bei entfernter URL wird den o.g funktionen allerdings die rechte verwehrt:

Code: Alles auswählen

<script language="JavaScript" src="http&#58;//www.andereurl.de/test.js">
</script>

Ziel der Übung ist ein Tool, daß auch von anderen Webmastern über meinen Server genutzt werden kann. Im Prinzip sowas wie Adsense oder Relevance.

Hier der Ajax Code mit prototype:

Code: Alles auswählen

new Ajax.Request&#40;'test.php', &#123;
		  parameters&#58; &#123; 
                  s1&#58; s1 ,
		  		s2&#58; s2 
		  		&#125;,
		  method&#58; 'post'
		  &#125;&#41;;

Verfasst: 20.07.2009, 08:19
von everflux
Du kannst mittels Ajax in der Tat (derzeit) nur auf den selben Server zugreifen, von dem auch das HTML ausgeliefert wurde.
Möchtest Du Daten an einen anderen Rechner übermitteln, würdest du z.B. ein img oder javascript element erstellen in dem als http get parameter die entsprechenden Daten angehängt sind.

Zum Abtippen (und Nachvollziehen):
https://www.javascriptkit.com/javatutor ... lphp.shtml

Verfasst: 20.07.2009, 08:31
von Lord Lommel
Ich denke, das wird so bleiben. Das wurde doch aus Sicherheitsgründen extra eingeführt, wenn ich mich richtig erinner. Deshalb arbeite ich in solchen Fällen auch immer mit einem Gateway.

Verfasst: 20.07.2009, 08:44
von t-rex
Hi,

Die Datenbankabfrage gibt auch wieder was zurück?

Was mir als Lösung einfällt:

Code: Alles auswählen

<script>
var a = 1;
</script>
<script language="JavaScript" src="http&#58;//externe-domain.tld/test.php"></script>
Die Datei test.php führt einen Zwischenschritt aus:

Code: Alles auswählen

document.write&#40;'<script language="JavaScript" src="http&#58;//externe-domain.tld/get-data.php?a=' + a + '"></script>'&#41;
Und die Datei get-data.php macht dann die Dinge mit der Datenbank.

Bei Counter oder Adserver wird es meistens genau auf diesem Weg geregelt.

Man kann natürlich auch beide Schritte in einer Datei, mit entsprechenden if Abfragen regeln. Kommt halt darauf an, was gemacht werden soll.

Sonnige Grüsse
HaPe

Verfasst: 20.07.2009, 22:26
von maden
Danke schön...das wars!

ich hab vorher vergessen, daß die ausgabe des php scripts mit document.write durchgeführt werden muss. Habs mit Echo versucht und nichts ging...

Danke vielmals...