Upload Problem!

tesarolle

Mitglied
Ich will eine Datei hochladen und den Dateinamen in die Datenbank schreiben, in der TAbelle soll später jeweils User und je ein Bildname stehen! Das ganze funktioniert aber nicht, nachdem ich nämlich auf Absenden geklickt habe kommt eine Fehlermeldung!



Notice: Undefined index: file in c:\programme\easyphp1-7\www\test\upload.php on line 2

Notice: Undefined index: file in c:\programme\easyphp1-7\www\test\upload.php on line 3

Notice: Undefined index: file in c:\programme\easyphp1-7\www\test\upload.php on line 8

Notice: Undefined index: file in c:\programme\easyphp1-7\www\test\upload.php on line 9
nur gif und jpeg Dateien dürfen hochgeladen werden.
VIELEN DANK FÜR IHRE EINGABEN


Was habe ich vergessen oder falsch gemacht?









Startformular.php

PHP:
<html>
<head><title>PHP workshop on form management: impressions.html</title><head>
<body>


<form method="post" action="daten_checken.php">
Your name : <input type="text" name="nom"><br>

Bild hochladen: <input type="file" name="file"><br> 


<br><br>
<input type="submit" name="valider" value="Send">
</form>


</body>
</html>


daten_checken.php

PHP:
<html>
<head><title>PHP workshop for form management: ajoutimp.php</title><head>
<body>

<?php

$nom=$_POST['nom'];
//$bild=$_POST['bild'];
$ip=$_SERVER["REMOTE_ADDR"];
$host=gethostbyaddr($ip);


 include_once("includes/connect.php"); 
include ("upload.php"); 


$sql = "INSERT INTO datensatz ( id , nom , date, time, ip, host, bild )
VALUES ('', '$nom', now(), now(), '$ip', '$host')";
mysql_query($sql, $db);



print("                   VIELEN DANK FÜR IHRE EINGABEN                    ") ;



?>

</body>
</html>



upload.php

PHP:
<?php
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name']; 




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




if($type != "image/gif" && $type != "image/pjpeg") {
    $err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden.";
}
if($size > "15000") {
    $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!";
} 







if(empty($err)) {
    copy("$tempname", "$name");
    echo "Die Datei $name wurde erfolgreich hochgeladen!";
}
else {
    foreach($err as $error)
    echo "$error<br>";
}
?>
 
Ach Quatsch, immer her mit den Fragen.
Bin im Moment nur nicht so haeufig hier, da ich zur Zeit China erobere und nur zwischendurch mal den Rechner von 'nem Arbeitskollegen nutzen kann.
 
Aber nun habe ich ein anderes problem, bevor ich bei form den code umgestellt habe, habe ich in dem text-feld was eingegeben und das wurde in die datenbank in das entsprechende feld geschrieben, nun kann ich zwar immer noch was eingeben, aber es wird nichts in die datenbank geschrieben sondern lediglich der upload durchgeführt!

geht das überhaupt auf einem html-formular upzuloaden und gleichzeitig datenfelder in der db zu befüllen?
 
Ja, das ist eigentlich kein Problem.
Auf der Arbeit hab ich was gebastelt was eine Datei hochlaedt und eine mit im Formular angegebene Beschreibung in der Datenbank speichert.
Du kannst ja weiterhin ganz normal per $_POST["variable"] auf die einzelnen Felder zugreifen.
 
Das hier
PHP:
$sql = "INSERT INTO datensatz ( id , nom , date, time, ip, host, bild ) 
VALUES ('', '$nom', now(), now(), '$ip', '$host')";
ist der Grund warum nicht eingetragen wird. Zum einen nehme ich an, dass die ID ein AutoInc-Wert ist, dann kannst Du den einfach weglassen, davon abgesehen gibst Du aber 7 Felder an in die geschrieben werden soll, aber nur 6 Werte.

Probier's mal so:
PHP:
$sql = "INSERT INTO datensatz ( nom , date, time, ip, host )  VALUES ('$nom', now(), now(), '$ip', '$host')";
 

Neue Beiträge

Zurück