WebWork Magazin - Design, Gestaltung, Online Medien, html

Webhosting Provider Domain

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Daten aus JavaScript(JS) in PHP Nutzen (Google API)

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. FRagen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Daten aus JavaScript(JS) in PHP Nutzen (Google API) - 18 Okt 2017 Antworten
im Forum für Webhosting Homepage gefunden:
Daten aus JavaScript(JS) in PHP Nutzen (Google API)
topse611
Pixelschubser
Threadstarter




Beiträge: 2

Hallo erstmal,

folgendes Problem:
Ich soll eine Seite erstellen, ähnlich der Übersetzungsseite von Google.
Hierzu will ich das Google Translate API nutzen. Ich habe folgende Vorlage:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>T-Systems Secure Translation</title>
<script language="javascript" src="http://www.google.com/jsapi"></script>
<script language="javascript">
 google.load ("language", "1");
 function gtrans (f) {
  document.getElementById("translation").innerHTML = "-";
  var lang = f.langpair.value.split("|");
  google.language.translate (f.translate.value, lang[0], lang[1], function (result) {
   if (!result.error) {
    var container = document.getElementById("translation").innerHTML = result.translation;
   }
   document.write result
  });
  return false;
 }
</script>
</head>

<body>
<form onsubmit="return false">
 <p>Enter text to translate and click "Translate"</p>
 <textarea name="translate" cols="50" rows="5"></TEXTAREA>
 <br />
 <select name="langpair">
  <option value="en|fr">English -> French</option>
  <option value="en|de">English -> German</option>
  <option value="fr|en">French -> English</option>
  <option value="fr|de">French -> German</option>
  <option value="de|en">German -> English</option>
  <option value="de|fr">German -> French</option>
 </select>
 <input type="button" value="Translate" onclick="gtrans(this.form)" />
 <p id="translation" style="border:1px solid #00f;padding:5px;width:400px">-</p>
</form>
</body>
</html>


Das Funktioniert auch soweit. Nun will ich aber mit dem übersetzten Text weiterarbeit. (z.B. per Email versenden, in einer Datenbank ablegen, etc). Ich kann aber leider nur PHP. Das Google Script ist halt aber leider in JS, dessen ich keinen Meter weit mächtig bin.

Was mir helfen würde, wäre wenn es möglich wäre irgendwie den übersetzten Text (der ja in dem vorhandenen Script in einen <p>-Tag geschrieben wird) in eine php Variable zu bringen.
Ist sowas irgendwie möglich? Wenn ja: wie?

Was mir unter Umständen auch vielleicht schon helfen würde, wäre wenn es möglich ist den übersetzten Text irgendwie statt in den <p>-Tag in eine <textarea> zu schreiben. Nur da ich das JS, das hier vorliegt, nicht verstehen kann und auch keinerlei JS Befehle kenne, kann ich mir hier selbst nicht weiterhelfen.

Ich bin hier total aufgeschmissen : /
Würde mich riesig freuen, wenn mir jemand weiterhelfen könnte.

Danke schonmal.
Gruß
Topse

Diese Nachricht wurde geändert von: topse611
  Profil   Editieren   Zitieren
TeX
Otto-Normal-Poster




Beiträge: 51

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>T-Systems Secure Translation</title>
<script language="javascript" src="http://www.google.com/jsapi"></script>
<script language="javascript">
 google.load ("language", "1");
 function gtrans (f) {
  document.getElementById("translation").value = "-";
  var lang = f.langpair.value.split("|");
  google.language.translate (f.translate.value, lang[0], lang[1], function (result) {
   if (!result.error) {
    var container = document.getElementById("translation").value = result.translation;
   }
  });
  return false;
 }
</script>
</head>

<body>
<form onsubmit="return false">
 <p>Enter text to translate and click "Translate"</p>
 <textarea name="translate" cols="50" rows="5"></TEXTAREA>
 <br />
 <select name="langpair">
  <option value="en|fr">English -> French</option>
  <option value="en|de">English -> German</option>
  <option value="fr|en">French -> English</option>
  <option value="fr|de">French -> German</option>
  <option value="de|en">German -> English</option>
  <option value="de|fr">German -> French</option>
 </select>
 <input type="button" value="Translate" onclick="javascript:gtrans(this.form)" />
 <br /><br />
 <textarea id="translation" cols="50" rows="5"></TEXTAREA>
</form>
</body>
</html>


Schau mal ob es funktioniert. Ich kann es nicht prüfen, da ich auf Arbeit bin und externe Zugriffe nicht gewünscht sind (d.h. Dein Code geht hier nicht).

---
Ankauf leere Toner | Ankauf leere Tonerkartuschen

Diese Nachricht wurde geändert von: TeX
  Profil   E-Mail   Website   Editieren   Zitieren
Ori
Mausakrobat




Beiträge: 163

Zum JavaScript:
Ich kenne den Googlekram nicht (und lege auch keinen Wert darauf). Geraten wäre es etwa so:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16:
<script type="text/javascript">
// <![CDATA[
google.load("language", "1");
function gtrans(f) {
  document.getElementById("translation").value = "-";
  var lang = f.langpair.value.split("|");
  google.language.translate(f.translate.value, lang[0], lang[1], function (result) {
    if (!result.error) {
      var t = document.getElementById("translation");
      t.value = result.translation;
      t.form.submit();
    }
  });
}
// ]]>
</script>


Das Formular muss auch noch ein wenig angepasst werden:
1: 
2: 
3: 
4: 
5: 
6:
<form action="..." method="post">
...
<button type="button" onclick="gtrans(this.form);">Translate</button>
...
<textarea name="translation" id="translation" ...></textarea>
</form>



