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:
Bei entfernter URL wird den o.g funktionen allerdings die rechte verwehrt:
Code: Alles auswählen
<script language="JavaScript" src="http://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('test.php', {
		  parameters: { 
                  s1: s1 ,
		  		s2: s2 
		  		},
		  method: 'post'
		  });
 
			 
			
					
				
				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://externe-domain.tld/test.php"></script>
Die Datei test.php führt einen Zwischenschritt aus:
Code: Alles auswählen
document.write('<script language="JavaScript" src="http://externe-domain.tld/get-data.php?a=' + a + '"></script>')
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...