So habs bald geschafft
Jetzt habe Ich noch zwei drei keinere Optionen an denen Ich das ganze Wochenende verplämpert habe...
Geblieben ist das Problem
Nun habe Ich noch eine Relevante Anforderungen an mein Script bei welchen mir aber der MD5_file string einen Strich durch die Rechnung macht.
Das script ist nun so gelöst das Allle Files in einem Ordner liegen. Jedoch wäre das Ziel gewesen das Ich eine saubere Ordnerstruktur machen kann so dass Ich im Ordner /www/ das Script haben kann, im Ordner /www/downloads/ würde die Ordnerstruktur beginnen mit Unterordnern wie /www/downloads/browser oder /www/downloads/ftpclients in diesen unterordnern wären dan die einzelnen files nach kategorien aufgeteilt geordnet. Nun hatte Ich bei meinen Versüchen das Problem das der MD5 mir auch aus den Ordnern einen String generiert und die eigentlichen Dateien gar nicht berechnet sondern nur einen Hash aus dem Pfad macht.
Hier nochmals der Quelltext des Betreffenden Problems...
PHP:
<?php
$dh=opendir('.');
while(($datei = readdir($dh)) !== false){
if($datei != '.' && $datei != '..' && !is_dir($datei)){
$chksum = md5_file($datei);
$status = ('N');
$sql = "SELECT *
FROM `tbl_files`
WHERE `software_md5sum` = '{$chksum}'
AND `software_filename` = '{$datei}';";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0){
echo "<pre>Eintrag $datei bereits vorhanden";
}else{
$sql = "INSERT INTO `tbl_files` (`software_filename` , `software_status` , `software_md5sum`)
VALUES ('{$datei}' , '{$status}' , '{$chksum}')";
$result = mysql_query($sql) or die(mysql_error());
echo "<pre>Neuer Eintrag<b> $datei </b>gefunden";
}
}
}
closedir($fp);
?>
Nun habe Ich weiteres "Problemchen"... Ich habe ein Update Formular welches mir gestattet Datensätze zu Editieren. Nun habe ich gegooglet und
half mir NULL... Ich möchte im besagten Formular ein "Oder" Feld machen.
Das heisst: Ich lese aus der Datenbank die bestehenden Kategorien aus und gebe Sie in Form eines Dropdowns aus, nun möchte ich aber neben dem Dropdown eine Oder funktion zur erfassung einer neuen Kategorie einfügen... Leider klappt dies nicht wie es sollte...
Hier der Quelltext des Formulares:
PHP:
<html>
<body>
<font face="Century Gothic, URW Gothic L, Verdana, Arial,Helvetica">
<?php
$mysqlhost="localhost"; // MySQL-Host angeben
$mysqluser="****"; // MySQL-User angeben
$mysqlpwd="****"; // Passwort angeben
$mysqldb="db_filemanager"; // Gewuenschte Datenbank
//Mit Datenbank Verbinden
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("Verbindungsversuch fehlgeschlagen");
//Datenbank auswählen
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
$change_id = $_REQUEST['id'];
$query_files = "SELECT * FROM `tbl_files` WHERE `id` = '$change_id';";
$files_query = mysql_query($query_files) or die(mysql_error());
$files = mysql_fetch_assoc($files_query);
//Variabel für das Auslesen com Systemen"
$sql_system = "SELECT software_system FROM tbl_files GROUP by software_system;";
//Öffnet eine persistente Verbindung mit der MySQL Datenbank im zusamenhang mit Browser
$system_query = mysql_query($sql_system) or die("Anfrage nicht erfolgreich");
//Variabel für das Auslesen von Sprachen"
$sql_language = "SELECT software_language FROM tbl_files GROUP by software_language;";
//Öffnet eine persistente Verbindung mit der MySQL Datenbank im zusamenhang mit Browser
$language_query = mysql_query($sql_language) or die("Anfrage nicht erfolgreich");
//Variabel für das Auslesen von Kategorien"
$sql_category = "SELECT software_category FROM tbl_files GROUP by software_category;";
//Öffnet eine persistente Verbindung mit der MySQL Datenbank im zusamenhang mit Browser
$category_query = mysql_query($sql_category) or die("Anfrage nicht erfolgreich")
?>
<h1>Datensatz editieren</h1>
<br>
<table width="450" cellpadding="5">
<tr>
<td bgcolor=#D3D3D3><i>Database Information</td>
<td bgcolor=#FFCC00>Der angezeigte Datensatz Nr.<b><?=$files['id']?></b> kann mit diesem Formular geändert werden.</td>
</tr>
</table>
<br><br>
<form action="update_info.php" method="post">
<input name="tbl_files[id]" type="hidden" value="<?=$files['id']?>">
<table width="40%" cellpadding="5">
<tr>
<td bgcolor=#D3D3D3>Softwarename</td>
<td><input name="tbl_files[software_name]" type="text" value="<?=$files[software_name]?>" size="50"></td>
<tr><td bgcolor=#D3D3D3>Version</td>
<td><input name="tbl_files[software_version]" type="text" value="<?=$files[software_version]?>" size="20"></td>
<tr><td bgcolor=#D3D3D3>System</td>
<td><input name="tbl_files[software_system]" type="text" value="<?=$files[software_system]?>" size="20"></td>
<tr><td bgcolor=#D3D3D3>Dateigroesse</td>
<td><input name="tbl_files[software_size]" type="text" value="<?=$files[software_size]?>" size="20" readonly></td>
<tr><td bgcolor=#D3D3D3>Sprache</td>
<td><input name="tbl_files[software_language]" type="text" value="<?=$files[software_language]?>" size="50"></td>
<tr><td bgcolor=#D3D3D3>Autor</td>
<td><input name="tbl_files[autor_name]" type="text" value="<?=$files[autor_name]?>" size="50"></td>
<tr><td bgcolor=#D3D3D3>Autor Link</td>
<td><input name="tbl_files[autor_link]" type="text" value="<?=$files[autor_link]?>" size="50"></td>
<tr><td bgcolor=#D3D3D3>Autor Downloadlink</td>
<td><input name="tbl_files[autor_download]" type="text" value="<?=$files[autor_download]?>" size="50"></td>
<tr><td bgcolor=#D3D3D3>Dateiname</td>
<td><input name="tbl_files[software_filename]" type="text" value="<?=$files[software_filename]?>" size="50"readonly></td>
<tr><td bgcolor=#D3D3D3>Software Notiz</td>
<td><textarea name="tbl_files[software_notice]" type="text" value="<?=$files[software_notice]?>" size="50"></textarea></td>
<tr><td bgcolor=#D3D3D3>Software Kategorie</td>
<td>
<select name="tbl_files[software_category]" type="text">
<?php
do {
if ($category!=$category['software_category']){
if ($category==""){
$category=$category['software_category'];
}
?>
<option><?=$category=$category['software_category'];?></option>
<?php
}
?>
<?php
$category=$category['software_category'];
}while ($category = mysql_fetch_array($category_query))
?>
</select>
oder <input name="tbl_files[software_category]" type="text" value="" size="14">
</td>
<tr><td bgcolor=#D3D3D3>Status:
<pre>N = Neuer & Nicht vollstaendiger Datensatz (wird nicht veroeffentlicht)
<pre>A = Aktueller vollstaendiger Datensatz (wird veroeffentlicht)
<pre>D = Zum Loeschen deklariert (wird nicht mehr angezeigt)</td>
<td><input name="tbl_files[software_status]" type="text" value="<?=$files[software_status]?>" size="2"></td>
<tr><td bgcolor=#D3D3D3>Checksumme</td>
<td><input name="tbl_files[software_md5sum]" type="text" value="<?=$files[software_md5sum]?>" size="35" readonly></td>
<tr><tr></tr>
<td><br><input type="submit" name="Submit" value="Speichern"></td>
<tr></tr></form>
<td><br><form name="form" method="" action="admin.php"><button type="submit" >Abbrechen</button></form></td>
</tr>
</table>
Last but not Least:
Auf meinem Admin Panel habe Ich das altbekannte CRUD; Create Read Update Delete
Alles gut und Recht jedoch habe Ich hier ein Button Problem; Ich sende mit echo dem File update.php die Infos zu die es mit
empfängt.
Hier der ausschnitt aus admin.php:
PHP:
<?php//Delete Anweisung?>
<form name="form1" method="post" action="delete.php">
<td bgcolor=#FFCC00><input type="submit" name="id" value="<?php echo $files['id']; ?>"> Entfernen</td></form>
<?php// Update Anweisung?>
<form name="form2" method="post" action="update.php">
<td bgcolor=#FFCC00><input type="submit" name="id" value="<?php echo $files['id']; ?>"> Edit</td></form>
Und hier der Empfangsteil des update.php:
PHP:
$change_id = $_REQUEST['id'];
$query_files = "SELECT * FROM `tbl_files` WHERE `id` = '$change_id';";
$files_query = mysql_query($query_files) or die(mysql_error());
$files = mysql_fetch_assoc($files_query);
Ic? möchte statt des Buttons ein Bildchen einfügen, dies geht aber irgendwie nicht... er versucht das bildchen mitzuschicken... Mit dem aktuellen Code wird ein Button ausgegeben mit der Current ID, des Datensatzes.... Banales Problemchen?
Im Anhang befindet sich noch die Ausgabe des Formulares & Das Button Problem
Kann mir jemand helfen? :-(