Hallo,
ich hab bei einem Formular, wo der Nutzer zum einen Dateien eingeben soll, zum Anderen ein PDF hochladen soll ein Problem. Zunächst einmal die Codes. Das Formular:
Das Register.php:
Nun zum Problem: Wenn ich dies so ausführe dann wird die Datei ohne Probleme so hochgeladen wie ich es will. Allerdings werden nicht wie beabsichtigt gleichzeitig die Daten in die mysql Tabelle eingetragen. Wenn ich aber folgenden Passus rauslasse, werden die Daten dort eingetragen.
Nur in Kombination scheint es nicht zu funktionieren bzw finde ich den Fehler nicht :/ hat jemand vill eine Idee?
ich hab bei einem Formular, wo der Nutzer zum einen Dateien eingeben soll, zum Anderen ein PDF hochladen soll ein Problem. Zunächst einmal die Codes. Das Formular:
Code:
<form action="register.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
E-Mail: <input type="email" size="30" maxlength="250" name="email"><br><br>
Passwort: <input type="password" size="20" maxlength="250" name="passwort">
Passwort wiederholen: <input type="password" size="20" maxlength="250" name="passwort2">
Name: <input type="text" id="name" size="25" maxlength="250" name="name"><br><br>
<input type="file" name="datei" size="50" accept="pdf/*">
<input type="submit" value="Fertig">
</form>
Das Register.php:
Code:
<?php
include("connect.php");
$email = mysqli_real_escape_string($connection, $_POST['email']);
$passwort = mysqli_real_escape_string($connection, $_POST['passwort']);
$name = mysqli_real_escape_string($connection, $_POST['name']);
if($email == "" || $passwort == "" || $name == "")
{
echo "Bitte füllen Sie alle Felder aus!";
}
else
{
if($passwort != $_POST['passwort2'])
{
echo "Die Passwörter stimmen nicht überein!";
}
else
{
$sql = "INSERT INTO daten (email, passwort, name) VALUES ('$email', '$passwort', '$name')";
$dname = explode(".",$_FILES["datei"]["name"]);
$dnamesize = count($dname);
$upfile_ext = $dname[$dnamesize-1];
if($_FILES["datei"]["size"]>0 && $upfile_ext=="pdf")
{
copy($_FILES["datei"]["tmp_name"],"p317.pdf");
echo "Die Daten wurden erfolgreich hochgeladen!";
}
else
{
echo "<p> Kopierfehler: Datei nicht vorhanden oder keine PDF-Datei</p>";
}
}
else
{
echo "Error" . $sql . "<br/>" . $connection->error;
}
}
}
?>
Nun zum Problem: Wenn ich dies so ausführe dann wird die Datei ohne Probleme so hochgeladen wie ich es will. Allerdings werden nicht wie beabsichtigt gleichzeitig die Daten in die mysql Tabelle eingetragen. Wenn ich aber folgenden Passus rauslasse, werden die Daten dort eingetragen.
Code:
$dname = explode(".",$_FILES["datei"]["name"]);
$dnamesize = count($dname);
$upfile_ext = $dname[$dnamesize-1];
if($_FILES["datei"]["size"]>0 && $upfile_ext=="pdf")
{
copy($_FILES["datei"]["tmp_name"],"p317.pdf");
echo "Die Daten wurden erfolgreich hochgeladen!";
}
else
{
echo "<p> Kopierfehler: Datei nicht vorhanden oder keine PDF-Datei</p>";
}
Nur in Kombination scheint es nicht zu funktionieren bzw finde ich den Fehler nicht :/ hat jemand vill eine Idee?