| value bei input type=file |
pizzataxi
Quasselstrippe
Beiträge: 248
|
Wie kann ich Werte bei Formularfeldern vom Typ File ausgeben? Folgende Kombi scheint nicht zu funzen:
<input type="file" name="bildurl" value="<?php echo $bildurl; ?>
|
|  Profil
E-Mail
Editieren
Zitieren
|
Ehemaliges Mitglied (#644)
Forenheld
Beiträge: 835
|
wo wird in diesem fall $bildurl definiert ?
$bildurl ist in deinem fall leer, wenn mich nich alles taeuscht 
Paul
|
|  Profil
Editieren
Zitieren
|
pizzataxi
Quasselstrippe
Beiträge: 248
|
Sollte mich eigentlich wundern, denn die Variable $bildurl wird vorher aus einer DB ausgelesen. Ich kann sie mir auch per echo $bildurl; anzeigen lassen. Vielleicht kann man einfach mal ein Stück Beispielquelltext oder so ähnlich posten.
Bei mir siehts so aus:
$tabellenname="bonbons";
$sql1="SELECT bildurl FROM $tabellenname WHERE ID='$ID' ";
$link1=mysql_connect("localhost", "user", "pw");
mysql_select_db("db",$link1);
$result1=mysql_query($sql1,$link1);
for($x=0;$x<mysql_num_rows($result1);$x++)
{
$bildurl=mysql_result($result1,$x,"bildurl");
}
?>
<?php echo "<form name=change method=post
action=chadetails.php?ID=$ID enctype=multipart/form-data>";?>
<table>
<tr>
<td>Vorschaubild für den Artikel:</td>
<td><input type="file" name="bildurl" value="<?php echo $bildurl; ?>"></td>
</tr>
<tr>
<td>nbsp;</td>
<td>
<input type="submit" name="Abschicken" value="Abschicken">
<input type="reset" name="Löschen" value="Löschen">
</td>
</tr>
</table>
</form>
Nice Greetz 2 all
|
|  Profil
E-Mail
Editieren
Zitieren
|
Ehemaliges Mitglied (#644)
Forenheld
Beiträge: 835
|
sorry, von myaql verstehe ich leider noch sogut wir garnix.
da kann ich dir nicht helfen. gruss, paul
|
|  Profil
Editieren
Zitieren
|
Andreas S
Otto-Normal-Poster
Beiträge: 81
|
Nimm besser while() und mysql_fetch_array()
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26: | $tabellenname="bonbons";
$sql1="SELECT bildurl FROM $tabellenname WHERE ID='$ID' ";
$link1=mysql_connect("localhost", "user", "pw");
mysql_select_db("db",$link1);
$result1=mysql_query($sql1,$link1);
while($row = mysql_fetch_array($result1)){
$bildurl=$row['bildurl'];
}
?>
<?php echo "<form name=change method=post
action=chadetails.php?ID=$ID enctype=multipart/form-data>";?>
<table>
<tr>
<td>Vorschaubild für den Artikel:</td>
<td><input type="file" name="bildurl" value="<?php echo $bildurl; ?>"></td>
</tr>
<tr>
<td>nbsp;</td>
<td>
<input type="submit" name="Abschicken" value="Abschicken">
<input type="reset" name="Löschen" value="Löschen">
</td>
</tr>
</table>
</form> |
Ob es jetzt geht weiß ich nicht, aber versuch es einfach und wenn es immer noch Probleme gibt, einfach nochmal posten. 
|
|  Profil
Editieren
Zitieren
|
pizzataxi
Quasselstrippe
Beiträge: 248
|
Danke für den Tipp, ich habe eben nochmal konrolliert: Die variable $bildurl ist mit dem korrekten Wert gefüllt, wie schaffe ich es nun, dass ich diese Variable innerhalb "input type=file" ausgegeben kriege? *indieschreibtischplattebeiß*
@ Paul: so schwer zu verstehen ist mysql nu auch wieder nicht ;o)
Die Sache ist folgende:
ich bastel gerade für einen Süßwarenhändler einen Katalog, den er dann selber Verwalten soll über nen Adminbereich. Dazu gehört auch, dass Daten verändert werden sollen. Hierzu sollen im Änderungsformular alle Daten die zu diesem Datensatz gehören eingetragen werden, bei allen Formularfeldern bis auf das Uploadfeld funzt es...
kann man eigentlich per value auch in einem <select> tag eine Voreinstellung realisieren?
Diese Nachricht wurde geändert von: pizzataxi |
|  Profil
E-Mail
Editieren
Zitieren
|
HG
Posting-Schinder
Beiträge: 520
|
Mir erscheint es irgendwie sinnlos, einem File-Uploader eine Voreinstellung zu geben. Du solltest das besser über ein select, in dem alle Bilder verzeichnet sind realisieren.
ein type=file ist wirklich nur für den Upload von dateien gedacht, und an sich nicht für bereits auf dem Server liegende Dateien.
---
www.kuminatano.de
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
pizzataxi
Quasselstrippe
Beiträge: 248
|
*heul*
ich habe gerade bei selfhtml das hier entdeckt:
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.
Da werd ich mir wohl etwas anderes auskaspern müssen um die Katalogverwaltung idiotensicher zu kriegen...
|
|  Profil
E-Mail
Editieren
Zitieren
|
pizzataxi
Quasselstrippe
Beiträge: 248
|
Mir erscheint es irgendwie sinnlos, einem File-Uploader eine Voreinstellung zu geben. Du solltest das besser über ein select, in dem alle Bilder verzeichnet sind realisieren.
ein type=file ist wirklich nur für den Upload von dateien gedacht, und an sich nicht für bereits auf dem Server liegende Dateien. |
Nur mal zur Erklärung:
Es handelt sich um eine Verwaltung für nen Süßwarenkatalog im Web. Zu den Artikeln kann ein Bild hochgeladen werden. Nun kann ja es z.B. sein, dass sich der Preis für den Artikel ändert. Dafür ist ein Formular vorgesehen in dem alle Daten dieses Datensatzes in die entsprechenden Formularfelder als Voreintrag eingelesen werden. Das Feld für die Dateiauswahl bleibt in diesem Fall leer.
Schickt er nun die geänderten Daten (ohne die zugehörige Bilddatei wieder auszuwählen)ab wird nun die unter Umständen vorher in der DB gespeicherte Url zum Bild und das Bild selber gelöscht, weil ja keine Datei im Uploadfeld eingetragen war.
Mein Auftrag lautete, dass der Katalog so einfach wie möglich zu bedienen sein soll, quasi Idiotensicher.
Inzwischen habe ich das Problem anderweitig lösen können. ;o)
|
|  Profil
E-Mail
Editieren
Zitieren
|
hamsta
Pixelschubser
Beiträge: 1
|
mit dem jupload java applet ist das komfortabel möglich, mehrere dateien im batch-betrieb upzuloaden.
laut rfc1867 müssten die browser eigentlich eine mehrfachauswahl im "input type=file" tag unterstützten, aber meines wissens tut das bis heute noch keiner richtig (anscheinend konnte es mal der opera 6)
also bleibt nur mehrere file-tags oder eben das genannte java applet.
ist übrigens zu finden unter http://www.haller-systemservice.net/jupload/
Diese Nachricht wurde geändert von: hamsta |
|  Profil
Editieren
Zitieren
|
goalkeeper
Otto-Normal-Poster
Beiträge: 69
|
wenn du ne möglichkeit gefunden hast wie man was im stile von <input type file value=""> realisieren kann sag bescheid ich knobel da nämlich auch grad
|
|  Profil
Editieren
Zitieren
|
Philipp Gérard
Foren-Team
Beiträge: 1508
|
pizzataxi schrieb am 28.03.2003 00:57
Schickt er nun die geänderten Daten (ohne die zugehörige Bilddatei wieder auszuwählen)ab wird nun die unter Umständen vorher in der DB gespeicherte Url zum Bild und das Bild selber gelöscht, weil ja keine Datei im Uploadfeld eingetragen war.
|
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14: | if($_POST['bild']){
$sql = "img='$_POST[bild]";
}
else {
$sql = "";
}
mysql_query("UPDATE table SET foo='$foo', ..., $sql");
|
---
Arbeit ist das Feuer der Gestaltung. - Marx
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
raiserle
Fachidiot
Beiträge: 144
|
hiho....
also mir wäre mit einer lösung des problems auch geholfen (sicherheitsgründe)
so ein mist
ich will keine vorauswahl oder sowas haben....nein
ich will lediglich, wenn einer daten absendet und darin fehler sind,
sprich ein feld ist nicht ausgefüllt oder egal was,
das beim zurückgehen, die schon ausgefüllten felder nicht nochmal ausgefüllt werden
müssen, so auch das input-feld für die datei
... ich weis, das ich auch mit js überprüfen könnte, ob die felder korekt ausgefüllt
sind und erst dann das absenden der daten möglich machen....
,aber ich mag js einfach NICHT!
Grüße Raiserle
---
Irren is Menschlich
Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!
Kameradschaft ist, wenn der
Kamerad schafft !!!!
Diese Nachricht wurde geändert von: raiserle |
|  Profil
E-Mail
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795
|
Ja, um JS wirst du bei dem Problem aber definitiv nicht drum rum kommen, das wäre nämlich das einzige was in der Lage wäre nach dem Laden der Seite noch das Feld mit Inhalt zu füllen. Und ich bin mir nicht mal sicher, ob das geht.
---
Take a look here!
Lichtblick - Einblick - Ausblick
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
subjective
Forenheld
Beiträge: 848
|
Es geht nicht. Man kann einem Dateiupload-Feld keine Vorauswahl geben. Nicht per HTML und auch nicht per JS. Eine solche Zuweisung wäre ein großes Sicherheitsproblem. Man könnte ja beliebige Werte eintragen und dann das Formular absenden lassen. Dann könnte eine Webseite einfach so Daten vom Rechner des Besuchers hochladen lassen.
Die einzige Möglichkeit Formulare, die ein solches Feld enthalten, zu prüfen ist JS. Eine solche Prüfung darf natürlich nur zusätzlich zu einer Serverseitigen drin sein. Aber sie kann an dieser Stelle ein großes Plus in der Usablity sein.
---
Weaverslave
|
|  Profil
Website
Editieren
Zitieren
|