Justin: PHP Variable in HTML das von PHP Script erzeugt wird übergeben

Hallo zusammen
bin nun seit knappen 2 Stunden dran ein exif file auszulesen. nun habe ich es hingekriegt dass das exif ausgelesen wird, jedoch kann ich die bestimmte variable nicht in das html übergeben, dass aus dem selben php script erstellt wird

ziel ist es, dass die tabelle generiert wird und aus der exif datei die eigenschaften ausgelesen werden und in der selben tabelle angegeben werden können. leider konnte ich keine hilfe in google finden was ich falsch mache oder ob dies überhaupt möglich ist.  ich hoffe ihr könnt mir helfen.

hier der ausschnitt:

  
		<?php  
	  
	$bildpfad = $_POST[file_path];  
    echo  "<html><head>";  
	echo  "<title>Preview Seite</title>";  
	echo  "</head>";  
	echo  "<p style='border-color:#00FFFF\; border-width:2px\; border-style:inset\;'	>";  
	echo  "<table class='details' border='1' width='70%' align='center' cellspacing='0'>";  
	echo  "<tr>";  
	echo  "<th class='details' colspan='2' align='center'>Details</th>";  
	echo  "<tr>";  
	echo  "<td class='details' colspan='2' align='center'>";  
	echo  "<img src=\"file:///{$_POST[file_path]}\" width=\"800\" height=\"600\">";  
	$exif = exif_read_data($bildpfad,'IFD0');  
	$emake =$exif_data['DateTime'];  
	echo  "</td></tr></tr>";  
	echo  "<tr><td>Speicherort</td><td>$emake</td></tr>";  
        echo  "<tr align='center'><td colspan='2'>GoogleMaps</td><div id='map' style='width: 100%\; height: 400px'></div></tr></p></body></html>";  
	?>  

danke für eure hilfe

