-2

私はデータベースをまったく使用していないので、おそらく私の問題は明らかです。私の変数はデンマーク語ですが、とにかく理解していただければ幸いです。すでにフォーラムで検索しましたが、これは私にとって初めてのことなので、非常に理解しにくいと思います。

ユーザーはプロフィール写真でプロフィールを作成する必要がありますが、保存しようとするとエラーが発生します。独自に定義したエラーが表示される理由は$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;  
}  
}  

?>
4

1 に答える 1

0

falseが返された場合は、定義上、ファイルタイプがimage / jpegでないか、image / pngでないか、タイプが設定されていないか、$_FILES全体が設定されていません。

HTMLフォームで、PHPファイルを使用してPOSTデータを検証して<form enctype="multipart/form-data" method="POST">みてください。var_dump($_FILES);

編集: tmp_nameが空の状態では、私が考えることができる2つの可能な状況があります:

  1. 設定するのを忘れました<form enctype="multipart/form-data">(より可能性が高いので、それを検証してください)
  2. php.iniで、次のようfile_uploadsに設定されていることを確認してくださいOn

もちろん、最初のオプションの方が可能性が高くなります。

于 2013-01-08T09:58:25.233 に答える