online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Uesch vom 28.06.2019, 21:03 Options

Javascript mit PHP verbinden

Hallo allerseits,

ich wollte mal fragen, ob man Javascript mit PHP verbinden kann?
Ich habe nämlich eine Variable in Javascript mit dem Namen "wer". Nun möchte ich aber mit PHP weiterarbeiten. Wie bekomme ich diese Variable in PHP rein? Also ich meine irgendwie so:

$wer = <script>wer</script>

Aber das ist natürlich völlig falsch.
Kann mir jemand helfen?

Gruß,

Üsch


Antwort schreiben

Antwort 1 von Supermax vom 28.06.2019, 22:01 Options

JavaScript wird am Client (Browser) ausgeführt, PHP am Webserver. Um Daten zwischen diesen beiden zu übertragen, kann man Webformulare (auch unsichtbare, dynamisch mit JavaScript/DOM generierte) verwenden, oder AJAX.

Antwort 2 von Uesch vom 28.06.2019, 22:52 Options

und wie mache ich so ein unsichtbares Formular?

Antwort 3 von kicia vom 29.06.2019, 07:03 Options

------------------------
PHP
------------------------
Variablen übernehmen mit $_GET oder $_POST, zB.:

echo $_GET['xyz'];

------------------------
JavaScript:
------------------------
function sendVariable()
{
var xyz = 123;
document.location = "phpProgramm.php?xyz=" + xyz;
}

---- oder Formular senden: ----

function submitFormular()
{
document.forms.meinFormular.submit();
}

------------------------
HTML:
------------------------
<form name="meinFormular" action="phpProgramm.php" method="get">
<input type="text" name="xyz" value="123">
</form>

------------------------
Feld verstecken:
------------------------
<input type="hidden" name="xyz" value="123">

Antwort 4 von Uesch vom 29.06.2019, 19:22 Options

So ganz kapiere ich es nicht.
Ich erkläre noch mal genau mein Anliegen:

Ich habe eine Index.php, welche verschiedene Wörter anzeigt. Beim Klick auf eines dieser Wörter öffnet sich ein Popup. Dabei habe ich folgendes Script. Es speichert das, was ich vorher geklickt habe in einer Variable "wer":

<script type="text/javascript">
function pop(ausloeser) {
var wen = ausloeser.firstChild.data;
MeinFenster = window.open("formen.php?"+wen, "Formen", "width=500,height=500,left=100,top=200");
MeinFenster.focus();
}
</script>


Die formen.php erhält nun ein Script zum importieren der Variable:

<script type="text/javascript">
window.onload=function () {
var wer = location.search.substr(1);
}
</script>


Nun möchte ich, dass weitere Daten zu dem Wort angezeigt werden, was ich vorher in der index.php geklickt habe. Diese Daten stehen in einer MySQL-Datenbank und daher würde ich gerne mit PHP diese Daten anzeigen lassen. Doch leider weiß ich nicht wie ich die Variable wer in das PHP kriegen soll.

Ich dachte daran, ein Hiddenfeld zu benutzen, in dem die Variable "wer" steht.
Irgendwie so dachte ich:
<input type="hidden" name="hidden" value="javascript:wer">


Aber so leicht funzt es leider nicht.

Antwort 5 von rendolf vom 29.06.2019, 19:31 Options

du hast schon alles was du brauchst. mit dem aufruf von "formen.php?"+wen wird die variable wen bereits an php übergeben. abfragen über echo $_GET["wen"];
das javascriptkonstrukt kannst du vollkommen vergessen. das ist bei dieser lösung nicht mehr adäquat, weil es einen anderen zweck erfüllen sollte.

Antwort 6 von rendolf vom 29.06.2019, 19:34 Options

also mit javascriptkonstrukt meine ich das importieren der variable in js innerhalb der formen.php. javascript brauchst du nur noch für das öffnen des popups.

Antwort 7 von rendolf vom 29.06.2019, 19:42 Options

sorry hab grad geträumt. die sache muss so aussehen:
statt "formen.php?"+wen
--> "formen.php?user="+wen
dann ist der inhalt der variablen in $_GET["user"];
analog zu diesem thread:
http://supportnet.de/threads/1558832

Antwort 8 von Uesch vom 29.06.2019, 19:58 Options

Absolut genial, danke!

Könnte ich eigentlich diesen ersten Part
function pop(ausloeser) {
var wen = ausloeser.firstChild.data;
MeinFenster = window.open("formen.php?"+wen, "Formen", "width=500,height=500,left=100,top=200");
MeinFenster.focus();
}


auch mit PHP machen? Die Fenstergröße wäre mir auch egal. Oder geht das nur mit Javascript?

Antwort 9 von rendolf vom 29.06.2019, 20:05 Options

also das popuppen oder up-poppen eines fensters geht nur mit javascript (sprich nicht mit html).

Antwort 10 von rfb vom 29.06.2019, 21:28 Options

Zitat:
auch mit PHP machen?
nein, natürlich nicht! PHP läuft auf dem Server (wenn du da irgendwelche Popups zu öffnen versuchst kriegst du höchstens Ärger mit dem Admin), Fenster öffnen läuft aber userseitig, also wenn sämtliche PHP-Scripte längst beendet sind.

Antwort 11 von Uesch vom 30.06.2019, 12:03 Options

Ich meinte eigentlich den Part, wo er die "wer"-Variable speichert. Also dass man auf einen Textlink klickt und er den Text des Links in einer Variable speichert. Geht das mit PHP?

Antwort 12 von rendolf vom 30.06.2019, 12:55 Options


<a href="javascript:pop('Otto');">Otto</a>

<script type="text/javascript">
function pop(user) {
MeinFenster = window.open("formen.php?user="+user, "Formen", "width=500,height=500,left=100,top=200");
MeinFenster.focus();
}
</script>

Antwort 13 von rfb vom 30.06.2019, 13:16 Options

Zitat:
dass man auf einen Textlink klickt und er den Text des Links in einer Variable speichert. Geht das mit PHP?
Nein! Definitiv nicht, denn in dem Moment wo jemand auf einen Link klickt steht PHP nie zur Verfügung.

Du kannst nur durch diesen Link - entweder direkt per HTML in der Form
<a href="script.php?wer=ich">Linktext</a>
bzw. gleich als Formular oder - wenn's denn JavaScript sein soll - per AJAX eine entsprechende Meldung an den Server geben und dort kann das Script darauf reagieren und alles, was übergeben, wurde nach Belieben spreichern.

Antwort 14 von Proggi vom 30.06.2019, 15:24 Options

man kann mit activescripting ein javascript variablen an ein php-script übergeben und auch wieder laden.

Teilweise kannst du ein IFrame machen (ggfs ein unsichtbares) in dem du eine PHP-Seite ausführst, die wiederum keinen Text anzeigt sondern als inhalt nur ein Javascript ausgibt..

<script>
top.document.x = "neuesXrückgabewert";
top.document.functionsname();
</script>
(im original)
<script>
top.document.x = "<?= $Datenneu ?>";
top.document.functionsname();
</script>


aufgerufen kann die seite dann über das
iframe.php?eingabewert=zuspeichernderwert

so kannst du dynamisch in beide richtungen daten austauschen ohne die eigentliche Seite neu zu laden.
Natürlich funktioniert das nur bei Besuchern die Javascript nicht ausgeschaltet haben.
Es wird aber sehr kompliziert wenn du dann den angezeigten Text noch ändern möchtest. Spätestens da empfehle ich dir das per neuladen der Hauptseite zu realisieren.

Antwort 15 von rfb vom 30.06.2019, 15:47 Options

@Proggi:
derartige IFrame-Methoden sind dank AJAX nun wirklich nicht mehr zeitgemäß. Mit AJAX kannst du jederzeit Daten zum Server schieben und wieder abholen - direkt - solange JavaScript aktiviert ist (und im IE, der einen einfachen httprequest nicht kennt, zusätzlich ActicveScripting).

Antwort 16 von Proggi vom 30.06.2019, 16:24 Options

soweit Javascript aktiv ist würde ich aber etwas selbstgeschriebenes schon bevorzugen, da bei Wiki bez Ajax steht, dass "Umfangreiche Tests erforderlich" sind. Zumal auch bei Ajax u.U. wieder auf Javascript zurückgegriffen wird.

@Üsch - Ich rate dir erstmal ab unnötig viel Javascript zu verwenden, und es ist auch eventuell angenehmer wenn Besucher die Seiten normal aufrufen können und so auch den vorwärts/zurückbutten benutzen können, was bei IFrame und Ajaxmethode eventuell nicht korrekt möglich ist.

Damit du Vor/Zurück verwenden kannst, solltest übrigens bei der SQL-Frage die geschichte von $_POST nach $_GET ändern und ein GET-Formular verwenden. Wenn deine Seite nicht zig KB quelltext enthält kannst sowieso besser die Seite neu abschicken um Daten zum Server zu schieben.

Antwort 17 von Proggi vom 30.06.2019, 16:27 Options

nachtrag

Ajax ist vermutlich ne gute technik um einen Webbasierten Chat wie den SN-Chat neu zu schreiben... war sogar mal über Activescripting mit Iframes realisiert, mit Ajax hätte die anzahl der Reload-fragen noch deutlich reduziert und dabei noch die aktuallität erhöht werden können, da die seite nicht statisch alle 3-5 sekunden neu geladen würde sondern sobald jemand was geschrieben hat.

Antwort 18 von rendolf vom 30.06.2019, 16:37 Options

@proggi:
du bist auf dem vollkommen falschen dampfer. entgegen der irreführenden überschrift dieses threads, geht es hier gar nicht um das zusammenspiel von php und js. es geht lediglich um einen popuplink.

Antwort 19 von rfb vom 30.06.2019, 16:46 Options

Zitat:
es geht lediglich um einen popuplink.
sicher? Das ganze Gerede von "eine Variable speichern" klingt nicht danach.

Antwort 20 von Proggi vom 30.06.2019, 17:53 Options

ich denke rfb und ich sind nicht auf den falschen dampfer...
der popuplink sollte das ja machen, was das anfangsproblem darstellt:

$wer = <script>wer</script>
(B = PHP, U = Java)
das problem ist (wie rfb schon schrieb) nicht so lösbar, da zur Laufzeit des PHP-Codes, das Script nicht ausgeführt wird.

Ähnliche Themen

mehrere cookies speichern
timoxy  23.06.2007 - 84 Hits - 1 Antwort

Javascript
tomkat  08.07.2007 - 199 Hits - 2 Antworten

Suche einen Editor für HTML JavaScript PHP usw.
MACC  05.02.2008 - 92 Hits - 14 Antworten

Javascript und Entertaste
wurzelpeter  21.06.2008 - 51 Hits - 4 Antworten

wie macht man mit Javascript aus vorher festgelegten wörtern links?
nympseudo  06.07.2008 - 123 Hits - 10 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026