11. Lera - 15 Июня, 2007 - 08:02:26 - перейти к сообщению
Furax, спасибо тебе большое! Сейчас попробую.
12. Lera - 19 Июня, 2007 - 07:47:37 - перейти к сообщению
Furax, посмотри, пожалуйста, на мою очередную проблему!
Клиент добавил благополучно (УРА! все работает!!! ) "товар". Далее, он идет по ссылке, связанной с id каждого товара на страничку для загрузки своих фото мне. Данные о закачке идут в БД. На данном этапе все работает. Мне нужно поставить ограничение - закачка максимум 5 фото для каждого "товара". Не знаю куда и как это прилепить.
Вот скрипт добавления фото и добавления записей в БД одновременно:
Клиент добавил благополучно (УРА! все работает!!! ) "товар". Далее, он идет по ссылке, связанной с 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 échoue. Vérifiez la taille du fichier. Elle doit être inférieure à 2 Mo.</center></font>";
include("forma_charge.inc");
exit();
}
if(!ereg("image",$_FILES['pix']['type']))
{
echo"<font color='#CC0000'><center>Le fichier envoyé 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é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();
}
}
?>
if(!isset($_POST['Transfert']))
{
include ("forma_charge.inc");
}
else
{
if($_FILES['pix']['size'] == 0)
{
echo "<font color='#CC0000'><center>Le chargement a échoue. Vérifiez la taille du fichier. Elle doit être inférieure à 2 Mo.</center></font>";
include("forma_charge.inc");
exit();
}
if(!ereg("image",$_FILES['pix']['type']))
{
echo"<font color='#CC0000'><center>Le fichier envoyé 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é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 вечера после экзамена башка не варит толком... Естесственно, запросы набиваем тщательно.
(Добавление)
Так, и ещё кое-что. Поздно понял. В эту же таблицу надо будет добавлять и расширение файла, а то как мы иначе сможем получать имена картинок? И можно ещё сделать проверочку, просто на всякий случай: если файл переместить не удалось, добавленную строку из базы убираем. Идентификатор же есть!
Экзамен я сдавал... Не до того было... Сейчас попробую вникнуть.
Так, во-первых, хранить файлы под именами, данными пользователем - штука опасная. Может быть, окажется два файла с одинаковыми именами? Или даже будет предпринята попытка взлома через эту лазейку?
Набросаю примерно, хорошо? Если что-то будет непонятно - потом растолкую, а то в 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']);
//Под виндой, что ли?..
//Перемещаем... Радуемся...
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 - перейти к сообщению
Квантовую теорию поля... В понедельник досдам.