Javascript - php
soundofakira
- javascript
0 tami0 soundofakira0 tami
0 wurzelbert0 dave
Hallo zusammen
Ich komme einfach nicht vorran
Ich habe ein Javascript, in dem ein Array ausgewertet wird.
Der Inhalt des Arrays soll an eine php Datei geschickt werden.. verarbeitet und dann ein Ergebniss zurück kommen
eigentlich hatte ich gedacht, dass es so gehen könnte
In der Hauptseite ist die php datei eingebunden
<?php include_once"head_question.php"; ?>
Darin steht eine funktion
function url()
{
return "test";
}
wenn ich nun im Javascript an der Stelle, an der das ganze passieren soll versuche die funktion aufzurufen funktioniert es nicht
alert(url());
Wo mache ich was falsch an der Sache?
gruß
andre
hi,
denk doch erstmal, dass dein javascript mit dem php-include nix zu tun hat. kläre mal den javascript-code pur, und zwar an hand eines simplen beispiels. und dann stufenweise in richtung deines problems (stichworte ajax und json bei der übergabe von daten via javascript an ein php-skript bzw. den server).
mfg
tami
hi,
denk doch erstmal, dass dein javascript mit dem php-include nix zu tun hat. kläre mal den javascript-code pur, und zwar an hand eines simplen beispiels. und dann stufenweise in richtung deines problems (stichworte ajax und json bei der übergabe von daten via javascript an ein php-skript bzw. den server).
mfg
tami
Also das JS ist auf einer html seite eingebaut
von daher ist das mit dem include auch ok so
es ist einfach nur eine for schleife, die ein array schritt für schritt ausliest
und jetzt einfach nur array[i] <- der wert soll übergeben werden und nach der bearbeitung zurück kommen
allerdings kriege ich den funktionsaufruf nicht hin
momentan soll erstmal nur die funktion aufgerufen werden, die "test" als alert dann ausspuckt
hi,
Also das JS ist auf einer html seite eingebaut
von daher ist das mit dem include auch ok so
das include ist irrelevant für dein problem.
es ist einfach nur eine for schleife, die ein array schritt für schritt ausliest
und jetzt einfach nur array[i] <- der wert soll übergeben werden und nach der bearbeitung zurück kommen
allerdings kriege ich den funktionsaufruf nicht hin
momentan soll erstmal nur die funktion aufgerufen werden, die "test" als alert dann ausspuckt
das hilft nix, dass du sagst, was du machen willst. du musst den quelltext zeigen. es ist _immer_ so, dass es sonst heißt: "oh sorry, ich hatte blöderweise völlig vergessen, dass ...." ...;
arbeitest du mit irgendeinem browsertool, was dich auf fehler in deine javascript hinweist? wenn nicht, dann musst du. sonst hast du "gegen" ;-) javascript keine chance...;
mfg
tami
Der Quelltext ist absolut irrelevant
das ist die for schleife
for(var k = 0; k<newArray.length;k++)
{
document.form1.Unique.value += newArray[k]+"\n";
}
Das der php code
<?php
function url($a)
{
//mache c= a+a;
return c;
}
?>
wie müsste das jetzt aussehen, wenn ich newArray[k] an die Funktion übergeben und dann ein Ergebniss zurück bekommen will?
servus soundofakira,
Der Quelltext ist absolut irrelevant
Doch, er ist relevant. Wir haben nicht den gleichen Überblick wie du.
das ist die for schleife
for(var k = 0; k<newArray.length;k++)
{
document.form1.Unique.value += newArray[k]+"\n";
}
>
> Das der php code
> ~~~php
<?php
> function url($a)
> {
> //mache c= a+a;
> return c;
> }
> ?>
Hättest du gleich deinen generierten Quellcode geschickt, hättest du deinen Fehler bemerkt.
Ist die Funktion url() dort irgendwo definiert? Ich denke nicht, da es eine PHP-Funktion ist. Diese ist nur auf dem Server sichtbar. Nicht auf deiner Seite. Nicht im Browser. Du musst z.B. einen Ajax-Request machen, um diese Funktion aufrufen zu können. Einfach so aufrufen *funktioniert nicht*.
der wurzelbert
Wie gesagt
Es soll kein Ajax oder sonstiges mit eingebunden werden
was gibt es denn für alternativen um mehrere werte per php zu verarbeiten?
Hi,
was gibt es denn für alternativen um mehrere werte per php zu verarbeiten?
Das form-Element.
~dave
hi,
Wie gesagt
Es soll kein Ajax oder sonstiges mit eingebunden werdenwas gibt es denn für alternativen um mehrere werte per php zu verarbeiten?
du verstehst nach wie vor nicht, dass php html-code generiert und javascript nur innerhalb des bereits generierten codes stattfindet. deine php-funktion ist als irrelevant.
mfg
tami
Es soll kein Ajax oder sonstiges mit eingebunden werden
Also AJAX ist auch keine Zauberei. Das ist im Prinzip nur JS, wenn Du auf ein Framework wie jQuery verzichten willst. Nur mal so.
was gibt es denn für alternativen um mehrere werte per php zu verarbeiten?
Wie bereits gesagt, kannst natürlich keine php-Funktion mit JS aufrufen.
*) kannst du die Funktion url() in JS schreiben? Du kannst (notfalls) auch das JS dynamisch durch php generieren lassen. In diese Richtung kannst sozusagen Variablen an php "übergeben".
<script type="text/javascript">
var language = <?php echo $LANGUAGE ?>;
function getLang(){
alert(language);
}
</script>
Variablen von JS an php geht logisch nur mit einem weiteren Request, da php auf dem Server läuft und schon ausgeführt wurde, wenn JS läuft, welches beim User ausgeführt wird.
Dieser weitere Request kann im Hintergrund mit AJAX geschehen. Rückgabewerte werden in AJAX mit der callback-Funktion verarbeitet. Rückgabewerte können als Text, JSON, XML,... gesendet.
Cheers,
Baba
hi,
Es soll kein Ajax oder sonstiges mit eingebunden werden
Also AJAX ist auch keine Zauberei. Das ist im Prinzip nur JS, wenn Du auf ein Framework wie jQuery verzichten willst. Nur mal so.
http://www.javascriptkit.com/jsref/ajax.shtml
mfg
tami
servus soundofakira,
Der Inhalt des Arrays soll an eine php Datei geschickt werden.. verarbeitet und dann ein Ergebniss zurück kommen
Schon was von Ajax gehört? Mit jQuery kann man sehr leicht einen Request machen.
eigentlich hatte ich gedacht, dass es so gehen könnte
In der Hauptseite ist die php datei eingebunden
<?php include_once"head_question.php"; ?>Darin steht eine funktion
function url()
{
return "test";
}
Soll das eine PHP-Funktion sein? Diese dürfte in deinem Dokument-Quelltext nicht auftauchen.
wenn ich nun im Javascript an der Stelle, an der das ganze passieren soll versuche die funktion aufzurufen funktioniert es nicht
alert(url());
Wo mache ich was falsch an der Sache?
PHP läuft auf dem Server. Du musst eine Anfrage an den Server schicken. Was im Browser passiert, ist PHP schlicht *wumpe*.
der wurzelbert
servus soundofakira,
Der Inhalt des Arrays soll an eine php Datei geschickt werden.. verarbeitet und dann ein Ergebniss zurück kommen
Schon was von Ajax gehört? Mit jQuery kann man sehr leicht einen Request machen.
eigentlich hatte ich gedacht, dass es so gehen könnte
In der Hauptseite ist die php datei eingebunden
<?php include_once"head_question.php"; ?>Darin steht eine funktion
function url()
{
return "test";
}Soll das eine PHP-Funktion sein? Diese dürfte in deinem Dokument-Quelltext nicht auftauchen.
wenn ich nun im Javascript an der Stelle, an der das ganze passieren soll versuche die funktion aufzurufen funktioniert es nicht
alert(url());
Wo mache ich was falsch an der Sache?
PHP läuft auf dem Server. Du musst eine Anfrage an den Server schicken. Was im Browser passiert, ist PHP schlicht *wumpe*.
der wurzelbert
Es soll bewusst ohne jquery oder so laufen
Nur Javascript und PHP
Ich verzweifel schon seit einigen stunden an dem problem
Das ganze ist auche eine function und die steht in der .php Datei
Beide Dateien liegen im selben Verzeichnis auf dem server
Hi,
ich habe das Gefühlt dir ist nicht ganz klar wie der Browser mit dem Server kommuniziert und wo hier die Trennung erfolgt.
Wenn du im Browser deine Seite aufrufst wird ein Request an den Server geschickt.
Der führt ggf. PHP-Code aus (_keinen_ Javascript-Code, Ausnahme) und liefert das so Zusammengebaute Dokument zurück.
Was hier genau zurück geliefert wird kannst du sehen, wenn du dir den Quelltext im Browser anzeigen lässt.
Der Browser rendert dann das HTML-Dokument, lädt ggf. weitere Resourcen nach und führt Javascript-Code aus (_keinen_ PHP-Code).
Wenn du dir den vom Server zurückgelieferten Code anschaust steht vermutlich an der Stelle wo du den Inhalt von <?php include_once"head_question.php"; ?>
erwartest gar nichts.
Oder?
Deshalb ist es bei einem Client-Seitigem Problemen wichtig, den Code anzuschauen, den der Client hat.
Bei einem Server-Seitigen Problem den Code, den der Server hat.
Lösungsansatz für dein Problem ist dann AJAX.
~dave