我是全新的使用数据库,所以也许我的问题是显而易见的。我的变数是丹麦语,我希望你能理解。我已经在论坛上搜索过,但因为这对我来说是新的,所以我觉得很难理解。PHP MYSQL - 图像上传错误
用户应该使用配置文件图片创建配置文件,但是当我尝试保存配置文件时会发生错误。弹出我自己定义的错误,因为$billednavn == false
。
代码:
<?php
// 1. Gem modtagne formulardata i variabler:
$navn = $_POST['navn'];
$alder = $_POST['alder'];
$postnr = $_POST['postnr'];
$mail = $_POST['mail'];
$billede = $_FILES['profilbillede'];
$password = $_POST['password'];
// 2. Forbind til databasen:
$databaselink = mysqli_connect("localhost","mmddk3e12m8b18", "****", "mmddk3e12m8b18") or die ("Fejl: Kan ikke etablere forbindelse til database");
$billednavn = billedupload($billede);
// besked til brugeren om at der er sket en fejl
if($billednavn == false){
die("Der skete en fejl under upload af billedet");
}
// 3. Udform insert SQL streng med de modtagne data, og udfør SQL strengen på databasen vha mysqli_query:
$query = "INSERT INTO brugere (navn, alder, postnr, mail, password, profilbillede) VALUES ('$navn', '$alder', '$postnr', '$mail', '$password', '$billednavn')";
$result = mysqli_query($databaselink, $query) or die("Forespørgslen kunne ikke udføres: " . mysqli_error($databaselink));
// 4. luk databasen:
mysqli_close($databaselink);
function billedupload($fil){
if($fil['type']=='image/jpeg' or $fil['type']=='image/png'){
$tmp_navn = $fil['tmp_name'];
$filnavn = $fil['name'];
$target = 'images/' . time() . $filnavn;
move_uploaded_file($tmp_navn,$target);
return $target;
}
else{
return false;
}
}
?>
你确定设置了$ _FILES吗?用'var_dump($ _ FILES)'调试它。如果没有,你可能会错过'enctype =“multipart/form-data”'在你的'
@Blauesocke对不起,只是看到你发布它后我写了一个答案 –
@ShaiMishali没问题! :-) –