| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

12-01-2010, 17:17
|
|
mxcom
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 6
|
|
PHP Upload benötige unterstützung
Hallo zusammen
Der Script Funktioniert es wird auf die Datenbank geschrieben nur Bilder werden auf dem Server Zielordner nicht hochgeladen.
Kann mir jemand hier Unterstützen
PHP-Code:
<?php require("inc_/db_connect.php"); $verbindung = mysql_connect($server,$benutzer,$passwort) or die ("Verbindungsaufnahme mit MySQL-Server fehlgeschlagen!"); mysql_select_db($datenbank,$verbindung) or die ("Verbindungsaufnahme mit Datenbank fehlgeschlagen");
$verzeichnis = "bilder"; if(isset($HTTP_POST_VARS["submit"]) && $HTTP_POST_VARS["submit"]=="Speichern") { $marke = $HTTP_POST_VARS["marke"]; $modell = $HTTP_POST_VARS["modell"]; $jahrgang = $HTTP_POST_VARS["jahrgang"]; $fahrzeugart = $HTTP_POST_VARS["fahrzeugart"]; $kilometer = $HTTP_POST_VARS["kilometer"]; $getriebeart = $HTTP_POST_VARS["getriebeart"]; $treibstoff = $HTTP_POST_VARS["treibstoff"]; $hubraum = $HTTP_POST_VARS["hubraum"]; $zylinder = $HTTP_POST_VARS["zylinder"]; $garantie = $HTTP_POST_VARS["garantie"]; $preis = $HTTP_POST_VARS["preis"]; $bemerkung = $HTTP_POST_VARS["bemerkung"]; $pic_pfad = $verzeichnis."/".$_FILES['bild1']['name']; $pic_pfad2 = $verzeichnis."/".$_FILES['bild2']['name']; $pic_pfad3 = $verzeichnis."/".$_FILES['bild3']['name']; if (($marke=='') OR ($modell=='')){ echo "<font color='red'>Bitte füllen Sie alle Pflichtfelder aus*!</font>"; } else { $abfrage = "INSERT INTO Kleinanzeige (marke, modell, jahrgang, fahrzeugart, kilometer, getriebeart, treibstoff, hubraum, zylinder, garantie, preis, bemerkung, bild1, bild2, bild3) VALUES ('$marke', '$modell', '$jahrgang', '$fahrzeugart', '$kilometer', '$getriebeart', '$treibstoff', $hubraum', '$zylinder', '$garantie', '$preis', '$bemerkung', '$pic_pfad', '$pic_pfad2', '$pic_pfad3')"; $ergebnis = mysql_query($abfrage,$verbindung); echo "<font color='green'>Daten erfolgreich eingefügt!</font>"; } } ?> <html> <title</title> <head> <link href="inc_/style.css" rel="stylesheet" type="text/css"> </head> <body> <h1>Daten hinzufügen</h1> <br> <form action="<?php echo $PHP_SELF;?>" method="POST" enctype='multipart/form-data' method="POST"> Marke<br> <input name="marke" type="text" id="marke" size="30" maxlength="255"><br><br> Modell<br> <input name="modell" type="text" id="modell" size="30" maxlength="255"><br><br> Jahrgang<br> <input name="jahrgang" type="text" id="jahrgang" size="30" maxlength="255"><br><br> Fahrzeug<br> <input name="fahrzeugart" type="text" id="fahrzeugart" size="30" maxlength="255"><br><br> Kilometer<br> <input name="kilometer" type="text" id="kilometer" size="30" maxlength="255"><br><br> Getriebeart <br> <input name="getriebeart" type="text" id="getriebeart" size="30" maxlength="255"><br><br> Treibstoff<br> <input name="treibstoff" type="text" id="treibstoff" size="30" maxlength="255"><br><br> Hubraum<br> <input name="hubraum" type="text" id="hubraum" size="30" maxlength="255"><br><br> Zylinder<br> <input name="zylinder" type="text" id="zylinder" size="30" maxlength="255"><br><br> Garantie<br> <input name="garantie" type="text" id="garantie" size="30" maxlength="255"><br><br> Preis<br> <input name="preis" type="text" id="preis" size="30" maxlength="255"><br><br> Bemerkung<br> <textarea name="bemerkung" cols="30" id="bemerkung"></textarea> <br><br> <input type='file' name='bild1' size=20><br><br> <input type='file' name='bild2' size=20><br><br> <input type='file' name='bild3' size=20><br><br> <input type="submit" name="submit" value="Speichern"> <input name="reset" type="reset" value="Löschen"> </form> <?php $abfrage = "SELECT * FROM Kleinanzeige"; $ergebnis = mysql_query($abfrage,$verbindung); while ($datensatz = mysql_fetch_array($ergebnis)) { ?> <table> <tr> <td class="text"><?php echo $datensatz['id']; ?></td> <td class="text"> <?php if ($datensatz['bild1'] != "") { echo "<img src=\"$datensatz[bild1]\"> "; } ?> </td> <td class="text"><?php echo $datensatz['marke']; ?></td> <td class="text"><?php echo $datensatz['modell']; ?></td> </tr> <?php } mysql_close($verbindung); ?> </bod> </table>
</body> </html>
Geändert von mxcom (12-01-2010 um 17:29 Uhr)
|

