[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Пошаговая регистрация
Bossmen
Делаю регистрацию..это ее шага посмотрите норм или переделывать.))
А сам рег код норм проверили))

<?php
$error = array();

//Загрузка изображения
if(!empty($_POST['avatar']) )
{
if(!preg_match('/[.](jpg|gif|png)$/i',$_FILES['filename']['name']))
$error[] = "Вы можете загрузить сюда только фотографию расширения JPG, PNG или GIF.";

if(empty($error))
{
if(copy($_FILES['filename']['tmp_name'],
"avatar/".$_FILES['filename']['name']))
{
$avatar = $_FILES['filename']['name'];

$id = $_COOKIE['id'];
$query_avatar = "UPDATE users SET avatar = '$avatar' WHERE id='$id'";

if($result_avatar = mysql_query($query_avatar)) {header("Location: registration.php?step=2");}
exit;
}
}
}

//Конец

//Загрузка информаций

if(!empty($_POST['information']) )
{
if($_POST['year'] == "non" and $_POST['month'] == "non" and $_POST['day'] == "non") {$error[] = "Пожалуйсто, укажите свою дату рождения."; }
if(empty($_POST['сity'])) {$error[] = "Пожалуйсто, укажите город."; }

$_POST['biography'] == htmlspecialchars($_POST['biography'], ENT_QUOTES);
if(empty($_POST['biography'])) {$_POST['biography'] == "";}


if(empty($error))
{
$_POST['сity'] = strtolower($_POST['сity']);
$_POST['сity'] = ucfirst($_POST['сity']);
extract ($_POST);
$birthday = $_POST['day'].".".$_POST['month'].".".$_POST['year'];

$query_information = "UPDATE users SET birthday = '$birthday', biography = '$biography', country = '$country', сity = '$сity' WHERE id='1'";

if(mysql_query($query_information)) {header("Location: registration.php?step=3");}

}

}


//Вывод ошибок
if(!empty($error))
{
foreach($error as $err)
{
echo "<span style=\"color:red\">$err</span><br>";
}
}

?>





<?php

if($_GET['step'] == 1)
{
?>
<table border="0">
<
tr>
<
td width="169" height="247" valign="top">
<?php
$id = $_COOKIE['id'];
$query_users = "SELECT * FROM users WHERE id='$id'";
$result_users = mysql_query($query_users);
$array_users = mysql_fetch_assoc($result_users);

if(empty($array_users['avatar']))
{
echo "<img src='../avatar/non_foto.jpg'>";
}
else
{
echo "<img src='../avatar/".$array_users['avatar']."'>";
}
?>

</td>
<
td width="293" valign="top">

<
form method="post" enctype="multipart/form-data">
<
input type="file" name="filename"><br>
<
input name="avatar" type="submit" value="Загрузить">
</
form>

</
td>
</
tr>
</
table>
<
a href="registration.php?step=2">Пропустить</a>
<?php

}
?>

<?php

if($_GET['step'] == 2)
{
?>
<form method="post" name="information">
<
table>
<
tr>
<
td>Страна:</td>
</
tr>
<
tr>
<
td>
<
select name="country">
<
option value="january">Россия</option>
<
option value="february">Украина</option>
<
option value="march">Грузия</option>
</
select>
</
td>
</
tr>

<
tr>
<
td>Город:</td>
</
tr>
<
tr>
<
td><input type='text' name='сity' value="<?php echo htmlspecialchars($_POST['сity'], ENT_QUOTES); ?>"></td>
</
tr>

<
tr>
<
td>Дата рождения:</td>
</
tr>
<
tr>
<
td><select name="day">
<
option value="non">-День-</option>
<?php
for($i = 1; $i <= 31; $i++)
{
echo "<option>{$i}</option>";
}
?>
</select>

<
select name="month">
<
option value="non">-Месяц-</option>
<
option value="01">Января</option>
<
option value="02">Февраля</option>
<
option value="03">Марта</option>
<
option value="04">Апреля</option>
<
option value="05">Мая</option>
<
option value="06">Июня</option>
<
option value="07">Июля</option>
<
option value="08">Августа</option>
<
option value="09">Сентября</option>
<
option value="10">Октября</option>
<
option value="11">Ноября</option>
<
option value="12">Декабря</option>
</
select>

<
select name="year">
<
option value="non">-Год-</option>
<?php
for($i = date('Y'); $i >= 1933; $i--)
{
echo "<option>{$i}</option>";
}
?>
</select>
</
td>
</
tr>

<
tr>
<
td>О себе:</td>
</
tr>
<
tr>
<
td><textarea name="biography" cols="40" rows="5"><?php echo htmlspecialchars($_POST['name'], ENT_QUOTES); ?></textarea></td>
</
tr>

</
table>
<
input name="information" type="submit" value="Сохранить">
</
form>
<
br>
<
a href="registration.php?step=1">Назад</a> <a href="registration.php?step=3">Пропустить</a>
<?php
}
?>




Спустя 4 часа, 8 минут, 48 секунд (25.12.2010 - 11:57) PiratXXX написал(а):
Bossmen

Загрузка Аватара, хиленькая какая-то!)
Это что получается можно загружать картинки любого разрешения и любого размера?

И уменьшать аватарки, надобно, а то весь дизайн сайта испоганит какая-то картинко 1200х1600(или что-то типа того), а если потом отображать будешь аву, и надеюсь предусмотриши <img src> поставить нужную тебе ширину и длины, то ава будет скрюченная!)

А привьюшки авок, ну т.д. и т.п.

Вот посмотри, у ирбиса (така там загрузка), а если будут вопросы по уменьшению обращайся...

http://irbis-team.com/15/13/2

