我开始制作自己的个人资料系统,用户可以在其中存储用户名、密码、名字、姓氏、年龄和个人资料图片。
通过此过程上传图像存在问题。代码出现错误,我不明白为什么。为英语道歉,我来自丹麦(注:编辑免费翻译)
这是我的代码
<?php
include ("inc/db/db.php");
if (isset($_POST["godkendt_bruger"]))
{
$query = 'SELECT NULL FROM `bruger` WHERE `brugernavn` = ?';
if ($stmt = $mysqli->prepare($query))
{
$stmt->bind_param('s', $brugernavn);
$brugernavn = $_POST["brugernavn"];
$stmt->execute();
$stmt->store_result();
$count = $stmt->num_rows;
$stmt->close();
if ($count > 0)
{
$user_found = 1;
}
}
if (!isset($user_found))
{
if ($_POST["pass"] != $_POST["gentag"])
{
$errors = 1;
echo "<li id=\"check_not\">Angive ens password på siden..</li>";
}
if (empty($_POST["pass"]) && empty($_POST["gentag"]))
{
$errors = 1;
echo "<li id=\"check_not\">Angive et password på siden..</li>";
}
if (empty($_POST["navn"]))
{
$errors = 1;
echo "<li id=\"check_not\">Angive et Fornavn</li>";
}
if (empty($_POST["efternavn"]))
{
$errors = 1;
echo "<li id=\"check_not\">Angive et Efternavn</li>";
}
if (!isset($errors))
{
$pb = null;
include "inc/img/class.upload.php";
$handle = new Upload($_FILES["file"]);
if ($handle->uploaded)
{
//lidt mere store billeder
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_x = 220;
$handle->Process("profil/store");
//til profil billede lign..
$handle->image_resize = true;
$handle->image_ratio_crop = true;
$handle->image_y = 115;
$handle->image_x = 100;
$handle->Process("profil");
//til profil billede lign..
$handle->image_resize = true;
$handle->image_ratio_crop = true;
$handle->image_y = 75;
$handle->image_x = 75;
$handle->Process("profil/lille");
$pb = $handle->file_dst_name;
}
else
{
echo 'Der opstod en fejl i erklæringen: - upload ' . $mysqli->error;
}
}
//Lukker $errors
if (!isset($user_found))
{
$query = 'INSERT INTO `bruger` '
. '(`Brugernavn`, `password`, `profilbillede`, '
. '`navn`, `efternavn`, `alder`) '
. 'VALUES (?, ?, ?, ?, ?, ?)';
if ($stmt = $mysqli->prepare($query))
{
$stmt->bind_param(
'sssssi',
$brugernavn,
$password,
$profilbillede,
$navn,
$efternavn,
$alder
);
$brugernavn = $_POST["brugernavn"];
$password = $_POST["pass"];
$profilbillede = $pb;
$navn = $_POST["navn"];
$efternavn = $_POST["efternavn"];
$alder = $_POST["alder"];
$stmt->execute();
$stmt->close();
}
else
{
/* Der er opstået en fejl */
echo 'Der opstod en fejl i erklæringen til ligge i databasen: ' . $mysqli->error;
}
}
}
else
{
echo "<li id=\"check_not\">Dette brugernavn er optaget!!</li>";
}
}
else
{
echo "<li id=\"check_opret\">Indtast dine oplysninger herunder for at opret en bruger </a></li>";
}
?>
似乎错误在此块中
if ($handle->uploaded)
{
//lidt mere store billeder
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_x = 220;
$handle->Process("profil/store");
//til profil billede lign..
$handle->image_resize = true;
$handle->image_ratio_crop = true;
$handle->image_y = 115;
$handle->image_x = 100;
$handle->Process("profil");
//til profil billede lign..
$handle->image_resize = true;
$handle->image_ratio_crop = true;
$handle->image_y = 75;
$handle->image_x = 75;
$handle->Process("profil/lille");
$pb = $handle->file_dst_name;
}
else
{
echo 'Der opstod en fejl i erklæringen: - upload ' . $mysqli->error;
}
错误是:Der opstod en fejl i erklæringen: - 上传(声明中有错误),没有别的。数据不存储在数据库中。
这是我的 html 她;
<form name="opret_bruger" method="post" action="#" enctype="multipart/form-data">
<tr>
<td><p>Brugernavn</p></td>
<td><input type="text" name="brugernavn"></td>
</tr>
<tr>
<td><p>Password</p></td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td><p>Password gentag</p></td>
<td><input type="password" name="gentag"></td>
</tr>
<tr>
<td><p>Fornavn</p></td>
<td><input type="text" name="navn"></td>
</tr>
<tr>
<td><p>Efternavn</p></td>
<td><input type="text" name="efternavn"></td>
</tr>
<tr>
<td><p>Alder</p></td>
<td>
<select name="alder_1">
<?php
if ($stmt = $mysqli->prepare('SELECT `alder` FROM `alder`')) {
$stmt->execute();
/* Bind resultatet */
$stmt->bind_result($alder);
/* Hent rækker og udskriv data */
while ($stmt->fetch()) {
?>
<option><?php echo $alder;?></option>
<?php
}
/* Luk statement */
$stmt->close();
} else {
/* Der er opstået en fejl */
echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
}
?>
</select>
</td>
</tr>
<tr>
<td><p>Upload Profilbillede</p></td>
<td><input type="file" name="profilbillede"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="godkendt_bruger"></td>
</tr>
</form>
如果您有任何建议,我会欢迎他们,甚至更好地处理代码,以便可以存储图像。
Jesper -丹麦