Strict Standards: Resource ID#29 used as offset, casting to integer (29) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#31 used as offset, casting to integer (31) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#32 used as offset, casting to integer (32) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Вставка записей в БД из формы [2]
ТвойWeb » WebMaster класс » PHP/Perl » Вставка записей в БД из формы

Страниц (2): « 1 [2]
 

11. Lera - 15 Июня, 2007 - 08:02:26 - перейти к сообщению
Furax, спасибо тебе большое! Сейчас попробую.
12. Lera - 19 Июня, 2007 - 07:47:37 - перейти к сообщению
Furax, посмотри, пожалуйста, на мою очередную проблему!

Клиент добавил благополучно (УРА! все работает!!! Улыбка) "товар". Далее, он идет по ссылке, связанной с id каждого товара на страничку для загрузки своих фото мне. Данные о закачке идут в БД. На данном этапе все работает. Мне нужно поставить ограничение - закачка максимум 5 фото для каждого "товара". Не знаю куда и как это прилепить.

Вот скрипт добавления фото и добавления записей в БД одновременно:

CODE:
<?php

if(!isset($_POST['Transfert']))
{
include ("forma_charge.inc");

}
else
{
if($_FILES['pix']['size'] == 0)
{
echo "<font color='#CC0000'><center>Le chargement a &#233;choue. V&#233;rifiez la taille du fichier. Elle doit &#234;tre inf&#233;rieure &#224; 2 Mo.</center></font>";

include("forma_charge.inc");
exit();
}
if(!ereg("image",$_FILES['pix']['type']))
{
echo"<font color='#CC0000'><center>Le fichier envoy&#233; n'est pas une image. Essayez avec un autre fichier ayant une extention en .jpg ou .gif</center></font>";

include("forma_charge.inc");
exit();
}
else
{
$destination='c:\data'."\\".$_FILES['pix']['name'];
$temp_file=$_FILES['pix']['tmp_name'];
move_uploaded_file($temp_file,$destination);
echo"<p aling='center'><font color='#CC0000'>Transfert du fichier r&#233;ussi:</font>
{$_FILES['pix']['name']}
({$_FILES['pix']['size']})</p>";

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$client=$_SESSION['MM_Username'];
$photo=$_FILES['pix']['name'];
$montage=$row_panier['article'];
$insertSQL = sprintf("INSERT INTO bp_photos (client, montage, photo) VALUES (%s, %s, %s)",
GetSQLValueString($client, "text"),
GetSQLValueString($_POST['montage'], "text"),
GetSQLValueString($photo, "text"));

mysql_select_db($database_bp, $bp);
$Result1 = mysql_query($insertSQL, $bp) or die(mysql_error());
}


include("forma_charge.inc");
exit();
}
}
?>
13. Lera - 21 Июня, 2007 - 08:02:09 - перейти к сообщению
Furax, зайди пожалуйста в эту тему! Без тебя ничего не получается! Улыбка
14. Furax - 22 Июня, 2007 - 09:54:40 - перейти к сообщению
Lera, привет!

Экзамен я сдавал... Не до того было... Сейчас попробую вникнуть.

Так, во-первых, хранить файлы под именами, данными пользователем - штука опасная. Может быть, окажется два файла с одинаковыми именами? Или даже будет предпринята попытка взлома через эту лазейку?

Набросаю примерно, хорошо? Если что-то будет непонятно - потом растолкую, а то в 11 вечера после экзамена башка не варит толком... Естесственно, запросы набиваем тщательно.

CODE:
<...>
mysql_select_db($database_bp, $bp);
$result=mysql_query("select id from images where article_id=$article_id") or die('...');
if (mysql_num_rows($result>=5)
{
echo '...';
exit();
}
else
{
добавляем...
}

При добавлении - что-то вроде

$result=mysql_query("insert into images (id, article) values(NULL, $article) or die('...');
$id=mysql_insert_id($result);
$destination='c:\data\$id'.расширение_файла(берётся из $_FILES['pix']['name']);
//Под виндой, что ли?..
//Перемещаем... Радуемся...

(Добавление)
Так, и ещё кое-что. Поздно понял. В эту же таблицу надо будет добавлять и расширение файла, а то как мы иначе сможем получать имена картинок? И можно ещё сделать проверочку, просто на всякий случай: если файл переместить не удалось, добавленную строку из базы убираем. Идентификатор же есть!
15. Lera - 22 Июня, 2007 - 12:43:05 - перейти к сообщению
Furax. спасибо большущее!!! Сейчас буду разбираться. Меня неделю не будет, но я потом тут напишу что у меня получилось.

Как экзамен? Что сдавал? Улыбка
16. Furax - 22 Июня, 2007 - 13:00:15 - перейти к сообщению

Квантовую теорию поля... В понедельник досдам.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0392]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33