php variable in js einbauen
falke
- javascript
0 Dieter Raber0 falke0 David0 Dieter Raber0 falke0 Dieter Raber0 PeterK
0 David0 Sven Rautenberg
Guten Abend,
ich möchte gern eine phpvariable in js einbauen aber es klappt nicht.
if(current == 2)
time(<?"'.$zwei.'"?>);
oder auch so:
if(current == 2)
time(<?'".$zwei."'?>);
bei beiden varianten bekomm ich keinen parse error.
ich habe die javafunktionen im head deklariert und die phpvariable halt in einem phpbereich im body.
Die js funktion wird erst nach der variablendekleration aufgerufen.
mfg falke
Hallo falke,
if(current == 2)
ist das jetzt JS oder PHP?
time(<?"'.$zwei.'"?>);
du meinst die PHP-Funktion time()?
ich habe die javafunktionen
oder vielleicht Java
Kannst Du deine Frage mal etwas deutlicher machen?
Gruß,
Dieter
das ist javascript
if(current == 2)
time(<?"'.$zwei.'"?>); // hier möchte ich in js eine variable aus php einbauen.
time ist eine von mir geschaffende funktion.
sag mal wenn ich in ein input type text eine zahl eingebe und die dann an eine phpvariable zuweise bleibt sie dann darin gespeichert?
mfg falke
sag mal wenn ich in ein input type text eine zahl eingebe und die dann an eine phpvariable zuweise bleibt sie dann darin gespeichert?
Klar, bis zum Ende des Scriptes bleibt der Wert in deiner Variable (es sei denn du überschreibst sie ;-). Am Ende des Scriptes wird die Variable aber, wie alle anderen gelöscht.
Greetz David
Klar, bis zum Ende des Scriptes bleibt der Wert in deiner Variable (es sei denn du überschreibst sie ;-). Am Ende des Scriptes wird die Variable aber, wie alle anderen gelöscht.
kann ich dafür eine konstante benutzen.
die ich aber über input type ändern kann.
sie aber bis zur nächsten änderung vorhanden bleibt egal wie oft ich das script aufrufe??
mfg falke
Schau dir mal mein anderes Posting an,
da habe ich es etwas genauer ausgeführt.
MfG David
Hallo falke,
if(current == 2)
time(<?"'.$zwei.'"?>); // hier möchte ich in js eine variable aus php einbauen.
wenn $zwei ein String ist, muss es heissen, time('<?php print $zwei ?>');, bei einem Integer time(<?php print $zwei ?>);
sag mal wenn ich in ein input type text eine zahl eingebe und die dann an eine phpvariable zuweise bleibt sie dann darin gespeichert?
Wenn dein Input-Feld Teil einer Form ist, die abgeschickt wird, steht der Wert in $_POST, bzw. $_GET und befindet sich als solcher, solange das Script lebt, im Speicher des Servers, aber nie in dem des Clients. Um einen Wert einer Variablen zuweisen zu koennen, musst du den Wert an den Server schicken.
Gruß,
Dieter
hi Dieter,
wenn $zwei ein String ist, muss es heissen, time('<?php print $zwei ?>');, bei einem Integer time(<?php print $zwei ?>);
es klappt leider beides nicht.
du hast aber auch fuer integer und string das gleiche geschrieben?
des Servers, aber nie in dem des Clients. Um einen Wert einer Variablen zuweisen zu koennen, musst du den Wert an den Server schicken.
wenn sie dann auf den server geschickt wurde kann ich sie da nicht speichern und von da wieder aufrufen und verändern?
mfg falke
Hallo falke,
time('<?php print $zwei ?>');
time(<?php print $zwei ?>);
du hast aber auch fuer integer und string das gleiche geschrieben?
Sicher?
wenn sie dann auf den server geschickt wurde kann ich sie da nicht speichern und von da wieder aufrufen und verändern?
Ich hab das Gefuehl, als seien Dir die Konzepte serverseitig und clientseitig nicht so ganz klar, kann das sein?
Gruß,
Dieter
Hallo
Ich hab das Gefuehl, als seien Dir die Konzepte serverseitig und clientseitig nicht so ganz klar, kann das sein?
Scheint so. Wenn du dich mal näher mitdem Thema beschäftigt hjat, such mal nach dem Stuichwort Session...
Gruß, Peter
Hallo PeterK,
Scheint so. Wenn du dich mal näher mitdem Thema beschäftigt hjat, such mal nach dem Stuichwort Session...
Ich vermute mal, du meinst falke solle sich mit Sessions beschaetigen, nicht ich, oder?
Gruß,
Dieter
Guten Abend,
ich möchte gern eine phpvariable in js einbauen aber es klappt nicht.
if(current == 2)
time(<?"'.$zwei.'"?>);oder auch so:
if(current == 2)
time(<?'".$zwei."'?>);
also das ginge wenn, dann auch so: <?=$zwei;?> oder so <?php echo $zwei; ?>
ich habe die javafunktionen im head deklariert und die phpvariable halt in einem phpbereich im body.
Die js funktion wird erst nach der variablendekleration aufgerufen.
Ich habe das Gefühl, du hast da etwas noch nicht richtig verstanden. PHP ist eine serverseitige Scriptsprache. Javascript wird auf dem Client PC ausgeführt. D.h. wenn du deine JS-Funktion aufrufst, ist der PHP-Parser schon längst mit seiner Arbeit durch. Da kannst du nicht irgendwie noch neu PHP-Variablen deklarieren...
mfg falke
Greetz David
Danke soweit david,
Ich habe das Gefühl, du hast da etwas noch nicht richtig verstanden. PHP ist eine serverseitige Scriptsprache. Javascript wird auf dem Client PC ausgeführt. D.h. wenn du deine JS-Funktion aufrufst, ist der PHP-Parser schon längst mit seiner Arbeit durch. Da kannst du nicht irgendwie noch neu PHP-Variablen deklarieren...
also ich habe vor über ein input type text eine zahl einzugeben die dann einer phpvariable zugeführt wird welche in der js funktion eingesetzt wird.
nachdem ich die zahl an die phpvariable gesendet habe möchte ich das sie in der variable bis zu nächsten änderung gespeichert wird.
also das sie egal wieoft ich die js funktion aufrufe sie dort die gleiche zahl hat.
wie stell ich das am besten an.
mfg falke
also ich habe vor über ein input type text eine zahl einzugeben die dann einer phpvariable zugeführt
Also das "zuführen" der Variable erledigst du durch bestätigen des Fomulars (submit). Die Variable steht dann im PHP-Script, an welches die Formulardaten gesendet werden, zur Verfügung.
wird welche in der js funktion eingesetzt wird.
Handelt es sich dabei um die aktuelle Datei (die in der auch der JS-Code ist) kannst du mittels <?=$varName;?> die Variable irgendwo in deinen JS-Code ausgeben (einbinden). Wenn die Seite jetzt aber aktualiesiert wird, existiert die Variable nicht mehr in PHP und kann so auch nicht wieder in dein JS eingebunden werden.
nachdem ich die zahl an die phpvariable gesendet habe möchte ich das sie in der variable bis zu nächsten änderung gespeichert wird.
Du könntest z.B. eine session erstellen. Siehe [url]http://de3.php.net/manual/de/ref.session.php[/url]
oder du übergibst die Variable in deinem Formular zusätzlich als hidden-Variable. Siehe [url]http://de.selfhtml.org/html/formulare/versteckte.htm#definieren[/url]
Viele Grüße
David
kannst du mittels <?=$varName;?> die Variable irgendwo in deinen JS-Code ausgeben (einbinden).
irgndwie klappt das bei mir nicht bist du sicher mit dem gleichheitszeichen.
Du könntest z.B. eine session erstellen. Siehe [url]http://de3.php.net/manual/de/ref.session.php[/url]
oder du übergibst die Variable in deinem Formular zusätzlich als hidden-Variable. Siehe [url]http://de.selfhtml.org/html/formulare/versteckte.htm#definieren[/url]
ich werde mich wohl mit session auseinandersetzen oder hälts du die andere variante für geeigneter?
mfg falke
ich werde mich wohl mit session auseinandersetzen oder hälts du die andere variante für geeigneter?
Kommt immer auf den Anwendungsfall an.
Aber soweit ich dein Problem verstanden habe, würde ich wohl sessions verweden...
also ich habe vor über ein input type text eine zahl einzugeben die dann einer phpvariable zugeführt wird welche in der js funktion eingesetzt wird.
Hi, wenn du eine Zahl in einem "Input type text" eingeben willst, die anschließend JS zugeührt werden soll, dann würde ich das nicht über eine Variable wie zum Beispiel $zwei machen, sondern so:
Das "Input type text" steht ja in einem Formular. Diesem Formular gibst du, wenn schon nicht getan, einen Namen.
<form name="test"....>
Dann gibst du dem "Input type text" auch einen Namen:
<input type="text" name="zahl".....
In Javascript kannst du nun wie folgt über den Wert verfügen, der in dem "Input type text" drin steht:
document.test.zahl.value;
Erklärung
document.test.zahl.value;(Inhalt des input-Feldes)
In dem Formular brauchste dann noch ein Button der halt die JS-Funktion aufruft.
So habe ich auch schon viel gelöst und keine Probleme.
Falls du noch Hilfe brauchst, dann meld dich nochmal.
An alle anderen: Gibt es an meiner Lösung etwas auszusetzen oder kann man damit arbeiten in Bezug auf: es funzt...
In dem Formular brauchste dann noch ein Button der halt die JS-Funktion aufruft.
die wird nicht über ein button aufgerufen und auch nicht in einer form aber ich denke das ist vielleicht egal.
Falls du noch Hilfe brauchst, dann meld dich nochmal.
also ich möchte den inputtype inhalt in eine konstante kriegen oder so lange verwendbar machen egal wie oft man ´die seite aufruft.
mfg falke
Moin!
ich möchte gern eine phpvariable in js einbauen aber es klappt nicht.
Ich hab das Trauerspiel der Frage-Antwort-Versuche im restlichen Thread gelesen. Das wird so nichts. Erzähle mal in deinen eigenen Worten, was du eigentlich zusammenbasteln willst. Warum beispielsweise hast du eine Funktion time() in Javascript? Was macht die? Warum wird diese Funktion mit der PHP-Variablen $zwei aufgerufen, wenn current == 2 ist? Gibts da noch mehr Möglichkeiten? Wenn ja, warum kennen wir die noch nicht?
Wir brauchen mehr Infos. Sonst können wir dir nicht helfen. Dass du ein massives Verständnisproblem mit den Abläufen von Javascript und PHP hast, sollte schon deutlich geworden sein, aber das kriegen wir schon hin - nur so ganz ohne Infos, was da eigentlich ablaufen soll - und zwar bitte das Gesamtprogramm, nicht so kleine Fitzel - ist das mit dem Helfen schlecht. Ich habe nämlich das Gefühl, dass du irgendwas kompliziert zusammenbastelst, was man _ganz_ anders viel einfacher haben könnte.
hallo sven,
also das sind die teile die die sache näher bringen sollten.
java script
function nextOne() {
document.getElementById("content" + current).style.display = "none";
current ++;
document.getElementById("content" + current).style.display = "block";
//setTimeout('nextOne()', zeiten[current]);
if(current == 2)
time(<?php print $zwei ?>); hier hakts beim aufruf der funktion wird das kapitel schnell übersprungen !!
if(current == 3)
time(2000);
if(current == 4)
time(5000);
if(current == 5)
time(2000);
}
html
<div id="admin" style="display:none; width:320px; height:240px">Adminbereich:<form action="index.php" method="GET">
<input type="text" name="zwei" size="12"><input type="submit" value="ändern"></form></div>
hier wird die zahl eingegeben
php
if ($_GET['zwei'])
$zwei = $_GET['zwei'];
welche auch tatsächlich hier ankommt
durch ein echo $zwei klar ist.
wie sollt ich deiner meinung nach den variablenwert am besten haltbar machen?
session oder ist hidden da eher geeignet?
oder gibt es da eventuell noch was anderes (besseres)?
mfg falke
hi,
also time ist eine von mir definierte funktion in js.
function time(gets){
setTimeout('nextOne()',gets);
ich möchte mit der ganzen sache erreichen das jemand die zeiten ändern kann und diese bis zur nächsten änderung erhalten bleiben.
leider ist bis jetzt noch nicht ganz klar welcher der einbindungsarten die richtige ist
<? =$zwei ?> , <php print $zwei?> usw kannst du mir´vielleicht sagen welche die richtige ist. Wie gesagt sie wird nach dem input in $zwei gespeichert das habe ich mit echo $zwei getestet.
mfg falke
p.s ich hoffe es ist jezt klar
falls noch nich ganz sags mir bitte!!
Moin!
function time(gets){
setTimeout('nextOne()',gets);ich möchte mit der ganzen sache erreichen das jemand die zeiten ändern kann und diese bis zur nächsten änderung erhalten bleiben.
Aha, so langsam kommst du weg von deinem ganzen Quellcode und kommuniziert in deutscher Sprache, was du willst und wo dein Problem liegt. Gut so.
Trotzdem ist mir dein Projekt noch hochgradig unklar. Bitte vervollständige doch diese Sätze, damit ich ein etwas klareres Bild kriege:
"Ich habe eine HTML-Seite, mit der der Besucher/Benutzer ...(was tun kann?)"
"Diese Variable enthält den Wert für ... (welche Aufgabe?)"
Du sagst "Variable erhalten bis zur nächsten Änderung". Dazu meine Fragen:
1. Soll die Veränderung nur auf den individuellen User wirken, und alle anderen User, die gleichzeitig Seiten betrachten, nicht betreffen?
2. Wie lange soll diese Variable gespeichert bleiben? "Im Prinzip unendlich lange, wenn sie nicht geändert wird"? Oder kürzer (z.B. etwa zehn Minuten)?
leider ist bis jetzt noch nicht ganz klar welcher der einbindungsarten die richtige ist
Die Art der Einbindung von irgendwas ist der zweite Schritt. Kommt später, nicht jetzt. Denn das hängt selbstverständlich von deinen Antworten weiter oben ab.
hi,
leider ist bis jetzt noch nicht ganz klar welcher der einbindungsarten die richtige ist
<? =$zwei ?> , <php print $zwei?> usw kannst du mir´vielleicht sagen welche die richtige ist.
entweder weißt du, wie dein javascript-code auszusehen hat - dann musst du also nur noch dafür sorgen, dass PHP genau diesen code an dieser stelle ausgibt - eigentlich trivial.
oder du weißt es nicht - dann liegt dein problem aber noch im verständnis der grundlagen von javascript, und nicht bei PHP.
gruß,
wahsaga