Hallo Community,
Im Jahre 2011 habe ich mit einem Bekannten PHP Scripte erstellt, um nicht mehr händisch etwa 144 Bilder pro Tag in eine Tabelle mit HTML zu schreiben, haben die Scripte das automatisch erledigt.
Das erste Script stellt ein Auswahl-Formular zur Verfügung, wo der Benutzer den Tag für die Anzeige auswählen kann. Beim absenden des Formulars wird der ausgewählte Tag via POST an das zweite Script
übergeben, welches die Bilder aus dem Ordner des ausgewälten Tages in eine Tabelle einbaut, und anzeigt.
Beide Scripte liegen im selben Ordner. In diesem gibt es für jeden Tag ein Unterverzeichnis ( 01 bis 31).
Es funktionierte einwandfrei. Ich kann nicht mehr sagen welche PHP Version auf dem Server zu diesem Zeitpunkt installiert war.
Irgendwann wurde die Seite eingestampft.
Jetzt wollen wir die beiden Scripte wieder auf einer neuen Seite nutzen. Auf dem Server läuft PHP 7. Die aus dem Jahre 2011 stammenden Scripte inklusive der Unterverzeichnisse für die Tage auf den Server kopiert.
Die Auswahlseite aufgerufen. Nichts geht. Da schon im Drop-Down des Formulars nicht mehr, so wie früher, die Tage angezeigt werden. Der Absende Button fehlt auch.
Meine Frage wie muss ich die Scripte änden das diese auch mit PHP 7 un den Nachfolgeversionen 7.1, 7.2, und später noch erscheinenden Versionen Funktionieren ?
Hinweis die Kommentare stehen alle in einer Zeile wird hier nur in der Anzeige umgebrochen !
Hier das Aufrufen Scrpt aufrufen.php:
<!-- Die nicht wichtige HTML Struktur habe ich weggelassen und führe nur den für PHP relavanten Teil auf -->
<form action="verarbeiten.php" method="post">
<fieldset>
<legend>Datumsauswahl</legend>
<table>
<tbody>
<tr>
<th>Hinweis</th>
<?php
if (!empty($_POST)) {extract($_POST);}
if (!empty($_GET)) {extract($_GET);}
if (!empty($_ENV)) {extract($_ENV);}
#echo "yesterday was ".date("Y-m-d", strtotime("-1 days"));
$gestern=date("d", strtotime("-1 days"));
$heute=date("d");
#echo "Gestern war Tag ", $gestern,"<br>";
#echo "Heute ist Tag ", $heute,"<br>";
echo"<td><label>Der aktuelle Tag funktioniert (wenn man das Datum angibt)!</label></td>
</tr>
<tr>
<th><label for=\"Tag\">Tag</label></th>
<td>
<select name=\"Tag\" id=\"Tag\">
<option>bitte wählen...</option>";
$verz=opendir ('.');
while (false !== ($filename = readdir ($verz)) ) {
if($filename != "." && $filename != ".." && is_dir($filename) && ereg("[0-3][0-9]{1,2}",$filename)) $files[] = $filename;
}
sort($files);
foreach ($files as $dir)
echo "<option>",$dir,"</option>";
closedir($verz);
?>
</select>
</td>
</tr>
</tbody>
</table>
</fieldset>
<p id="submit"><input value="Absenden" type="submit" /></p>
</form>
Das Verarbeiten Script verarbeiten.php:
<!-- Die nicht wichtige HTML Struktur habe ich weggelassen und führe nur den für PHP relavanten Teil auf -->
<?php
if ( isset ($_POST))
{
reset($_POST);
# foreach ($HTTP_POST_VARS as $k=>$elem) {
# echo "$k: $elem<br>";
# }
$tag_verz = $_POST['Tag'];
# echo "Der gewählte Tag ist der : ", $tag_verz, "<br>";
if ( strlen($tag_verz) != 2 ) {
echo "<tr><th></th><td><strong>Falsche Länge des Tags. Wähle einen anderen Tag bitte benutze das <a href=\"javascript:tausch('aufrufen.php','mainFrame')\">Formular</a></strong></td></tr>";
}
else {
# Bilderanzeige Anfang
if ( is_dir($tag_verz) ) {
#echo "Verzeichnis ist vorhanden, öffne das Verzeichnis $tag_verz";
#chdir ($tag_verz);
$verz=opendir ($tag_verz);
# Beachte, das PHP programm öffnet das Unterverzeichnis, das HTML Skript ist immer noch im alten Verzeichnis, daher wird zur Anzeige der Bilddatei auch der Pfad angegeben.
while (false !== ($filename2 = readdir ($verz)) ) {
if($filename2 != "." && $filename2 != "..") $files2[] = $filename2;
}
sort($files2);
foreach ($files2 as $bilddatei)
echo "<tr><th class=\"bild\">$bilddatei </th><td class=\"bild\"><img src=\"$tag_verz/$bilddatei\" alt=\"Messung\" /><br /><a href=\"#top\" class=\"top\">Nach oben</a> <a href=\"javascript:tausch('aufrufen.php','mainFrame')\">Aktuelle Messung</a> <a href=\"javascript:tausch('start.html','mainFrame')\">Übersichtsseite</a></td></tr>";
closedir($verz);
reset($_POST);
# Bilderanzeige Ende
}
}
}
?>
Über eine Antwort würde ich mich freuen, vielen Dank
Andreas