dateinamen auslesen und in formular übergeben?

stef@n

Mitglied
Hi,
ich habe mir ein kleines "news-system" gebastelt.
per formular kann man texte eintragen und bilder hochladen.
diese werden dann auf einer anderen, der "news-seite", angezeigt.
per editierfunktion lassen sich die texte editieren, da ich sie einfach auslese.
problem ist jetzt nur das bild. wie schaffe ich es, dass ich den filename des bildes in dem "file field" angezeigt bekomme wennich das bild einfach beibehalten möchte. Per value="text" läßt sich das nicht eintragen :-(
ich hoffe man hat verstanden was ich will:-)
danke
stef@n
 
Das mit value="bildname" klappt nicht, hast du recht.
Ich kenne und es gibt meines Wissens auch keine Möglichkeit, dort etwas einzutragen.
Du must einfach beim Eintragen des Formulars überprüfen, ob der Wert des Durchsuche-Feldes nicht leer ist und dann das Bild hochladen.

Anders geht es wohl nicht.
 
Hoi,
erstmal danke für den tip:-)
das problem ist ja, dass es sein kann, dass ich auf meinem PC ein bild hochlade, aber es ein anderer auf seinem PC editiert, womit er das bild(das er ja nicht hat) nicht nocheinmal hochladen kann?!?
ich müßte also das zum eintrag passende bild auslesen(?!) und nochmal/wieder anzeigen. zB mit nem button, bild beibehalten oder so. Nur wie realisiere ich das.
jemand ne idee?? :-)

Original geschrieben von Scope
Das mit value="bildname" klappt nicht, hast du recht.
Ich kenne und es gibt meines Wissens auch keine Möglichkeit, dort etwas einzutragen.
Du must einfach beim Eintragen des Formulars überprüfen, ob der Wert des Durchsuche-Feldes nicht leer ist und dann das Bild hochladen.

Anders geht es wohl nicht.
 
Also, so ganz versteh ich dein Problem nicht mehr.
Du willst also von verschiedenen Rechnern aus Bilder bearbeiten und dann wieder hochladen, oder?
Nur wo genau das Problem liegt, weiß ich nicht.

Wenn jemand ein Bild bearbeiten will, müsste er es sich doch sowieso erstmal aus dem Internet ziehen, um mit der aktuellsten Version arbeiten zukönnen.
Dann wären wir doch wieder bei meiner ersten Antwort.

Oder hab ich da was komplett falsch verstanden?
 
Hi scope, danke für die mühe;-)

also nein das soll ein news system /redaktionsystem sein.

eine grafik, ein bild, ein icon wird hochgeladen, was zum thema eben gerade passt.
es kann sein, dass jemand anders einen fehler in einem schriebenen text findet, oder die passende grafik gegen eine andere austauschen will.

will keiner eine grafik austauschen hat meine lösung eben ein problem.
denn der user müßte vorher das bild downloaden = umständlich.
wie schaffe ich es nun beim editieren das bild beizubehalten?
hier der PHP code für das edit form:

<?
if ($REQUEST_METHOD<>"POST") {

print "<div>";
print "Neuigkeiten Ändern: ";

$year = date("Y");

$query = "select * from news where id=".$id;
$result = mysql_query($query);
$numrows = mysql_num_rows($result);
$value = mysql_fetch_array($result);

?>

<form action="3.php" enctype="multipart/form-data" method="POST" name="news">
<table cellpadding="2" cellspacing="0" border="0" width="100%" class="table2">

<tr>
<td ><input type="hidden" value="<?=$id?>" name="idForm"></td>
</tr>

<tr>
<td>Titel :</td>
<td><input type="text" size="30" value="<?=$value['title']?>" name="titelForm"></td>
</tr>

<tr>
<td>Date :</td>
<td><select size="1" name="dayForm">
<?
for ($i=1; $i<=31; $i++) {
if ($i==substr($value['date'],8,2)) {
longDato($i,true);
} else {
longDato($i,false);
}
}
?>
</select>

<select size="1" name="monthForm">
<?
for ($i=1; $i<=12; $i++) {
if ($i==substr($value['date'],5,2)) {
longDato($i,true);
} else {
longDato($i,false);
}
}
?>
</select>

<select size="1" name="yearForm">
<?
for ($i=$year; $i<=$year+1; $i++) {
if ($i==substr($value['date'],0,4)) {
longDato($i,true);
} else {
longDato($i,false);
}
}
?>
</select>
</td>
</tr>

<tr>
<td>Text :</td>
<td><textarea rows="5" name="textForm" cols="45"><?=$value['text']?></textarea></td>
</tr>

<tr>
<td>Bitte wählen Sie eine IMAGE-Datei :</td>
<td><input type="file" size="60" maxlength=1000000 name="dateiForm"></td>
</tr>

</table>

<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td width="50%" align="center"><input type="submit" value="Insert"></td>
<td width="50%" align="center"><input type="reset" value="Reset"></td>
</tr>
</table>
</form>

</div>

<? } else {


if ($_FILES['dateiForm']['name']==NULL) { //ohne foto

$query = "update news set title='".$titelForm."', date='".$yearForm."-".$monthForm."-".$dayForm."', text='".$textForm."', filename=NULL where id=".$idForm;
$result = mysql_query($query);
print $query;
echo mysql_errno() . ": " . mysql_error(). "\n";

$html="<p><table cellpadding='0' cellspacing='0' width='100%'>";
if ($result) {
$html.="<tr><td align='center' >Erfolg</td></tr>";
} else {
$html.="<tr><td align='center' >Error!!!!!!!</td></tr>";
}
$html.="</table>";

print($html);

} else { // mit Foto


@$imagedata=getimagesize($_FILES['dateiForm']['tmp_name']);
print_r($imagedata);

if (!isset($imagedata[0]) ) {
echo "ERROR!!! DAS IST KEIN FOTO!!!";
}
else {

@$erfolg = move_uploaded_file($_FILES['dateiForm']['tmp_name'],"c:\inetpub\wwwroot\content\images\\".$_FILES['dateiForm']['name']) or die ("Das kopieren ist schiefgegangen");

$query = "update news set title='".$titelForm."', date ='".$yearForm."-".$monthForm."-".$dayForm."', text='".$textForm."',filename='".$_FILES['dateiForm']['name']."' where id=".$idForm;
$result = mysql_query($query);
echo $query."\n";

$html="<p><table cellpadding='0' cellspacing='0' width='100%'>";
if ($result) {
$html.="<tr><td align='center' >Erfolg</td></tr>";
} else {
$html.="<tr><td align='center' >Error!!!!!!!</td></tr>";
}
$html.="</table>";

print($html);

}
}

}
?>
<p align='center'><a href="2.php?seite=0">[ News ]</a></p>

</body>
</html>

2news.php istdas ergebnis, nicht editierbar
2.php ist editierbar

dankeschön:-)
 
PHP:
$query = "update news set title='".$titelForm."', date='".$yearForm."-".$monthForm."-".$dayForm."', text='".$textForm."' where id=".$idForm;

statt

PHP:
$query = "update news set title='".$titelForm."', date='".$yearForm."-".$monthForm."-".$dayForm."', text='".$textForm."', filename=NULL where id=".$idForm;

Dann wird der Wert von filename einfach nicht eingetragen, sondern so belassen, wie er war.
 
Zurück