php - applet Kommunikation

olindia

Mitglied
Ich versuche seit längerem variablen von einem applet an php zu übertragen. Ich habe mich im Internet Kundig gemacht und habe ein Programm gefunden, welches eine variable über die url versendet. zunächst schreibe ich "http://localhost/eins/applet.php". Dann wird das Programm ausgeführt. Ich kann nun einen Text in ein Textfeld des Applets eingeben. Wenn ich speichern klicke, sollte der Text als Variable an php übertragen werden. Astattdessen erscheint folgende Fehlermeldung im Fenster:

Objekt nicht gefunden!

Der angeforderte URL konnte auf dem Server nicht gefunden werden. Der Link auf der verweisenden Seite scheint falsch oder nicht mehr aktuell zu sein. Bitte informieren Sie den Autor dieser Seite über den Fehler.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.

Error 404
[...]​

Außerdem steht in der url nun: „http://localhost/eins/php.php?var1=1“ (diese Verzeichnis ist natürlich nicht gespeichert auf dem Server)

hier der Programmcode für php
HTML:
<APPLET CODE="test.class" WIDTH="600" HEIGHT="450">
<?php
$var1 = $HTTP_GET_VARS["var1"];
$datei = fopen("datei.txt", "a");
fputs($datei, $var1);
fclose($datei);
?>



Und hier der Programmcode für Java
Java:
import java.applet.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
 
public class test
extends Applet
implements ActionListener
{
// Variablen
TextField tf;
Button bu;
// Ende Variablen
 
public void init() {
setLayout(new BorderLayout());
// Komponenten
tf = new TextField("");
bu = new Button("schreiben");
bu.addActionListener(this);
//Ende Komponenten
this.add(tf, BorderLayout.CENTER);
this.add(bu, BorderLayout.SOUTH);
}
 
// Ergeignisse
public void actionPerformed(ActionEvent aevt) {
try {
URL home = getCodeBase();
String url = home.toString()+"php.php?var1="+tf.getText();
getAppletContext().showDocument(new URL(url));
} catch(Exception x) {}
}
// Ende Ergeignisse
}

vielen Dank für eure Hilfe im Voraus!
 
Zuletzt bearbeitet von einem Moderator:

L-ectron-X

Gesperrter Benutzer
Ich würde den PHP-Part noch weiter verkleinern und mit Parametern (
Code:
getParameter()
) arbeiten.
 

r.w.

Bekanntes Mitglied
In Zeile 30 Deines Applets erzeugst Du eine Url.
Ersetze dort "php.php?" durch "applet.php?",
dann sollte die Datei gefunden werden.

BTW: Die php-datei würde ich, auch wenn sie
hier so funktionieren mag, eher als halbgar
bezeichnen. Du solltest Dich eventuell mal
über den Aufbau einer HTML-Datei schlau machen.
Auch php-dateien sollten gültigen HTML-Code erzeugen.
wenn ein Browser das Zielmedium ist.

VG ROlf
 

olindia

Mitglied
Vielen Dank für eure Hilfe zunächst mal! Es funktioniert nun wenn ich „applet.php“ anstatt „php.php“ schreibe =).

Rolf, du hattest recht als du gesagt hast, dass die Datei halbgar ist. Das ganze funktioniert in einem anderen Zusammenhang schon nicht mehr (unten). Was muss ich anders machen? Tut mir Leid wenn ich schon wieder frage, aber ich verstehe nicht, wie ich diesen winzigen code Umstrukturieren soll (er besteht ja aus nicht viel mehr als [die variable holen], [eine Datei öffnen], [die variable in die Datei schreiben], [die Datei wieder schließen])


Java:
<?php

$Benutzername = "datei";
$userdatei = fopen($Benutzername.".txt","r");
while(!feof($userdatei))
   {
   $zeile = fgets($userdatei,1024);
   
   $zerlegen = explode("|", $zeile);

echo "Passwort = ";
echo $zerlegen[0];
echo "<br \>";
echo "var_1 = ";
echo $zerlegen[1];
echo "<br \>";
echo "var_2 = ";
echo $zerlegen[2];
echo "<br \>";
echo "var_3 = ";
echo $zerlegen[3];

   }
fclose($userdatei);
?>

<HTML>
<APPLET code="test.class" width="1000" height="600">
<PARAM name="message" value="<?php echo $zerlegen[0] ?>">
</APPLET>
</BODY>
</HTML>