Zur Erklärung: Wenn du das Formular abschickst, können die per JavaScript übersetzten Dinge ganz normal aus $_POST ausgelesen werden. Zum Verstehen des JavaScript-Anteils genügt eine halbe Stunde SelfHTML; die Syntax ähnelt PHP ja ein wenig.
Die fertige Übersetzung wird, sobald Google die Drecksarbeit erledigt hat, in das Element mit id="translation" gesteckt. Das ist bei dir noch eine <textarea>, wird aber üblicherweise als <input type="hidden" /> implementiert. (Ersteres macht Sinn, wenn die via <form action=""> aufgerufene Seite den HTTP-Statuscode 204 No Content zurückliefert. letzteres, wenn die Seite eine neue generiert.)


Abgesehen davon hat der HTML-Code etliche Schnitzer.
Das Attribut language für <script> ist überflüssig. Benutz stattdessen entweder type="text/javascript" (eigentlich vorgeschrieben) oder lass es ganz weg (HTML 5 erlaubt das). Du musst > kodieren, wenn es nicht zu einem Tag gehört. Es muss dann als &gt; geschrieben werden. Das gleiche gilt für ", es muss &quot geschrieben werden.
JavaScript muss für XHTML in <![CDATA[ ]]> geschachtelt werden (idealerweise mit // auskommentiert - alte Browser kommen damit sonst nicht klar). Für Ereignisse (on...) ist kein "javascript:"-Vorspann nötig, den braucht man nur bei Urls (also z.B. in href="").

Unterm Strich: „Ich kann aber leider nur PHP.“ Besser wär’s, du könntest auch HTML.

Diese Nachricht wurde geändert von: Ori
  Profil   E-Mail   Website   Editieren   Zitieren
topse611
Pixelschubser
Threadstarter




Beiträge: 2

Hallo Ori,

danke. Du hast mir sehr geholfen. Es funktioniert so wie du es erläutert hast.

ps.: Der html Code war nicht von mir. Den hab ich so vorgesetzt bekommen und da er anstandslos funktioniert hat habe ich ihn auch nicht verändert. Aber du hast recht... sauber ist anders. Werd deine Anmerkungen Umsetzen.

Also nochmal: Danke !

Gruß Topse

  Profil   Editieren   Zitieren
 

Antworten


Forum » PHP & MySQL » Daten aus JavaScript(JS) in PHP Nutzen (Google API)

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Daten aus JavaScript(JS) in PHP Nutzen (Google API) im Forum Homepage Hosting AntwortenLetztes Posting
Schnell viel Geld ohne Aufwand verdienen, mit dem Smartphone
in "PHP & MySQL"
5 07.09.2017 19:25 von Angel26
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
0 03.09.2017 22:01 von Tainor
CMS für Online Shop
in "PHP & MySQL"
20 07.08.2017 05:54 von Isasimon
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon
Fertige PHP Scripte für Ihre Homepage
in "PHP & MySQL"
0 16.12.2015 12:02 von PHP-Script-Shop
Callback Befehl ++ Session ID Eintrag +++
in "PHP & MySQL"
2 16.12.2015 11:57 von PHP-Script-Shop
PHP befehl ausführen
in "PHP & MySQL"
9 16.12.2015 11:52 von PHP-Script-Shop
suche online community script
in "PHP & MySQL"
3 16.12.2015 11:51 von PHP-Script-Shop
Text basierender Chat
in "PHP & MySQL"
5 16.12.2015 11:51 von PHP-Script-Shop



Besucher : 5326961    Heute : 382     Gestern : 1479     Online : 20     18.10.2017    7:42      0 Besucher in den letzten 60 Sekunden        
Die letzten 30 Referrer :

1 20:26 - google.de/search - playstation store wartungsarbeiten
2 12:27 - bing.com/search - text von homepage extrahieren
3 9:13 - bing.com/search - den Aufwand wäre uns ersparrt
4 19:22 - google.de/search - gmx login geht nicht forum
5 19:06 - google.com/search - content
6 18:56 - google.com/search - content
7 14:51 - bing.com/search - warum ist gmx nicht erreichbar
8 12:16 - google.de/search - gmx login probleme
9 19:38 - google.de/search - facebook Seitennamen viele zeilensprünge
10 19:42 - google.com/search - content
11 12:43 - bing.com/search - yahoo-mail probleme servicehotline
12 5:43 - bing.com/search - Bauservice, Hosten
13 18:39 - google.de/search - gibt es eine störung bei gmx
14 7:09 - bing.com/search - Ger
15 21:59 - bing.com/search - freenet email dienst gestört
16 21:12 - google.de/search - icuserver wildtierkamera befehle command
17 19:57 - bing.com/search - freenet störung
18 8:04 - bing.com/search - strato öffnet sich nicht
19 2:33 - bing.com/search - Fliesenleger, Nettgau
20 23:07 - bing.com/search - web dorado vorschaubilder unscharf
21 10:09 - google.com/search - content
22 7:25 - ask.com/web - Teichbau, Adamshoffnung
23 7:24 - ask.com/web - Teichbau, Adamshoffnung
24 19:23 - google.de/search - änderungen bei googlesuche 2017
25 13:22 - google.de/search - site pastebin com intext unitymedia
26 21:44 - google.de/search - tpm abkürzung porno
27 16:18 - bing.com/search - Teichbau, Nettgau
28 10:50 - google.de/search - wettbonus mit VPN schieben
29 10:44 - bing.com/search - Bauunternehmen, Adamshoffnung loc:DE
30 7:59 - bing.com/search - communicator strato

Nach oben