我有以下代码注册新用户,他们的照片上传改名并移动到一个文件夹,但我不断收到错误,说照片是不确定的,我认为这一定是一个(愚蠢的)问题与我形式,即时通讯失踪,但我已经步进尽管我的代码可重复,并不能解决这个问题。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