Спустя 43 минуты, 50 секунд (25.12.2010 - 12:40) Bossmen написал(а):
так я еще не до делал))

Спустя 4 часа, 5 минут, 51 секунда (25.12.2010 - 16:46) inpost написал(а):
Bossmen
а зачем нам тогда показываешь сырой продукт?

Спустя 19 минут, 7 секунд (25.12.2010 - 17:05) Bossmen написал(а):
Так может плохо начал.. и переделывать надо будет))

Спустя 6 минут, 14 секунд (25.12.2010 - 17:12) inpost написал(а):
Видишь эти строчки:
<td width="169" height="247" valign="top">    
<?php
$id = $_COOKIE['id'];
$query_users = "SELECT * FROM users WHERE id='$id'";


Уже ошибки: обрамления в запросах, обращение к БД во время вывода на экран данных. Отсутствует закрытие соединения. А должно быть закрытие соединения с БД и только потом <html>

Насчет обрамления запросов - ко мне в подпись.

Спустя 34 минуты, 46 секунд (25.12.2010 - 17:46) Ser18 написал(а):
inpost

Например

<div>Шапка</div>
<
div>
<?php
$res = mysql_query("SELECT * FROM tabl");
while($row = mysql_fetch_assoc($res)){
echo "<div>".$row['spisok']."</div>";
}
?>
</div>
<
div>Подвал</div>


Напишите пожалуйста на этом примере как правильно(я по поводу: обращение к БД во время вывода на экран данных)

И чем плохо когда не закрыто соединение с БД?

Спустя 3 минуты, 8 секунд (25.12.2010 - 17:50) inpost написал(а):
Ser18
http://inpost.dp.ua/lessons/lessons.php?id=5 правило №4
http://inpost.dp.ua/lessons/lessons.php?id=1 - там идёт речь про одинарные кавычки для echo.

Спустя 23 минуты, 46 секунд (25.12.2010 - 18:13) Bossmen написал(а):
получается обращение к базе делать по верх html

Спустя 3 минуты, 50 секунд (25.12.2010 - 18:17) Bossmen написал(а):

<?php
$query_users = "SELECT * FROM users WHERE id='$id'";

?>
html
head
body
$result_avatar = mysql_query($query_avatar)

А так можно))

Спустя 1 минута, 22 секунды (25.12.2010 - 18:19) inpost написал(а):
Bossmen
если без перебора, зачем его вниз бросать?
В нижней части только: echo $result_avatar['id'] и т.д.

Спустя 3 минуты, 12 секунд (25.12.2010 - 18:22) m4a1fox написал(а):
Bossmen
Я конечно извиняюсь, но чем обращение к БД поверх HTML не нравится?

Спустя 52 секунды (25.12.2010 - 18:23) Bossmen написал(а):
Я так понят запрос делать по верх html

Спустя 1 минута, 27 секунд (25.12.2010 - 18:24) m4a1fox написал(а):
Ес, офф корс.

Спустя 1 минута, 32 секунды (25.12.2010 - 18:26) m4a1fox написал(а):
inpost
Я че то не то ляпнул?

Спустя 13 секунд (25.12.2010 - 18:26) inpost написал(а):
m4a1fox
из-за оптимизации. Из-за того, что надо вручную закрывать, из-за того, что приходится использовать редирект в случае неудачного обращения, из-за правильного построения MVC и ядра сайта. Об этом и многом другом Вы можете почитать в различных справочниках и источниках, один из них irbis-team.com

Спустя 2 минуты, 30 секунд (25.12.2010 - 18:28) inpost написал(а):
Так же по MVC лучше разделять программинг и верстку. Верстальщику достаточно получить лишь переменную, содержащую данные, все остальное ему не надо. Поэтому после <html> идёт именно часть верстальщика. Ещё можно if-else ему знать и всё =)
А настоящие "рррр" так вообще раскизывают эти части по разным файлам, чтобы программист с верстальщиком не путались. Каждый занимался своим участком.

Спустя 5 минут, 40 секунд (25.12.2010 - 18:34) m4a1fox написал(а):
inpost
Ну дык... А я за что... Вверху - php - внизу - html.

Спустя 15 минут, 55 секунд (25.12.2010 - 18:50) Ser18 написал(а):
inpost

Спасибо почитал, но я про другое спрашивал

по поводу запроса в к БД в html коде понял

А вот чем плохо если нет закрытия соединения с БД?

Спустя 7 минут, 38 секунд (25.12.2010 - 18:58) m4a1fox написал(а):
Ser18
Ну так ведь же соединение с БД в другом файле, ты его includ'ишь
<?php
include './config.php';
?>

Спустя 17 минут, 16 секунд (25.12.2010 - 19:15) inpost написал(а):
Ser18
Когда закрывается соединение с БД, и закрывается ли оно вообще? Найди ответ в гугле и сюда. Это тебе Домашнее задание. Или сам догадаешься, или разъясню

Спустя 39 минут, 41 секунда (25.12.2010 - 19:54) Ser18 написал(а):
Я думал оно закрывается само после выполнения скрипта

И у меня вопрос. Я использую mysql_connect() для соединения с БД и у меня нет ни одного закрытия соединения с БД, а закрывать много надо

Что если просто mysql_connect() заменить на mysql_pconnect()?

Спустя 37 минут, 10 секунд (25.12.2010 - 20:32) inpost написал(а):
Ser18
"Я думал оно закрывается само после выполнения скрипта" - слова верны, твоё понимание - нет. Поищи про это больше в гугле.
Как думаешь, пол скрипта работает с БД, а пол - нет. Зачем вторую часть работы скрипта держать открытым соединение, если оно по смыслу больше не нужно?
Быстрый ответ:

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