[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не могу сделать загрузку картинки к регистрации
philcrosoft
Пишу регистрацию с добавлением фото, не получается прописать праильно, чтобы фото грузились на сервер и прописывались в базе данных! прошу помощи!
Спасибо

<?php
class ExceptReg extends Exception
{}
try
{ include_once ( "connect.php" ) ;
if ( isset( $_POST['submit'] ) )
{
if ( empty( $_POST['login'] ) )
{
throw new ExceptReg( 'Вы не ввели логин' ) ;
}
if ( empty( $_POST['password'] ) )
{
throw new ExceptReg( 'Вы не ввели пароль' ) ;
}
if ( empty( $_POST['password2'] ) )
{
throw new ExceptReg( 'Вы не ввели подверждение пароля' ) ;
}
if ( $_POST['password'] != $_POST['password2'] )
{
throw new ExceptReg( 'Пароли не совпадают' ) ;
}
if ( empty( $_POST['email'] ) )
{
throw new ExceptReg( 'Вы не ввели E-mail' ) ;
}
if ( empty( $_POST['email2'] ) )
{
throw new ExceptReg( 'Вы не ввели подверждение e-mail' ) ;
}
if ( $_POST['email'] != $_POST['email2'] )
{
throw new ExceptReg( 'Ваши e-mail не совпадают!' ) ;
}

$login = $_POST['login'] ;
$password = $_POST['password'] ;
$password2 = $_POST['password2'] ;
$email = $_POST['email'] ;
$email2 = $_POST['email2'] ;

$query = "SELECT `id` FROM `users` WHERE `login`='{$login}'" ;
$sql = mysql_query( $query ) or die( mysql_error() ) ;
if ( mysql_num_rows( $sql ) > 0 )
{
throw new ExceptReg( 'Такой логин уже зарегисрирован!' ) ;
}
$query = "SELECT `id` FROM `users` WHERE `email`='{$email}'" ;
$sql = mysql_query( $query ) or die( mysql_error() ) ;
if ( mysql_num_rows( $sql ) > 0 )
{
throw new ExceptReg( 'Такой e-mail уже зарегистрирован!' ) ;
}

$query = "INSERT INTO users(login , password , email)
VALUES ('
$login', '$password', '$email')" ;

$result = mysql_query( $query ) or die( mysql_error() ) ;
echo 'Регистрация прошла успешно' ;
}
}

catch ( ExceptReg $e )
{ echo '<font color="red">Ошибка регистрации: ' . $e->getMessage() . '</font>';
}


и вот код для загрузки картинок на сервер и названия в базу данных, по всякому пробовал прописать всё вместе, картинки так и не грузились!

 <?php
//This is the directory where images will be saved
$target = "img/";

$target = $target .basename( $_FILES['photo']['name']);

//This gets all the other information from the
$pic=($_FILES['photo']['name']);

mysql_query("INSERT INTO `users` VALUES ('$pic')") ;

//Writes the photo to the server

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {

//Tells you if its all ok

echo "The file ".basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory"; }
else { "Sorry, there was a problem uploading your file."; }

?>


Помогите обработать! unsure.gif



Спустя 25 минут, 2 секунды (9.10.2010 - 22:10) Crash2007 написал(а):
(update `users` set `pic`='$pic' where `username`='$user')

Спустя 15 минут, 24 секунды (9.10.2010 - 22:26) philcrosoft написал(а):
Цитата (Crash2007 @ 9.10.2010 - 19:10)
(update `users` set `pic`='$pic' where `username`='$user')

Так а это куда приписывать то? всё остальное оставить на месте?

Спустя 1 час, 23 минуты, 27 секунд (9.10.2010 - 23:49) Crash2007 написал(а):
вместо
 mysql_query("INSERT INTO `users` VALUES ('$pic')") ;

пиши
mysql_query("UPDATE `users` SET `pic(а лучше посмотри как называется поле)`='".$pic."' WHERE `username(а лучше посмотри как называется поле)`='".$user."'") ;

Спустя 16 часов, 52 минуты, 53 секунды (10.10.2010 - 16:42) philcrosoft написал(а):
ну вот я ламер ... нифига не получается (((

Спустя 5 минут, 23 секунды (10.10.2010 - 16:47) Xpund написал(а):
mysql_query("UPDATE `users` SET `pic`='".$pic."' WHERE `login`='".$login."'")

Так скорее всего
И у тебя в базе точно есть такое поле?

Скинь структуру БД

Спустя 14 минут, 12 секунд (10.10.2010 - 17:02) philcrosoft написал(а):
всё очнь просто ))) ну для начинающего всё сложно )))
выглядит всё так:

user posted image