12-01-2010, 17:23
|
|
2Bad4You
Registrierter Benutzer
|
|
Registriert seit: Jun 2007
Beiträge: 101
|
|
Zuerst bitte mal den Code umbrechen.
Und dann sehe ich nirgendwo wo du das Bild aus dem Temp Ordner in dein gewünschtes Verzeichnis verschiebst. Ich sehe nur die Datenbank Abfrage, aber nirgends den eingentlichen Datei Upload.
|

12-01-2010, 17:25
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Worked as designed. Du machst ja auch nichts mit den Bildern. Zum Thema Dateiupload findest du hier ein kleines Tutorial.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

12-01-2010, 23:52
|
|
mxcom
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 6
|
|
Hab folgendes versucht, so werden bilder nicht im Folder "Bilder" geladen sondern eine Stufe zurück.
PHP-Code:
$file_tmp = $_FILES['bild1']['tmp_name']; $file = $_FILES['bild1']['name']; $folder = 'bilder';
if(isset($HTTP_POST_VARS["submit"]) && $HTTP_POST_VARS["submit"]=="Speichern") { $marke = $HTTP_POST_VARS["marke"]; $modell = $HTTP_POST_VARS["modell"]; $jahrgang = $HTTP_POST_VARS["jahrgang"]; $fahrzeugart = $HTTP_POST_VARS["fahrzeugart"]; $kilometer = $HTTP_POST_VARS["kilometer"]; $getriebeart = $HTTP_POST_VARS["getriebeart"]; $treibstoff = $HTTP_POST_VARS["treibstoff"]; $hubraum = $HTTP_POST_VARS["hubraum"]; $zylinder = $HTTP_POST_VARS["zylinder"]; $garantie = $HTTP_POST_VARS["garantie"]; $preis = $HTTP_POST_VARS["preis"]; $bemerkung = $HTTP_POST_VARS["bemerkung"];
move_uploaded_file($file_tmp, $folder.$file);
Hab so geändert und es geht, kann mir jemand sagen ob dies sinnvoll ist?
PHP-Code:
$dateiname = $_FILES['bild1']['name']; $tmp_name = $_FILES['bild1']['tmp_name']; $uploadname ="bilder/$dateiname"; move_uploaded_file($tmp_name,$uploadname);
if(isset($HTTP_POST_VARS["submit"]) && $HTTP_POST_VARS["submit"]=="Speichern") { $marke = $HTTP_POST_VARS["marke"]; $modell = $HTTP_POST_VARS["modell"]; $jahrgang = $HTTP_POST_VARS["jahrgang"]; $fahrzeugart = $HTTP_POST_VARS["fahrzeugart"]; $kilometer = $HTTP_POST_VARS["kilometer"]; $getriebeart = $HTTP_POST_VARS["getriebeart"]; $treibstoff = $HTTP_POST_VARS["treibstoff"]; $hubraum = $HTTP_POST_VARS["hubraum"]; $zylinder = $HTTP_POST_VARS["zylinder"]; $garantie = $HTTP_POST_VARS["garantie"]; $preis = $HTTP_POST_VARS["preis"]; $bemerkung = $HTTP_POST_VARS["bemerkung"];
Geändert von mxcom (13-01-2010 um 00:18 Uhr)
|

13-01-2010, 00:43
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Die erste Variante würde auch funktionieren, wenn du dort noch den Directory-Separator hinzufügst. Bei der zweiten besteht das Problem, dass du die Datei schon speicherst (verschiebst) bevor du überhaupt die POST-Daten ausgewertet (und ggf. auf Korrektheit überprüft) hast.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

21-01-2010, 11:53
|
|
mxcom
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 6
|
|
So '.bilder.' meinst du?
PHP-Code:
$file_tmp = $_FILES['bild1']['tmp_name']; $file = $_FILES['bild1']['name']; $folder = '.bilder.';
if(isset($HTTP_POST_VARS["submit"]) && $HTTP_POST_VARS["submit"]=="Speichern") { $marke = $HTTP_POST_VARS["marke"]; $modell = $HTTP_POST_VARS["modell"]; $jahrgang = $HTTP_POST_VARS["jahrgang"]; $fahrzeugart = $HTTP_POST_VARS["fahrzeugart"]; $kilometer = $HTTP_POST_VARS["kilometer"]; $getriebeart = $HTTP_POST_VARS["getriebeart"]; $treibstoff = $HTTP_POST_VARS["treibstoff"]; $hubraum = $HTTP_POST_VARS["hubraum"]; $zylinder = $HTTP_POST_VARS["zylinder"]; $garantie = $HTTP_POST_VARS["garantie"]; $preis = $HTTP_POST_VARS["preis"]; $bemerkung = $HTTP_POST_VARS["bemerkung"];
move_uploaded_file($file_tmp, $folder.$file);
|

21-01-2010, 11:59
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Ne, so nicht. Wenn du nicht weißt was ein DIRECTORY_SEPARATOR ist, dann schlag es nach - im PHP-Manual oder bei Google.
Blindes raten bringt nichts, führt nur zu schlechtem Code.
Übrigens ist $HTTP_POST_VARS veraltet. Steht auch im Manual.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|