gruss

  1. Hallo,

    bin nun seit knappen 2 Stunden dran ein exif file auszulesen. nun habe ich es hingekriegt dass das exif ausgelesen wird, jedoch kann ich die bestimmte variable nicht in das html übergeben, dass aus dem selben php script erstellt wird

    warum nicht? Woran genau scheiterst du?

    ziel ist es, dass die tabelle generiert wird und aus der exif datei die eigenschaften ausgelesen werden und in der selben tabelle angegeben werden können.

    Ja, klingt einfach. Ist einfach.

    ich hoffe ihr könnt mir helfen.

    Nicht so richtig - weil ich noch nicht verstehe, was eigentlich dein Problem ist, daher kann ich im Moment nur ein paar offensichtliche Bugs aufzeigen.

    hier der ausschnitt:
    <?php

    $bildpfad = $_POST[file_path];

    Wozu das Umkopieren? Und hast du die Konstante file_path vorher definiert? Wenn nicht, erzeugt diese Anweisung zumindest eine entsprechende Notice. Du hast doch hoffentlich das error_reporting auf E_ALL stehen?
    Vermutlich meintest du eher den String 'file_path'?

    echo  "<img src="file:///{$_POST[file_path]}" width="800" height="600">";

    Auch hier verwendest du eine (vermutlich) nicht definierte Konstante.

    $exif = exif_read_data($bildpfad,'IFD0');
    $emake =$exif_data['DateTime'];

    Wieso greifst du plötzlich auf $exif_data[] zu? Auch diese Variable gibt's noch nicht, und die Anweisung schmeißt ebenfalls eine Notice. Meintest du vielleicht $exif[]?

    Für eine gezielte Hilfe müssten wir nun wissen, was wirklich dein Problem ist.

    So long,
     Martin

    --
    Wer mit dem Finger droht, sollte ihn am Abzug haben, und nicht in der Nase.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. Hi!

    $exif = exif_read_data($bildpfad,'IFD0');
    $emake =$exif_data['DateTime'];

    Falls dies dein Fehler ist, so hilft dir ein auf E_ALL gestelltes error_reporting (nebst einem auf on stehendem display_errors) solche Variablennamen-Fehler zu finden, denn dann zeigt PHP Notice-Meldungen für nicht initialisierte Variablen an in deinem Fall für $exif_data.

    Lo!

  3. ok hier mal das ganze script, bei dem die ausgabe der aufnahmezeit funktionierte, jedoch  nur ausserhalb der html tags:

    	<?php  
    	  
    	$bildpfad = $_POST[file_path];  
        echo  "<html><head>";  
    	echo  "<title>Preview Seite</title>";  
    	echo  "</head>";  
    	echo  "<p style='border-color:#00FFFF\; border-width:2px\; border-style:inset\;'	>";  
    	echo  "<table class='details' border='1' width='70%' align='center' cellspacing='0'>";  
    	echo  "<tr>";  
    	echo  "<th class='details' colspan='2' align='center'>Details</th>";  
    	echo  "<tr>";  
    	echo  "<td class='details' colspan='2' align='center'>";  
    	echo  "<img src=\"file:///{$_POST[file_path]}\" width=\"800\" height=\"600\">";  
    	$exif = exif_read_data($bildpfad,'IFD0');  
    	$emake =$exif_data['DateTime'];  
    	echo  "</td></tr></tr>";  
    	echo  "<tr><td>Speicherort</td><td>$emake</td></tr>";  
    	echo  "<tr><td>Auflösung</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>Dateigrösse</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>Aufnahmedatum</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>Bewertung</td><td>platzhalter</td></tr>";  
    	echo  "<tr align='center'><h1><td colspan='2'><b>File Information Infos</b></td></h1></tr>";  
    	echo  "<tr><td>Blende</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>Belichtungszeit</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>Brennweite</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>Lichtempfindlichkeit (ISO 5800)</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>Blitz</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>GPS Breitengrad</td><td>platzhalter</td></tr>";  
    	echo  "<tr><td>GPS Längengrad</td><td>platzhalter</td></tr>";  
    	echo  "<tr align='center'><td colspan='2'>GoogleMaps</td><div id='map' style='width: 100%\; height: 400px'></div></tr></p></body></html>";  
    	echo $exif['DateTime']  
    	?>
    

    das umkopieren habe ich gemacht, weil ich dachte, dass vielleicht im html drin nur variablen stehen können und nicht $_post[file_path]

    die variablen habe ich sonst nirgends vordefiniert

    leider sagt mir das error_reporting nichts.

    für was wird dies benötigt?

    beim browser wird mit diesem script

    vor dem table: das datum ausgegeben
    das table wie im code, aber beim punkt speicherort wo nun auch aufnahmedatum stehen sollte, steht einfach nichts

    was für mich irgendwie heisst, dass die übergabe der variable nicht klappt. nur weiss ich nicht wieso

    1. Hi!

      die variablen habe ich sonst nirgends vordefiniert

      Ja, das ist das Problem. DU hast eine Variable verwendet, die nicht existiert. Stattdessen hast du eine Zeile drüber eine andere Variable mit dem Ergebnis der Exif-Funktion angelegt.

      leider sagt mir das error_reporting nichts.
      für was wird dies benötigt?

      Damit stelle man ein, welche Fehlermeldungsarten angezeigt werden. Normalerweise werden Meldungen vom Typ Notice nicht angezeigt. Diese werden beispielsweise ausgegeben, wenn Lesezugriffe auf nicht vorhandene Variablen stattfinden. Mit E_ALL werden nun auch diese Notice-Meldungen ausgegeben und du siehst, dass du auf etwas zuzugreifen versuchst, das nicht existiert, was auf einen Fehler hindeuten kann. Das error_reporting ist zwar meist den Anfängern leider nicht bekannt, aber mit ein wenig Suchen hättest du dazu garantiert auch eine Erklärung gefunden.

      was für mich irgendwie heisst, dass die übergabe der variable nicht klappt. nur weiss ich nicht wieso

      Zum Programmieren gehört auch das Debugging. Wenn Wunsch und Wirklichkeit nicht übereinstimmen, muss man das untersuchen. Dazu kann man sich die Inhalte von Variablen ausgeben lassen. Die Funktion var_dump() eignet sich dazu am besten, weil sie auch dann etwas ausgibt, wenn ein echo schweigt. In deinem Fall hättest du ein NULL sehen können, wo doch laut Handbuchseite zu exif_read_data() eigentlich nur ein Array oder false in der Variable stehen kann. Das hättest du dann näher untersuchen können, um festzustellen, dass du das Ergebnis in einer Variable ablegst, aber eine andere auszugeben versuchst.

      Lo!