Спустя 21 минута, 4 секунды (10.10.2010 - 17:23) philcrosoft написал(а):
ну и весь скрипт вот так прописываю! регистрация проходит а фото не грузит (((

<?php
class
ExceptReg extends Exception {}
try

{ include_once ( "connect.php" ) ;
if ( isset( $_POST['submit'] ) )
{
if ( empty( $_POST['login'] ) )
{
throw new ExceptReg( 'Вы не ввели логин' ) ;
}
if ( empty( $_POST['password'] ) )
{
throw new ExceptReg( 'Вы не ввели пароль' ) ;
}
if ( empty( $_POST['password2'] ) )
{
throw new ExceptReg( 'Вы не ввели подверждение пароля' ) ;
}
if ( $_POST['password'] != $_POST['password2'] )
{
throw new ExceptReg( 'Пароли не совпадают' ) ;
}
if ( empty( $_POST['email'] ) )
{
throw new ExceptReg( 'Вы не ввели E-mail' ) ;
}
if ( empty( $_POST['email2'] ) )
{
throw new ExceptReg( 'Вы не ввели подверждение e-mail' ) ;
}
if ( $_POST['email'] != $_POST['email2'] )
{
throw new ExceptReg( 'Ваши e-mail не совпадают!' ) ;
}

$login = $_POST['login'] ;
$password = $_POST['password'] ;
$password2 = $_POST['password2'] ;
$email = $_POST['email'] ;
$email2 = $_POST['email2'] ;

$query = "SELECT `id` FROM `users` WHERE `login`='{$login}'" ;
$sql = mysql_query( $query ) or die( mysql_error() ) ;
if ( mysql_num_rows( $sql ) > 0 )
{
throw new ExceptReg( 'Такой логин уже зарегисрирован!' ) ;
}
$query = "SELECT `id` FROM `users` WHERE `email`='{$email}'" ;
$sql = mysql_query( $query ) or die( mysql_error() ) ;
if ( mysql_num_rows( $sql ) > 0 )
{
throw new ExceptReg( 'Такой e-mail уже зарегистрирован!' ) ;
}



$query = "INSERT INTO users(login , password , email)
VALUES ('
$login', '$password', '$email')" ;
$result = mysql_query( $query ) or die( mysql_error() ) ;
echo 'Регистрация прошла успешно' ;
}
}

catch ( ExceptReg $e )
{ echo '<font color="red">Ошибка регистрации: ' . $e->getMessage() . '</font>';
}


$target = "img/";
$target = $target .basename( $_FILES['photo']['name']);
$pic=($_FILES['photo']['name']);
mysql_query("UPDATE `users` SET `pic`='".$pic."' WHERE `login`='".$login."'")

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {

echo "The file has been uploaded, and your information has been added to the directory"; }
else { "Sorry, there was a problem uploading your file."; }

?>

Спустя 1 час, 5 минут, 40 секунд (10.10.2010 - 18:28) Xpund написал(а):
 $target = "img/";
$target = $target .basename( $_FILES['photo']['name']);
$pic=($_FILES['photo']['name']);
$query = "INSERT INTO users(login , password , email, photo)
VALUES ('
$login', '$password', '$email', '$pic')" ;
$result = mysql_query( $query ) or die( mysql_error() ) ;
echo 'Регистрация прошла успешно' ;
}
}

catch ( ExceptReg $e )
{ echo '<font color="red">Ошибка регистрации: ' . $e->getMessage() . '</font>';
}



Так попробуйте
И на img chmod 777 скорее всего надо, если у вас *никс

Спустя 11 минут, 37 секунд (10.10.2010 - 18:40) philcrosoft написал(а):
Цитата (Xpund @ 10.10.2010 - 15:28)
 $target = "img/";
$target = $target .basename( $_FILES['photo']['name']);
$pic=($_FILES['photo']['name']);
$query = "INSERT INTO users(login , password , email, photo)
VALUES ('
$login', '$password', '$email', '$pic')" ;
$result = mysql_query( $query ) or die( mysql_error() ) ;
echo 'Регистрация прошла успешно' ;
}
}

catch ( ExceptReg $e )
{ echo '<font color="red">Ошибка регистрации: ' . $e->getMessage() . '</font>';
}



Так попробуйте
И на img chmod 777 скорее всего надо, если у вас *никс

Спасибо! В базу название картики вносит ))), однако в директорию копию не сохраняет ((( ... и желательно что к имени файла добавлялось всегда номер id-1, чтобы при регистрации картинки с одинковыми названиями не заменились!

Спустя 47 минут, 49 секунд (10.10.2010 - 19:28) Xpund написал(а):
http://phpforum.ru/index.php?showtopic=19168
Вот реши задачку, будет проще, а то ты взял готовый код и пытаешься чёто туда втюхать, не зная "Что?Где?Куда?"

Спустя 8 минут, 42 секунды (10.10.2010 - 19:37) philcrosoft написал(а):
ой я ещё не настолько продвинутый чтобы решать задачки ))) хотя из того, что есть мне бы пригодилось ))) например вывод данных в обратном порядке )

Спустя 1 час, 54 минуты, 53 секунды (10.10.2010 - 21:31) arvitaly написал(а):
Цитата
ой я ещё не настолько продвинутый чтобы решать задачки ))) хотя из того, что есть мне бы пригодилось ))) например вывод данных в обратном порядке )


Задачки обычно решают до написания кода - чтобы узнать все нюансы и писать уже осознанно

Спустя 15 минут, 22 секунды (10.10.2010 - 21:47) philcrosoft написал(а):
Цитата (romchiksoad;1017854)
Я не вижу в коде того, где Вы перемещаете загруженный файл из временной директории в img


как прописать???
так?

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {
echo "Фото загружено!"; }


если да? то куда и как лучше вставить?

Добавлено через 2 часа 40 минут
Решение нашёл )))

$query = "INSERT INTO users(login , password , email , photo)
VALUES ('
$login', '$password', '$email', '$pic')" ;
$result = mysql_query( $query ) or die( mysql_error() ) ;

echo 'Регистрация прошла успешно! ' ;}
}

catch ( ExceptReg $e )
{
echo '<font color="red">Ошибка регистрации: ' . $e->getMessage() . '</font>';
}
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{
echo "Фото загружено!";
}
else { "Фото не загружено!";
}


Остаётся открытым вопрос для меня как присваивать файлу уникальное имя? чтобы в папке куда он сохраняется не совпадали имена )

Спустя 12 часов, 49 минут, 11 секунд (11.10.2010 - 10:36) Xpund написал(а):
Почитайте про rand

Спустя 5 дней, 11 часов, 55 минут, 3 секунды (16.10.2010 - 22:31) philcrosoft написал(а):
дайте пжста ссылочку как в mySQL сохранить дату регистрации, что-т поиском не смог найти ((( ...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.