|
|
|
| все, не надо! Большое вам спасибо! Не знаю как вас отблагодарить!!! Теперь еще одна проблемка, буду очень рад ее решению!!
Получается суть скрипта - оставляет комментарий, название сайта, которые вы тоже сами вводите и изображение, которое вместе с этим выволится. Проблема в том, что если 1 раз это ввести, то при следующем обновлении оно снова добавляется. | |
|
|
|
|
|
|
|
для: Belkin
(14.06.2011 в 21:15)
| | Может стоит сначала проверять нет ли такого сайта в таблице, и если есть то не добавлять новую запись, а обновлять существующую? | |
|
|
|
|
|
|
|
для: cheops
(14.06.2011 в 21:39)
| | возможно, вы можете пожалуйста написать, как это осуществить) простите, если в чем-то не прав, только начал php изучать.. | |
|
|
|
|
|
|
|
для: Belkin
(14.06.2011 в 21:42)
| | Для того, чтобы узнать есть ли такая запись в базе данных, потребуется выполнить запрос
"SELECT COUNT(*) FROM t WHERE site = '".str_sql($_POST['site'])."'"
| он вернет 1 если сайт существует или 0, если такого сайта нет, если получен 0, используете INSERT-запрос из вашего скрипта, если получена 1, то следует выполнить UPDATE-запрос
UPDATE t
SET koment = '".str_sql($_POST['koment'])."', foto = '".$foto."'
WHERE site = '".str_sql($_POST['site'])."'"
|
| |
|
|
|
|
|
|
|
для: cheops
(14.06.2011 в 22:09)
| | знаю, что глупо, но куда именно это вставить/заменить?) | |
|
|
|
|
|
|
|
для: Belkin
(14.06.2011 в 22:19)
| | Вот этот фрагмент
<?php
...
// Типа все впорядке , но для совершенство еще нго чего поправде надо )
$sql="
INSERT INTO t (site,koment,foto) value ('".str_sql($_POST['site'])."','".str_sql($_POST['koment'])."','".$foto."')
";
mysql_query($sql);
echo 'Ваш комент добавлен';
...
?>
| следует заменить примерно следующим фрагментом
<?php
...
$sql = "SELECT COUNT(*) FROM t WHERE site = '".str_sql($_POST['site'])."'";
$tot = mysql_query($tot);
if(!$tot) exit("Ошибка выполнения SQL-запроса - ".mysql_error());
if(mysql_result($tot, 0))
{
// Запись уже присутствует
$sql = "UPDATE t
SET koment = '".str_sql($_POST['koment'])."',
foto = '".$foto."'
WHERE site = '".str_sql($_POST['site'])."'";
}
else
{
// Записи еще нет
$sql = "INSERT INTO t (site,koment,foto)
value ('".str_sql($_POST['site'])."',
'".str_sql($_POST['koment'])."',
'".$foto."')";
}
// Выполняем запрос
if(!mysql_query($sql))
{
exit("Ошибка выполнения SQL-запроса - ".mysql_error());
}
else
{
echo 'Ваш комент добавлен';
}
...
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.06.2011 в 22:25)
| | Ошибка выполнения SQL-запроса - Query was empty | |
|
|
|
|
|
|
|
для: Belkin
(14.06.2011 в 22:28)
| | Есть такое дело, вместо $tot нужно написать $sql в первом mysql_query()
<?php
...
$sql = "SELECT COUNT(*) FROM t WHERE site = '".str_sql($_POST['site'])."'";
$tot = mysql_query($sql);
if(!$tot) exit("Ошибка выполнения SQL-запроса - ".mysql_error());
if(mysql_result($tot, 0))
{
// Запись уже присутствует
$sql = "UPDATE t
SET koment = '".str_sql($_POST['koment'])."',
foto = '".$foto."'
WHERE site = '".str_sql($_POST['site'])."'";
}
else
{
// Записи еще нет
$sql = "INSERT INTO t (site,koment,foto)
value ('".str_sql($_POST['site'])."',
'".str_sql($_POST['koment'])."',
'".$foto."')";
}
// Выполняем запрос
if(!mysql_query($sql))
{
exit("Ошибка выполнения SQL-запроса - ".mysql_error());
}
else
{
echo 'Ваш комент добавлен';
}
...
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.06.2011 в 22:29)
| | супер, большое спасибо!!)
еще одна проблема выявилась) и я от тебя отстану))
кажется проблема тут
<?php ...
// заказчиваем фото если есть
// тут тупо , если совпадет с зказченом файлом можно просот null сравнивать
if(isset($foto))
{
$uploadfile = 'img/'.$_FILES['foto']['name'];
$res=move_uploaded_file($_FILES['foto']['tmp_name'], $uploadfile) or die('Не удалось сохранить файл');
...
?>
|
вообщем - когда я загружаю имейдж, то выводит эту ошибку "'Не удалось сохранить файл"
и кидайте свой кошелек) я знаю, как я вам надоел) надо заплатить будет за такой труд для меня!!) | |
|
|
|
|
|
|
|
для: Belkin
(14.06.2011 в 22:37)
| | всего одну проблему осталось решить.. | |
|
|
|
|
|
|
|
для: Belkin
(14.06.2011 в 22:37)
| | >вообщем - когда я загружаю имейдж, то выводит эту ошибку "'Не удалось сохранить файл"
Дело на хостинге происходит? Какие права доступа выставлены на папку img? Попробуйте поставить 0777.
>и кидайте свой кошелек) я знаю, как я вам надоел) надо заплатить будет за такой труд для меня!!)
Кошелек вы без труда найдете в нашем консультационном центре. Но обычно там принимаются благотворительные взносы или плата за частные консультации, т.е. когда речь идет о сложном приложении или подробном изложении вопроса на нескольких страницах. Вопросы, на которые можно быстро ответить, вполне можно решить в рамках форума - на нашем форуме вопросы только приветствуются :))) Только под новые вопросы лучше заводить новые темы - потом на них ссылаться проще, да и ответов так можно больше получить. | |
|
|
|
|
|
|
|
для: cheops
(14.06.2011 в 23:55)
| | )))
так как я только недавно начал пхп изучать, для меня и это пока что немного великоват вопрос :) та ставил уже и на скрипт и на папку права 777
да, хостинг
ну пока что) над моим маленьким гемороем паритесь только вы :) | |
|
|
|
|
|
|
|
для: Belkin
(15.06.2011 в 00:03)
| | может попробовать создать ккакуй-то альтернативу этой загрузке? | |
|
|
|
|
|
|
|
для: Belkin
(15.06.2011 в 00:03)
| | А скрипт относительно папки img где расположен? | |
|
|
|
|
|
|
|
для: Belkin
(15.06.2011 в 00:03)
| | Проверьте при помощи функции is_uploaded_file() успешно ли загружен файл на хостинг? | |
|
|
|
|
|
|
|
для: cheops
(15.06.2011 в 00:16)
| | если я правильно вставил, то вот
Possible file upload attack: filename ...
<?php
...
// заказчиваем фото если есть
// тут тупо , если совпадет с зказченом файлом можно просот null сравнивать
if(isset($foto))
{
$uploadfile = 'img/'.$_FILES['foto']['name'];
if (is_uploaded_file($_FILES['foto']['name'])) {
echo "File ". $_FILES['foto']['name'] ." uploaded successfully.\n";
echo "Displaying contents\n";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "Possible file upload attack: ";
echo "filename '". $_FILES['foto']['name'] . "'.";
}
$res=move_uploaded_file($_FILES['foto']['tmp_name'], $uploadfile) or die('Не удалось сохранить файл');
}
...
?>
|
| |
|
|
|
|
|
|
|
для: Belkin
(15.06.2011 в 00:21)
| | Подставьте в is_upload_file() $_FILES['foto']['tmp_name'], вместо $_FILES['foto']['name'], что выводится? | |
|
|
|
|
|
|
|
для: cheops
(15.06.2011 в 00:44)
| | File /usr/home/it-host/data/mod-tmp/phpF7aNng uploaded successfully. Displaying contents Не удалось сохранить файл | |
|
|
|
|
|
|
|
для: Belkin
(15.06.2011 в 00:57)
| | ну и что это может быть?) | |
|
|
|
|
|
|
|
для: Belkin
(15.06.2011 в 01:28)
| | все разобрался) глупая проблема была)) но все же - огромное спасибо Симдянову Игорю Вячеславовичу!
а проблема была в том, что каталог надо было создать не в папке со скриптом, а прям за доменом)
ps
хотел бы как у профессионала спросить - какую более менее читабельную литературу по пхп предложите, только желательно читабельную :) большое спасибо за внимание, действительно на форуме можно достать оперативный ответ! Еще раз спасибо!!!
Если будут вопрос, то сразу к вам буду бежать :) | |
|
|
|
|
|
|
|
для: Belkin
(15.06.2011 в 01:51)
| | >какую более менее читабельную литературу по пхп предложите
Можно начать с наших книг
Самоучитель PHP 5 / 6
PHP 5/6. В подлиннике | |
|
|
|