我有以下代碼註冊新用戶,他們的照片上傳改名並移動到一個文件夾,但我不斷收到錯誤,說照片是不確定的,我認爲這一定是一個(愚蠢的)問題與我形式,即時通訊失蹤,但我已經步進儘管我的代碼可重複,並不能解決這個問題。PHP文件上傳問題
<?php
include 'includes/config.inc.php';
//error_reporting(0);
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
echo '<center>
<form name="login" action="register.php" method="post">
Username: <input type="text" name="username"/><br>
Password: <input type="password" name="password"/><br>
Email: <input type="text" name="email"/><br>
First Name: <input type="text" name="firstname"/><br>
Last Name: <input type="text" name="lastname"/><br>
Photo: <input type="file" name="photo" id="photo"/><br>
<small>Files must be; PNG, JPEG, JPG</small>
<input type="submit" value="Register"/>
<input type="hidden" name="submitted" value="1">
</form>
<br>
<br>
';
if (isset($_POST['submitted'])){
if ($_POST['submitted']==1) {
if (is_string($_POST['username'])) {
$username = $_POST['username'];
$username = mysql_real_escape_string($username);
}
else
{
echo 'Please enter a valid username<br>';
}
if ($_POST['password']) {
$password = md5($_POST['password']);
}
else
{
echo 'Please enter a valid password<br>';
}
if (is_string($_POST['firstname'])) {
$firstname = $_POST['firstname'];
$firstname = mysql_real_escape_string($firstname);
}
else
{
echo 'Please enter a valid realname<br>';
}
if (is_string($_POST['lastname'])) {
$lastname = $_POST['lastname'];
$lastname = mysql_real_escape_string($lastname);
}
else
{
echo 'Please enter a valid realname<br>';
}
if (filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)){
$email = $_POST['email'];
$email = mysql_real_escape_string($email);
}
else
{
echo 'Please enter a valid email address.<br>';
}
//INSERT TO DB
$users = mysql_query("SELECT username FROM tbl_users WHERE username='$username'")or die(mysql_error());
$numrows = mysql_num_rows($users);
if($numrows == 1){
echo 'Username taken, please choose another.<br>';
}
elseif ($username && $password && $firstname && $lastname && $email && $_GET['photo'] != ''){
//UPLOAD FILE
$filename = $_FILES["photo"]["name"];
echo $filename;
$file_ext = substr($filename, strripos($filename, '.'));
$filesize = $_FILES["photo"]["size"];
if (($file_ext == ".png" || $file_ext == ".jpg" || $file_ext == ".jpeg") && ($filesize < 500000)) {
$photo_ID = md5($filename);
$rand = rand();
$newfilename = $photo_ID . $rand . $file_ext;
move_uploaded_file($_FILES["photo"]["tmp_name"], "images/profile_pics/" . $newfilename) or die("error uploading photo");
}
else
{
echo 'Wrong file type<br>';
}
$query = "INSERT INTO tbl_users (username, password, firstname, lastname, Email_address, photo_url)
VALUES ('$username' , '$password' , '$firstname', '$lastname', '$email', '$newfilename');";
mysql_query($query) or die(mysql_error());
echo 'Thank you for registering '. $firstname .'. Your username is '. $username .'.<br>';
echo 'Click here to <a href="./index.php?">login</a>.<br></center>';
mysql_close();
}
}
else
{
echo 'Please fill the form out.';
}
}
?>
添加一些代碼,pl緩解。 – fl00r 2011-05-05 18:37:38
那是整個代碼本頁 – Andrew 2011-05-05 18:38:44
那是一種諷刺 – fl00r 2011-05-05 18:40:16