"ODER" Formularfunktion

Hallo Ysalaw habe mich nochmals dem Formular gwidmet...

Habe das Problem das auf der update_info.php Seite nichts erscheint ausser eine weisse Seite... Ich weiss das du ganze Codes hasst aber vielleicht hilft es dir eher...

PHP:
<html>
<?php
        
    $mysqlhost="localhost"; // MySQL-Host angeben
    $mysqluser="root"; // MySQL-User angeben
    $mysqlpwd="asdf1234"; // 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."); 

     
    $date = strftime('%d.%m.%Y'); 
        $time = strftime('%H:%M'); 


$file = $_POST["tbl_files"];


if($file['software_category_select'] && $file['software_category_manual']){

echo "Es darf nur ein Feld ausgefüllt werden!";

}elseif($file['software_category_select']){
    $file['software_category'] = $file['software_category_select'];
}elseif($file['software_category_manual']){
    $file['software_category'] = echo $file['software_category_manual'];
}else{

echo "Es muss eine Kategorie angegeben werden";

}   
?>

<p>Untenstehender Datensatz wurde in der Datenbank angepasst:</p>
<table width="300" cellpadding="5">
  <tr>
    <td bgcolor=#D3D3D3><i>Softwarename</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_name];?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>Version</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_version];?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>System</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_system];?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>Dateigroesse</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_size];?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>Sprache</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_language];?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>Autor</td>
    <td bgcolor=#bfdaf2><?php echo $file[autor_name];?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>Autor Link</td>
    <td bgcolor=#bfdaf2><?php echo $file[autor_link];?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>Autor Downloadlink</td>
    <td bgcolor=#bfdaf2><?php echo $file[autor_download];?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>Dateiname</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_filename];?>&nbsp;</td>
  </tr>
 <tr>
    <td bgcolor=#D3D3D3><i>Kategorie</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_category];?>&nbsp;</td>
  </tr>
 <tr>
    <td bgcolor=#D3D3D3><i>Software Status</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_status];?>&nbsp;</td>
  </tr>
 <tr>
    <td bgcolor=#D3D3D3><i>MD5 Summe</td>
    <td bgcolor=#FFCC00><?php echo $file[software_md5sum];?>&nbsp;</td>
  </tr>
</table>
<p>Folgende Notiz haben Sie der Software angehängt:</p>
<table width="450">
  <tr>
    <td bgcolor=#D3D3D3><i>Software Notiz</td>
    <td bgcolor=#bfdaf2><?php echo $file[software_notice];?>&nbsp;</td>
  </tr>
</table>
<p>Zudem werden folgende Daten in die Datenbank aktualisiert eingetragen:</p>
<table width="300" cellpadding="5">
  <tr>
    <td bgcolor=#D3D3D3><i>Datum</td>
    <td bgcolor=#bfdaf2><?php echo $date;?>&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor=#D3D3D3><i>Uhrzeit</td>
    <td bgcolor=#bfdaf2><?php echo $time;?>&nbsp;</td>
  </tr>
</table> 
<br><br>
<table width="450" cellpadding="5">
  <tr>
    <td bgcolor=#D3D3D3><i>Database Information</td>
    <td bgcolor=#FFCC00>Der neue Datensatz wurde erfolgreich editiert. Die eindeutige Nummer dieses Datensatzes lautet:<b> <?=$file['id']; ?></b></td>
  </tr>
</table>
<br><br>
<form name="form" method="" action="admin.php">
<button type="submit" >Admin Panel</button></form>

<?php
$eintrag = <<<SQL
UPDATE `tbl_files` 
SET `software_name` = '{$file['software_name']}', 
    `software_version` = '{$file['software_version']}', 
    `software_system` = '{$file['software_system']}', 
    `software_size` = '{$file['software_size']}', 
    `software_language` = '{$file['software_language']}', 
    `autor_name` = '{$file['autor_name']}', 
    `autor_link` = '{$file['autor_link']}', 
    `autor_download` = '{$file['autor_download']}', 
    `software_filename` = '{$file['software_filename']}', 
    `software_notice` = '{$file['software_notice']}', 
    `software_category` = '{$file['software_category']}', 
    `software_status` = '{$file['software_status']}', 
    `edit_date` = '{$date}', 
    `edit_time` = '{$time}' 
WHERE 
    -- Die ID als Zahl Vergleichen, nicht als String
    `id` = {$file['id']};
SQL;

?>

Gruss Patrick
 
Versuche mal ob du mit diesem IF-Block besser klar kommst:

PHP:
if (isset($file['software_category_select']) && isset($file['software_category_manual'])) {
    echo "Es darf nur ein Feld ausgefüllt werden!";
} elseif(isset($file['software_category_select']) && !isset($file['software_category_manual'])) {
	$file['software_category'] = $file['software_category_select'];
} elseif(!isset($file['software_category_select']) && isset($file['software_category_manual'])) {
	$file['software_category'] = $file['software_category_manual'];
} else {
    echo "Es muss eine Kategorie angegeben werden";
}

Nachtrag: Ich habe vergessen zu erwähnen das dieser Code nicht unbedingt etwas damit zu tun hat das du nur eine weiße Seite siehst. In deinem Code waren aber auch ein paar (Syntax-)Fehler drin die der Grund sein könnten.
 
Zuletzt bearbeitet:
Womit arbeitest bzw. codest du? Dein Code hat wie gesagt jede Menge Syntax-Fehler und deshalb erfolgt wohl keine Ausgabe am Bildschirm.

Du könntest dir z.B. Webocton Scriptly installieren. Das ist ein Freeware Editor bei dem du angezeigt bekommst wo Fehler im Code enthalten sind.

Den oder einen vergleichbaren Editor solltest du dir vielleicht mal besorgen und damit deinen Code zuerst mal darauf prüfen.

Ein paar Beispiele:

PHP:
// echo hat hier nichts verloren
$file['software_category'] = echo $file['software_category_manual'];

// mach das "=" weg und dafür ein "echo" hin
=$file['id'];

Dann solltest du vielleicht noch die ganzen $file-Variablen ändern

PHP:
// nicht so
$file[software_category_select];

// sondern so
$file['software_category_select'];

Was mir auch noch aufgefallen ist, ist das du bei der Ausgabe die Variable $file['software_category'] verwendest, bei der Prüfung verwendest du aber $file['software_category_select']. Ist das so gewollt?
 
Normalerweise sieht mal Syntax-Fehler (neben anderen auch), wenn man

PHP:
error_reporting( E_ALL | E_STRICT );
ini_set( 'display_errors', 1 );

in den ersten Zeilen im Script einfügt oder die korrespondierten Einträge in der php.ini umstellt.
 
Da hast du natürlich auch Recht. Wobei dazu erst der "falsche Code" ausgeführt werden muss um es zu bemerken.
 
Zurück