Variable wird in foreach Schleife nicht übergeben

Registrierer

Erfahrenes Mitglied
Hallo Gemeinde,

ich benutze ein JavaApplet, welches folgende Datei als Steuerdatei benutzt.
Funktioniert auch alles, nur möchte ich alle Dateien die durch diese Schleife laufen in eine Datenbank eintragen und habe deshalb den INSERT Befehl drin.
Mein Problem ist jetzt aber, dass die Sitzungen "verloren" gehen wenn das Script vom Applet aufgerufen wird.
Rufe ich die Datei separat im Browser auf werden mir die beiden Sitzungsvariablen ohne Fehlermeldungen angezeigt.
Weise ich der Variable $name einen festen Wert zu, wird sie auch in die Datenbank eingetragen!
Frage ich die Sitzung innerhalb der foreach-Schleife mit isset() ab, ist keine da! Obwohl sie vorhanden ist!

Hier das Script:
PHP:
<?
error_reporting(E_ALL);
ini_set('display_errors', 1);

include("../../admin/config.php"); 
session_start();
$name1 = $_SESSION["Benutzer"];
$id_us1 = $_SESSION["BenutzerID"];
echo $name1;
echo $id_us1;

foreach($_FILES as $tagname=>$objekt)
{
 $upload_bild = $objekt["tmp_name"];
 $realName    = $objekt["name"];
 $fn          = "bild_".uniqid( rand() ).".jpg";
 $fn_pfad     = "../ki_galleries/Test/".$fn;
 $name = $_SESSION["Benutzer"];
 $id_us = $_SESSION["BenutzerID"];
 if( move_uploaded_file( $upload_bild, $fn_pfad ) )
 {
  mysql_query ("INSERT INTO `$bildbesitzer` (`id`, `bildusername`, `userid`, `datum`, `bildname`) VALUES ('', '".$name."', 3, ".time().", '".$fn."');");
  echo "Upload OK\n";
 }
 else
 {
  echo "Fehler beim Verschieben";
  @unlink( $fn_pfad );
 }
flush();
}
?>
Hier die Fehlermeldung wenn das Script vom Applet aufgerufen wird:
Code:
Datei Beispiel.jpg wird hochgeladen...
<br />
<b>Notice</b>:  Undefined index:  Benutzer in <b>C:\xampp\htdocs\www.himmelpfingsten.de\galerie\temp\127.0.0.1Test1245417210.php</b> on line <b>7</b><br />
<br />
<b>Notice</b>:  Undefined index:  BenutzerID in <b>C:\xampp\htdocs\www.himmelpfingsten.de\galerie\temp\127.0.0.1Test1245417210.php</b> on line <b>8</b><br />
<br />
<b>Notice</b>:  Undefined index:  Benutzer in <b>C:\xampp\htdocs\www.himmelpfingsten.de\galerie\temp\127.0.0.1Test1245417210.php</b> on line <b>18</b><br />
<br />
<b>Notice</b>:  Undefined index:  BenutzerID in <b>C:\xampp\htdocs\www.himmelpfingsten.de\galerie\temp\127.0.0.1Test1245417210.php</b> on line <b>19</b><br />
Upload OK

Fertig !
 
Vermutlich wird die Session ID nicht über die URL weitergegeben, sondern über einen Session Cookie das dein Applet nicht verstehen kann?
 
Das klingt einleuchtend, kann ich das über einen Umweg lösen?
Es ist ja gar nicht nötig, dass das Applet das versteht, ich möchte nur innerhalb der foreach Schleife eine Datenbankabfrage auf Basis der Sitzung durchführen.
Fehlen mir da jetzt Zusammenhänge?
Liefert möglicherweise ausschliesslich das Applet die Daten für die Foreach Schleife?
 
Da du auf $_FILES zugreifst, vermute ich, dass du ein Formular abschickst.
Hänge die Session ID an das Ziel des Formulars.

Siehe auch:
[phpf]session_id[/phpf] und [phpf]session_name[/phpf] und die Konstante SID
 
Da du auf $_FILES zugreifst, vermute ich, dass du ein Formular abschickst]

So ähnlich, es ist ein Java Applet von http://www.kadiba.de.

Es lassen sich laut Doku auch Parameter übermitteln, nur bekomme ich das nicht hin.
Es heisst:
Code:
readHTMLUploadParameters()
Es ist möglich ein HTML Formular mit dem Namen „HTMLUpload“ im FORM-Tag auf der Applet-
Seite anzulegen. Darin können Hidden-Variablen mit folgendem Format anglegt werden, um 
Variablen mit dem Upload mitzusenden. Beispiel:
<applet code="...>.......</applet><form name="HTMLUpload">
        <input type="hidden" name="attribut0" value="id=5">
        <input type="hidden" name="attribut1" value="user=V.001">
</form>
<script type="text/javascript">
readHTMLUploadParameters();
<script>
Es werden die Variablen id und user mit den Werten 5 und V.001 für jeden Upload mitgesendet. Im 
Formular sind Variablennamen von attribut0 bis attribut19 erlaubt.

und

Code:
setHTMLUploadParameter( String Variable, String Wer
Hier können dem Upload eine oder mehrere Variablen ink
Beispiel: setHTMLUploadParameter( „galerie_id“, „5“ );

Und wenn ich das 1:1 übernehme passiert eben 0!
Ich bin mir sicher, ich mach was falsch, nur was?
 
Das Problem lösen heißt dann auch für dich ein JavaApplet zu nutzen, das eventuelle Sicherheitslücken hat und somit Daten in dein Skript einschleusen könnte usw.

Da es nicht an PHP liegt, sondern am Java Applet würde ich sagen, das hier sollte verschoben werden.
 
Zurück