php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Probleme mit dem Fortsetzen eines Uploads


 
Sonja12
02-12-2005, 22:18 
 
Also es geht um folgendes: Ich hab in ein Formular mit einem File-Feld und einigen weiteren Textboxen (werds vereinfacht darstellen und nur eine Box verwenden). Diese sollen mit Werten aus der Datenbank gefüllt werden ($picname ist der Name des Bildes in der Datenbank). $newsid bekomm ich aus einem vorherigen Formular mit Radio Buttons:

Main Formular --> main.php
if(isset($_POST["title"])) {$title= $_POST["title"];}
else {$title= "";}

if(isset($_POST["picname"])) {$picname = $_POST["picname"];}
else {$picname = "";}

if(isset($_POST["newsid"])) {$newsid= $_POST["newsid"];}
else {$newsid= "";}



$db = mysql_connect("localhost", "root");

$query_getnews = "SELECT * from hp_news WHERE ne_id = '$newsid';";

$res01 = mysql_db_query("d001f33e", $query_getnews );

$title = mysql_result($res01, 0, "ne_id");

mysql_close($db);

echo"<form enctype='multipart/form-data' action='check.php' method='post' name='newsedit'>";
echo"<input name='title' type='text' maxlength='500' value='$title' size='98'>";
echo"<input type='file' name='file' size='45'>";
echo"<input name='editbutton' type='submit' value='editieren'>";
echo"</form>";
Von dem Main Form kommt man dann in dieses File welches die Angaben überprüft: Das Check-File --> check.php
if(isset($_POST["title"])) {$title= $_POST["title"];}
else {$title= "";}

if(isset($_POST["picname"])) {$picname = $_POST["picname"];}
else {$picname = "";}

if(isset($_POST["newsid"])) {$newsid= $_POST["newsid"];}
else {$newsid= "";}



//Daten des Files das hochgeladen werden soll
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];

$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];

//Hier wird mit der Datenbank verbunden
$db = mysql_connect("localhost", "root");

//Die auszuführende Anweisung
$query_imagevergleich = "SELECT COUNT(*) FROM hp_news WHERE ne_pic = '$name'";

//Daten werden an ein ResultSet übergeben.
$res1 = mysql_db_query("d001f33e", $query_imagevergleich);

//Der Wert aus dem ResultSet wird hier an eine Variable übergeben.
$vorhanden1 = mysql_result($res1, 0, "COUNT(*)");

//Hier wird die Verbindung mit der Datenbank wieder geschlossen
mysql_close($db);



//Hier finden jetzt die Überprüfungen statt
if($title == "")
{
echo"Bitte den Titel eingeben.";
include("main.php");
}
elseif(vorhanden1 != 0)
{
include("overwrite.php");
}
else
{
include("save.php");
}
Ja nachdem ob der Name des Bildes, welches man Uploaden will schon in der Datenbank vorhanden ist kommt man entweder zum overwrite.php oder zum save.php (wir gehen davon aus, dass die titel Box ausgefüllt wurde).

overwrite.php
if(isset($_POST["title"])) {$title= $_POST["title"];}
else {$title= "";}

if(isset($_POST["picname"])) {$picname = $_POST["picname"];}
else {$picname = "";}

if(isset($_POST["newsid"])) {$newsid= $_POST["newsid"];}
else {$newsid= "";}



echo"<form enctype='multipart/form-data' action='save.php' method='post' name='newsedit'>";
echo"<input type ='hidden' name ='title' value ='$title'>";

echo"Ein Bild mit dem selben Namen das du hochladen möchtest ist bereits vorhanden. Möchtest du dieses ersetzen?";

echo"<input type='submit' name='overwritebutton' value='fortsezten' height='500'>";
save.php
if(isset($_POST["title"])) {$title= $_POST["title"];}
else {$title= "";}

if(isset($_POST["picname"])) {$picname = $_POST["picname"];}
else {$picname = "";}

if(isset($_POST["newsid"])) {$newsid= $_POST["newsid"];}
else {$newsid= "";}



$query_updateentry = "UPDATE hp_news SET ne_title = '$title' WHERE ne_id = '$newsid'";
mysql_db_query("d001f33e", $query_updateentry );

copy("$tempname", "..\\images\\$name");
Mein Problem ist jetzt folgendes: Wählt man ein Bild aus, dass nicht in der Datenbank vorhanden ist, erfolgt der Upload und der Update der anderen Daten (in diesem Fall $title) problemlos. Sobald man aber über das overwrite.php auf das save.php zugreifen will werden nur die Daten übernommen. Der Upload erfolgt leider nicht. Könntet ihr mir da bitte weiterhelfen? Ich sitz echt schon sehr lang daran und es wäre schön wenn ihr mir da weiterhelfen könntet! DANKE

 
frank7l7
02-12-2005, 23:06 
 
du mußt den tmpname der datei auch hidden vom overwrite.php in die save.php nehmen!!! guck dir das auch mal an

http://de.php.net/manual/de/function.move-uploaded-file.php

und sowieso alles ziemlich kompliziert ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:21 Uhr.