Aus DB Daten ins Formularfeld laden

CoRe

Mitglied
Hey Leute,
da gibt's ne Sache die mich Wahnsinnig macht Ich brauch da bisschen Hilfe...
Vielleicht liegts ja auch nur an einem Fehlenden Zeichen irgendwo... dass ich einfach nicht sehe, bzw. immer übersehe;
keine Ahnung.

Also ich hab ne dynamische Seite und will da aus ner Datenbank einen Dateinamen auslesen, der dann im Formularfeld für die Dateiangabe auftaucht.
Also da quasi den value-Wert per PHP einlesen.

Auszug:
PHP:
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
  $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}

//Dateinamen untkryptisch machen
$tempname = $_FILES['datei']['tmp_name']; 
$name = $_FILES['datei']['name']; 
$dateiTyp= substr($name, (strlen($name)-4), 4);

  mysql_select_db($database_db_connect, $db_connect);
  
if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "hausmitteilungen")) {
  $updateSQL = sprintf("UPDATE tb_hausmitteilungen SET headline=%s, beschreibung=%s, topmsg=%s, datei=%s WHERE id=%s",
                       GetSQLValueString($HTTP_POST_VARS['headline'], "text"),
                       GetSQLValueString($HTTP_POST_VARS['beschreibung'], "text"),
                       GetSQLValueString(isset($HTTP_POST_VARS['topmsg']) ? "true" : "", "defined","1","0"),
					   GetSQLValueString($dateiTyp, "text"),
                       GetSQLValueString($HTTP_POST_VARS['id'], "int"));


  $Result1 = mysql_query($updateSQL, $db_connect) or die(mysql_error());

 if($datei!="" && $datei!="none") { //Datei Upload
  	copy("$tempname",$IMGS_LOCAL."aktuelles/".GetSQLValueString($HTTP_POST_VARS['id'], "int").$dateiTyp);	
  }
  
  $updateGoTo = "B1e__a__hausmitteilungen_liste.php";
  if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

$colname_hausmitteilungen = "1";
if (isset($HTTP_GET_VARS['id'])) {
  $colname_hausmitteilungen = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['id'] : addslashes($HTTP_GET_VARS['id']);
}
mysql_select_db($database_db_connect, $db_connect);
$query_hausmitteilungen = sprintf("SELECT * FROM tb_hausmitteilungen WHERE id = %s", $colname_hausmitteilungen);
$hausmitteilungen = mysql_query($query_hausmitteilungen, $db_connect) or die(mysql_error());
$row_hausmitteilungen = mysql_fetch_assoc($hausmitteilungen);
$totalRows_hausmitteilungen = mysql_num_rows($hausmitteilungen);


Weiter unten im HTML-Teil schauts dann so aus:

Code:
<tr> 
                  <td valign="top"><div align="right">Beschreibung:&nbsp;</div></td>
                  <td> <textarea name="beschreibung" cols="50" rows="10" wrap="VIRTUAL" class="fliestext" id="beschreibung"><?php echo $row_hausmitteilungen['beschreibung']; ?></textarea></td>
                </tr>
                <tr> 
                  <td align="right" valign="top">&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
                <tr> 
                  <td align="right" valign="top">Pfad zum Dokument:&nbsp;</td>
                  <td><input name="datei" type="file" id="datei" value="<?php echo $row_hausmitteilungen['id'].$row_hausmitteilungen['datei']; ?>">
                    <input type="hidden" name="hiddenField"></td>
                </tr>

Bei der Beschreibung funktioniert es, aber bei Dateifeld nicht.

Das ganze soll übrigens teil einer Administration von einem Newssystem sein.

Viele Dank für die Hilfe schon mal im vorraus,
mfg

CoRe
 
Hiho!

@ Ace: Hmm... wie meinst du das?
Also die Datei, liegt auf dem Server. Und wenn sie das noch nicht tut, wird sie
hoch geladen mit dem Scriptteil:


PHP:
if($datei!="" && $datei!="none") { //Datei Upload
      copy("$tempname",$IMGS_LOCAL."aktuelles/".GetSQLValueString($HTTP_POST_VARS['id'], "int").$dateiTyp);    
  }

Aber das ist ja auch kein Problem.

Das Problem ist die Anzeige.
Das PHP-Script ist ein Edit-Script von nem Newseintrag, der ja vorher schon gemacht ist.
Also müssen auch beim editieren überall die Angaben von vorher wieder reingeladen werden - genauso auch der Dateiname.

@ice: Leider ist es nicht so ganz das Problem.
Bei dem Feld mit der Textarea funktioniert es, und bei anderen mit nem normalen "text" input auch - die hab ich allerdings nicht mehr in den Codeauszug rein gepackt. Nur bei dem "file" Input gehts einfach net. :(
 
Ich hab grad was bei SELFHTML gefunden.
Ich zitiere:

Das Attribut value= in Verbindung mit <input type="file">, mit dem das Vorbelegen der Dateiauswahl möglich wäre, wird von moderneren Browsern aus Sicherheitsgründen nicht mehr unterstützt.

Das hilft mir allerdings auch nicht weiter - jetzt muss ich das Problem irgendwie anders lösen.
Aber wie?
Hat da jemand eine Idee?

cu und ,

CoRe
 
Zurück