<?php
$var1 = $_GET["var1"];
$datei = fopen("datei.txt", "w+");
fputs($datei, $var1);
fclose($datei);
?>



Ich kann dem Applet zwar Daten zuschicken, jedoch kann ich später keine Daten zurückschicken.

hier die Fehlermeldung

Notice: Undefined index: var1 in*/opt/lampp/htdocs/eins/Politivity/applet.php*on line*35

Warning: fopen(datei.txt) [function.fopen]: failed to open stream: Permission denied in*/opt/lampp/htdocs/eins/Politivity/applet.php*on line*36

Warning: fputs() expects parameter 1 to be resource, boolean given in*/opt/lampp/htdocs/eins/Politivity/applet.php*on line*37

Warning: fclose() expects parameter 1 to be resource, boolean given in*/opt/lampp/htdocs/eins/Politivity/applet.php*on line*38​


@ L-ectron: tut mir Leid, dass ich zu blöd war den fetten roten Text zu lesen. Diesmal habe ich die javatags eingefügt (ich hoffe ich habs richtig gemacht)
 

Volvagia

Top Contributor
Theoretisch, aber der PHP-Tag wäre wohl die bessere Wahl gewesen. :lol:

Permission denied bedeutet Zugriff verweigert, also dass PHP keine Rechte hat in die Datei zu schreiben bzw. eine neue anzulegen. Die anderen beiden Fehler ergeben sich dann durch den Rückgabewert, weil PHP so extrem häßlich untyp-safe ist, also kein FilePointer sondern eine boolean wegen des Fehlers zurückkommt.
 

r.w.

Bekanntes Mitglied
Grob betrachtet macht Dein PHP-Skript Folgendes:

1. Erster PHP-Teil:
Die Datei zeilenweise eingelesen und im Array $zerlegen gespeichert.
-> gäbe es mehr als eine Zeile wäre aufgrund der while-Schleife nur
die letzte Zeile im Array vorhanden, da es immer wieder überschrieben wird.
-> Da Du aber die Datei immer komplett überschreibst (mit nur einer Zeile),
kannst Du in Zeile 5 "while" durch "if" ersetzen.

2. HTML-Teil:
Das Applet wird geladen und diesem das Array $zerlegen als Parameter übergeben.

3. Zweiter PHP-Teil:
Hier wird versucht, den dem Skript beim Aufruf übergebenen Parameter "var1"
in der Datei zu speichern. Da dieser Parameter beim ersten Aufruf sehr wahrscheinlich
noch nicht übergeben wird, ist dort das Array $_GET noch leer und Du erhältst den Fehler
"Undefined index: var1".

Insgesamt sieht es so aus, dass Du schon Werte in die Datei zu schreiben versuchst,
bevor Du im Applet die Gelegenheit hättest, welche zu erfassen. Da müsste man den Ablauf
im PHP-Skript noch einmal überdenken. ;-)

Die Fehler bezüglich des Speicherns der Datei resultieren, wie Volvagia schon schrieb,
aus einer fehlenden Schreibberechtigung in dem Verzeichnis. Und das ist auch gut so.
Denn man sollte nie von einem Skript aus Dateien in einem Verzeichnis ändern, in denen
das Skript die Berechtigung "Ausführen" besitzt. Für solche Dateien legt man separate
Ordner an und vergibt dort maximal die Berechtigung "lesen/schreiben", aber nie "ausführen".

Wenn Du den Code des Applets posten würdest (dürfte ja nicht allzu groß sein), könnte
ich Dir ggf. einen Vorschlag für die PHP-Datei machen.

VG ROlf
 

olindia

Mitglied
Unten der Java Code (vereinfacht). Der Benutzer des Programms soll die Größe des Balkens einstellen können und sie danach speichern können. Das Programm kann nun schon die Größe des Balkens aus der Datei entnehmen, jedoch nicht die eingestellte Größe in der gleichen Datei speichern.

Java:
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.net.*;
import java.applet.*;


