Wie können Sie PHP in einer Javascript-Funktion verwenden

Diese Frage hat hier schon eine Antwort:

  • Was ist der Unterschied zwischen clientseitiger und serverseitiger Programmierung? 5 antworten
<html> <?php $num = 1; echo $num; ?> <input type="button" name="lol" value="Click to increment" onclick="Inc()" /> <br> <script> function Inc() { <?php $num = 2; echo $num; ?> } </script> </html> 

Dies ist, was ich bisher habe, aber ich arbeite nicht, ich glaube ich brauche ajax oder etwas aber ich habe keine Ahnung, was zu tun ist.

  • Antwort von jQuery ajax speichern
  • Vorherige Felder Text verschwindet beim Hinzufügen neuer mit select2 ajax
  • Bypassing CloudFlare's Time-out von 100 Sekunden
  • Während eines langen Ajax-Aufrufs Fortschritte machen
  • Target ein iframe mit einem HTML Post mit jQuery
  • Browser es selbst machen Anfrage auf Anfrage Fehler, wenn Internet wieder verbunden
  • Vielen Dank

  • Laden Sie das Bild mit ajax insgur
  • Mit Selektoren und $ (dies) in Jquery Ajax
  • AJAX / ASP - Update Fortschrittsfeld - Response.Flush
  • Meinung über synchrone Anfragen in Web-Mitarbeitern
  • JQuery DataTables "Keine Daten in der Tabelle verfügbar"
  • Test url Verfügbarkeit mit Javascript
  • 9 Solutions collect form web for “Wie können Sie PHP in einer Javascript-Funktion verwenden”

    Sie können PHP-Code nicht mit Javascript ausführen. Wenn der Benutzer die Seite empfängt, wird der Server ausgewertet und alle PHP-Code ausgeführt und es herausgenommen. So wird das zB funktionieren:

     alert( <?php echo "\"Hello\""; ?> ); 

    Weil der Server es ausgewertet hat:

     alert("Hello"); 

    Allerdings können Sie keine Operationen in PHP mit ihm ausführen.

    Dies:

     function Inc() { <?php $num = 2; echo $num; ?> } 

    Wird einfach dazu ausgewertet:

     function Inc() { 2 } 

    Wenn du kein PHP-Skript anrufen willst, musst du eine andere Seite anrufen, die einen Wert aus einem Satz von Parametern zurückgibt.

    Dies wird zum Beispiel funktionieren:

    Script.php

     $num = $_POST["num"]; echo $num * 2; 

    Javascript (jQuery) (auf einer anderen Seite):

     $.post('script.php', { num: 5 }, function(result) { alert(result); }); 

    Dies sollte aufmerksam sein 10.

    Viel Glück!

    Bearbeiten: Einfach inkrementieren eine Nummer auf der Seite kann leicht gemacht werden in jQuery wie folgt : http://jsfiddle.net/puVPc/

    Ich denke, Sie sind verwirrend Server-Code mit Client-Code.

    JavaScript läuft auf dem Client, nachdem er Daten vom Server empfangen hat (wie eine Webseite).

    PHP läuft auf dem Server, bevor es die Daten sendet.

    So gibt es zwei Möglichkeiten mit der Interaktion mit JavaScript mit PHP.

    Wie oben, können Sie generieren Javascript mit PHP in der gleichen Art und Weise Sie generieren HTML mit PHP.

    Oder Sie können eine AJAX-Anfrage von Javascript verwenden, um mit dem Server zu interagieren. Der Server kann mit Daten antworten und das Javascript kann das empfangen und etwas damit machen.

    Ich würde empfehlen, zurück zu den Grundlagen zu gehen und zu studieren, wie HTTP in der Server-Client-Beziehung arbeitet. Dann studiere das Konzept der Server-Seitensprachen und Client-Seitensprachen.

    Dann nehmen Sie ein Tutorium mit ajax, und Sie werden anfangen, das Konzept zu bekommen.

    Viel Glück, Google ist dein Freund.

    In der oben angegebenen Code

    Den php-Wert der Javascript-Variablen zuordnen.

     <html> <?php $num = 1; echo $num; ?> <input type = "button" name = "lol" value = "Click to increment" onclick = "Inc()"> <br> <script> var numeric = <?php echo $num; ?>"; //assigns value of the $num to javascript var numeric function Inc() { numeric = eVal(numeric) + 1; alert("Increamented value: "+numeric); } </script> </html> 

    Eine Sache in Kombination von PHP und Javsacript ist, können Sie nicht Javascript Wert zu PHP-Wert zuweisen. Sie können der Javascript-Variable PHP-Wert zuordnen.

    Sie verwenden Skript in PHP ..

     <?php $num = 1; echo $num; echo '<input type="button" name="lol" value="Click to increment" onclick="Inc()" /> <br> <script> function Inc() {'; $num = 2; echo $num; echo '} </script>'; ?> 

    OK Leute können seine Frage beantworten, indem sie die Dinge nicht überkompliziert, aber es einfach macht, so wie deine Frage klang falsch, weil du die da drin geklebt hast, aber sie sitzen einfach im Javascript für immer, es ist nicht so, als würde es rausgehen, weil es nicht gewesen ist Hallte den Java-Script weg und schau, wie einfach die Lösung war: P

     <?php $num = 1; echo $num; echo "<input type='button' value='Click' onclick='readmore()' />"; echo "<script> function readmore() { document.write('"; $num = 2; echo $num; echo "'); } </script>"; ?> 

    Es gibt einen Weg, um PHP in Client-Side-Javascript laufen (nicht reden über Server-Seite js hier). Weiß nicht, ob das eine sehr gute Idee ist, aber du kannst. Wie einige Leute darauf hingewiesen haben, müssen Sie im Auge behalten die PHP wird auf dem Server ausgewertet und dann als statische Zeug an den Browser zurückgegeben, die dann das Javascript mit den zusätzlichen Daten vom Server ausführen wird.

    Du musst dem Server sagen, dass du die js-Dateien als PHP-Dateien auswerten solltest, wenn du einen Apache-Server betreibst, kannst du das mit einer htaccess-Datei wie folgt machen:

     <FilesMatch "\.js$"> SetHandler application/x-httpd-php Header set Content-type "application/javascript" </FilesMatch> 

    Mehr Infos hier:

    Parse js / css als PHP-Datei mit htaccess

    http://css-tricks.com/snippets/htaccess/use-php-inside-javascript/

    Bearbeiten: Auf http-Seite Anfrage dieser Trick macht Dateien mit js Erweiterung durch den PHP-Compiler analysiert werden. Alle PHP-Teile in der js-Datei werden ausgeführt und die js-Datei mit hinzugefügten Serverdaten wird an den Browser übergeben.

    Allerdings verwendet das OP eine HTML-Datei (wahrscheinlich mit PHP-Erweiterung), keine js-Datei, also in diesem speziellen Fall gibt es keine Notwendigkeit für meinen Vorschlag.

    Die vorgeschlagenen Lösungen sind der Weg zu gehen. Wenn die Variable auf dem Server gespeichert werden muss, verwenden Sie ajax, um sie dort zu senden.

    Versuchen Sie, dass dies funktionieren kann ..

     <html> <?php $num = 1; ?> <div id="Count"><?php echo $num; ?></div> <input type = "button" name = "lol" value = "Click to increment" onclick = "Inc()"> <br> <script> function Inc() { i = parseInt(document.getElementById('Count').innerHTML); document.getElementById('Count').innerHTML = i+1; } </script> </html> 

    Trotz einiger kommentare, in manchen Fällen ist es wirklich notwendig, auf PHP-Funktionen bei Javascript zuzugreifen (zB die AJAX-Fälle).

    In diesen Fällen können Sie die mwsX-Bibliothek verwenden, um Ihre PHP-Funktionen in Javascript zu verwenden.

    MwsX-Bibliothek: https://github.com/loureirorg/mwsx

    Geben Sie es einfach zurück:

     <html> <?php $num = 1; echo $num; ?> <input type="button" name="lol" value="Click to increment" onclick="Inc()" /> <br> <script> function Inc() { Return <?php $num = 2; echo $num; ?>; } </script> </html> 
    Lassen Sie uns Javascript Schönheit und nützlich machen.