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) - 26 Juni 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"
0 04.04.2017 02:12 von terra445
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
CMS für Online Shop
in "PHP & MySQL"
19 29.06.2016 14:49 von raiserle
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
Counter mit PHP
in "PHP & MySQL"
2 16.12.2015 11:50 von PHP-Script-Shop
Wo bekommt man fertige PHP Scripte her?
in "PHP & MySQL"
12 16.12.2015 11:42 von PHP-Script-Shop



Besucher : 5170496    Heute : 953     Gestern : 1332     Online : 39     26.6.2017    15:49      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Die letzten 30 Referrer :

1 22:03 - bing.com/search - pürrierstab forum
2 18:35 - google.com/search - content
3 18:29 - google.com/search - content
4 15:10 - bing.com/search - Warum was los?
5 2:49 - bing.com/search - web de störung
6 20:57 - bing.com/search - stromverbrauch pro jah
7 13:16 - https://google.de/search - lustige arbeitsfotos
8 5:59 - ask.com/web - Bauservice, Arrach
9 23:32 - google.at/search - gmx störung
10 14:51 - bing.com/search - psd files elemente informationen grabben
11 13:03 - bing.com/search - rewit wände wieder einblenen
12 9:13 - bing.com/search - html unterstrich entfernen
13 2:54 - bing.com/search - communicator strato
14 23:58 - bing.com/search - srörung freenet sachsen
15 22:38 - bing.com/search - webmaster forum rechtsschutz
16 18:56 - google.com/search - content
17 18:55 - google.com/search - content
18 17:25 - bing.com/search - Stauswertliste
19 14:26 - bing.com/search - patch probleme juni 2017 outlook
20 10:18 - bing.com/search - Gmx Störung heute
21 10:12 - bing.com/search - gmx nicht erreichbar
22 10:12 - bing.com/search - gmx nicht errrichbar
23 10:09 - bing.com/search - gmx nicht erreichbar
24 10:03 - bing.com/search - gmx nicht erreichbar heute
25 9:54 - google.de/search - gmx email nicht erreichbar
26 9:53 - bing.com/search - gmx server nicht erreichbar
27 9:32 - bing.com/search - gmx nicht erreichbar heute
28 9:28 - bing.com/search - gmx störung heute
29 9:25 - bing.com/search - gmx Störung
30 9:21 - bing.com/search - gmx nicht erreichbar heute

Nach oben