public class test extends Applet 
	implements AdjustmentListener, ActionListener {
	
	private Scrollbar s1;
	private float value1;
	static float barValue;
	private Button save;
	static int b=1;

public void init() {
	
	s1 = new Scrollbar(Scrollbar.HORIZONTAL, 34, 1, 0, 100);
	add(s1);
	s1.addAdjustmentListener(this);
	
	Button save = new Button ("    SAVE    ");
	add(save);
	save.addActionListener(this);

}

public void paint(Graphics g) {
	
	if (b==1) {
		value1 = Integer.parseInt(this.getParameter("Message"));
		b=2;
		}
	
	g.drawString("" + value1, 100, 100);
	barValue = (int) ((value1 / 100) * 245);
	g.drawString("" + (int) barValue, 567, 563);
	g.drawRect(567, (545 - (int) barValue), 25, (int) barValue);	
}
				
public void adjustmentValueChanged(AdjustmentEvent e) {
	value1 = s1.getValue();
	repaint();
}

public void actionPerformed(ActionEvent event){
try {
URL home = getCodeBase();
String url = home.toString()+"applet.php?var1="+value1;

getAppletContext().showDocument(new URL(url));
} catch(Exception x) {}
repaint();
}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S RMI RMI-Applet kommunikation funktioniert nicht Netzwerkprogrammierung 8
D Einfache Applet-Servlet-Kommunikation Netzwerkprogrammierung 5
M Servlet - Applet Kommunikation Netzwerkprogrammierung 3
K Applet - Servlet Kommunikation ohne Sockets Netzwerkprogrammierung 5
R applet servlet kommunikation Netzwerkprogrammierung 2
Androbin Socket Fehlerhafter Applet-Chat Netzwerkprogrammierung 12
S Datei schreiben über Applet Netzwerkprogrammierung 8
N Applet/Applikation auf Xport laufen lassen Netzwerkprogrammierung 10
N Applet Access Denied Netzwerkprogrammierung 12
TheJavaKid Webcam-Chat im Applet (ChatRoulette Klon) Netzwerkprogrammierung 10
H Applet soll XML-File auf Server speichern Netzwerkprogrammierung 6
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
B FTP Applet mit FTP-Server-Zugriff sicher gestalten Netzwerkprogrammierung 12
J Applet soll Daten auf Server ablegen - einfachster Weg fuer n00bs? Netzwerkprogrammierung 4
B Client Server Applet keine Ahnung Netzwerkprogrammierung 3
R Applet --> PHP --> Applet Netzwerkprogrammierung 2
E Userliste für Chat Applet Netzwerkprogrammierung 4
B RTP - Applet Starthilfe Netzwerkprogrammierung 7
B Globale IP-Adresse auslesen - Java Applet Netzwerkprogrammierung 2
J Applet Security - java.security.AccessControlException: access denied Netzwerkprogrammierung 3
H Socket Mit Applet Verbindung zu eigener Website aufbauen Netzwerkprogrammierung 4
E Files von Server laden in Applet Netzwerkprogrammierung 5
aze Applet von Webseite aufrufen und mit diesem kommunizieren Netzwerkprogrammierung 8
M chat als applet umgeschrieben - unbekannter fehler :( Netzwerkprogrammierung 2
U Server-IP in Applet ermitteln Netzwerkprogrammierung 4
J Connection Speed Test ohne Applet Netzwerkprogrammierung 5
ABstraCT Applet multipler port Zugriff möglich ? Netzwerkprogrammierung 5
C Applet mit Script steuern Netzwerkprogrammierung 9
A Problem mit Netzwerkprogrammierung im Applet! Netzwerkprogrammierung 10
F applet verbindung zum server Netzwerkprogrammierung 6
R Java-Chat-Applet funktioniert nur in Eclipse Netzwerkprogrammierung 3
F Applet Datei Zugriff Netzwerkprogrammierung 13
M Server aus inem Applet heraus starten Netzwerkprogrammierung 4
G Applet und Netzwerkverbindungen? Netzwerkprogrammierung 2
F Daten senden und empfangen mit Applet Netzwerkprogrammierung 8
K Datenaustausch zwischen Applet und JSP Netzwerkprogrammierung 4
E Applet zum Datei-Upload Netzwerkprogrammierung 3
T Image aus Applet an PHP Seite senden? Netzwerkprogrammierung 3
S Java Applet Chat Grundsatzfrage Netzwerkprogrammierung 6
H RMI + Socket + Applet Netzwerkprogrammierung 5
N Chatprogrammierung - Applet Netzwerkprogrammierung 3
S Von Applet zu applet Netzwerkprogrammierung 7
G RMI + Applet - Verbindung nur lokal Netzwerkprogrammierung 27
S Applet und JWS auf Apache-Axis (SOAP) Netzwerkprogrammierung 8
Paule Connection Applet Servlet ohne Socket bzw RMI Netzwerkprogrammierung 2
G Applet java.net: acces denied Netzwerkprogrammierung 2
R Applet & Netzwerk Netzwerkprogrammierung 4
M Einfachste Möglichkeit aus'm Applet Daten an Server senden Netzwerkprogrammierung 6
M Zum x-ten Mal: Problem mit NetSend-Applet Netzwerkprogrammierung 5
C Applet <> Servlet Netzwerkprogrammierung 4
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
G Socket Socket Kommunikation Netzwerkprogrammierung 1
R Kommunikation zwischen Shell und Putty Netzwerkprogrammierung 5
temi (Netzwerk-) Kommunikation zwischen Anwendungen. Wie? Netzwerkprogrammierung 5
T Client zu Client Kommunikation Netzwerkprogrammierung 2
K Socket Nur bestimmte Zeichen als Kommunikation zulassen Netzwerkprogrammierung 1
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
H Android - PC kommunikation Netzwerkprogrammierung 3
S Server Kommunikation Netzwerkprogrammierung 1
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
I Socket Kommunikation C / Java Netzwerkprogrammierung 2
M Kommunikation übers Internet Netzwerkprogrammierung 9
P MIME-TYPE Erklaerung, Kommunikation zwischen Client und Server Netzwerkprogrammierung 3
J Sichere Kommunikation bei Server Client Netzwerkprogrammierung 3
Shams Anfängerfrage zu Server-Socket-Kommunikation Netzwerkprogrammierung 2
S Socket Kommunikation über Internet Netzwerkprogrammierung 1
M Socket Verschlüsselte Kommunikation - Fehler Netzwerkprogrammierung 1
I Interne Computer Kommunikation Netzwerkprogrammierung 6
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
R Server zu Client Kommunikation Netzwerkprogrammierung 11
V Socket UDP Server/Client Kommunikation sehr langsam Netzwerkprogrammierung 2
Y HTTP Google Reader API Kommunikation Netzwerkprogrammierung 3
C Socket Kommunikation mit SMTP-Server Netzwerkprogrammierung 4
J Kommunikation von Webanwendungen (auf Tomcat Server) untereinander Netzwerkprogrammierung 8
H Kommunikation Netzwerkprogrammierung 8
F Socket Server/Client Kommunikation Netzwerkprogrammierung 4
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
E Zeitgleiche Kommunikation, mögliche Ansätze Netzwerkprogrammierung 17
1 Java to Android TCP Kommunikation Netzwerkprogrammierung 2
D HTTP Java HTTP Kommunikation Netzwerkprogrammierung 9
1 SSH-Kommunikation - Ende eines Streams nicht erkenntlich Netzwerkprogrammierung 2
R Kommunikation TCP + UDP Netzwerkprogrammierung 3
1 Kommunikation mit externem Programm über TCP Netzwerkprogrammierung 2
D Server-Client (Web) Kommunikation Netzwerkprogrammierung 9
E Client-Server-Kommunikation Netzwerkprogrammierung 13
C HTTP Studienarbeit Kommunikation via HTTP mit POST zwischen Server und Client Netzwerkprogrammierung 7
DamienX Socket Asnchrone Kommunikation Netzwerkprogrammierung 5
Raidri Rückwertige RMI Kommunikation Netzwerkprogrammierung 6
S TCP/IP-Kommunikation ist zu langsam Netzwerkprogrammierung 13
M Kommunikation zwischen ServerSocket und Socket Netzwerkprogrammierung 2
G Datagram-Sockets für UDP-Kommunikation Netzwerkprogrammierung 2
G java asynchrone kommunikation Netzwerkprogrammierung 8
B Rmi Kommunikation Server zu mehreren Clients? Netzwerkprogrammierung 3
G Problem mit Client-Server Kommunikation Netzwerkprogrammierung 4
N Servlet-RMI Kommunikation Netzwerkprogrammierung 8
G Objecte für Kommunikation nutzen Netzwerkprogrammierung 2
L http kommunikation mit und ohne multipart Netzwerkprogrammierung 4
G unvollständige Daten: Http Client-Server-Kommunikation Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben