Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Админка, проблема входа 
:(
    Опции темы
PARROT
Дата 19.5.2005, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Админка не впускает в панель управления.
Произошло это после добавления куков. Никак не доходит почему.
Код

<?
//куки
if ($auth=="OK") {
    echo "HACKER ???";
    unset($auth);
    exit;
}
$out = mysql_query("SELECT names FROM pass WHERE login='".$HTTP_COOKIE_VARS['login_c']."' and pasw='".md5($HTTP_COOKIE_VARS['password_c'])."'") or die(mysql_error());
if (@mysql_num_rows($out) == 1) {
    $auth="OK";
    $resl_arr=mysql_fetch_row($out);
    $imya=$resl_arr[0];
}
//выход
if ($button=="выйти") {
    setcookie("login_c", $login, time()-1);
    setcookie("password_c", $password, time()-1);
    header("Location: collection_admin.php");
    exit;
}
//вход
if($button=="войти" and $auth!="OK")
{
$login_result = mysql_query("SELECT pasw FROM pass WHERE login='$login'") or die(mysql_error());
if (!mysql_error() && @mysql_num_rows($login_result)==1) 
{
$prl=mysql_fetch_row($login_result);
if ($prl[0]==md5($password)) 
{
setcookie("login_c", $login);
setcookie("password_c", $password);
$auth="OK";
header("Location: collection_admin.php?mode=edit");
exit;
}
}
}
?>
<form method=post>
<table align=right bgcolor=#000000>
<tr><td>login:</td>
<td><input type=text name=login></td>
</tr>
<tr>
<td>password:</td>
<td><input type=password name=password></td>
</tr>
<tr>
<td colspan=2 align=right><input type=submit name=button value=войти>
<input type=submit name=button value=выход></td></tr>
</table>
</form>
?>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Opik
Дата 19.5.2005, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



HTTP_COOKIE_VARS - забудь про это, юзай $_COOKIE
$button?
$login?
$password?
может
$_POST['button']
$_POST['login']
$_POST['password']?
Код
<form method=post>

Ну ведь можно хотя бы так:
Код
<form action="?" method=post>

никак не доходит? в самом начале скрипта напиши
Код

ini_set('display_errors', true);
error_reporting(E_ALL);


Это сообщение отредактировал(а) Opr - 19.5.2005, 12:51
PM MAIL Skype   Вверх
PARROT
Дата 19.5.2005, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



А проблема то, в неправильно составленном алгоритме действий и последовательности!

Глобалка отдыхает!

Хотя все равно пока работает не до конца правильно... smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Opik
Дата 19.5.2005, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



PARROT
а что сложного в алгритме:
( если есть куки)
{
проверяем подходят ли они.
// если да - выводим то что нужно.
}
(если они есть и не подходят || их нет)
{
// выводи форму.
}
далее для других страницу пишем функцию проверки.
проверка()
{
(если куки есть)
{
всё ок
}
else
{
Header("location: login.php");
}
}

PM MAIL Skype   Вверх
PARROT
Дата 19.5.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Да вот, немного разобралась, но нужна проверка!
1) Меня не устраивает, что меню при нажатие на ссылку админки исчезает, хочу чтобы оно всегда было.
2) Не понятно с куками, ставятся они или нет, но удалять не удаляются. Как проверить?
Код

<?
if ($off=="выход") {
    setcookie("login_c", $login, time()-1);
    setcookie("password_c", $password, time()-1);
    unset($auth);//Никак куку не удаляет! Хоть умри.  :stena 
    header("Location: collection_admin.php");
    exit;
}
//нажата кнопа
if($button=="войти" and $auth!="OK")
{
$login_result = mysql_query("SELECT pasw FROM pass WHERE login='$login'") or die(mysql_error());
if (!mysql_error() && @mysql_num_rows($login_result)==1) 
{
$prl=mysql_fetch_row($login_result);
if ($prl[0]==md5($password)) 
{
setcookie("login_c", $login);
setcookie("password_c", $password);
$auth="OK";
}
header("Location: collection_admin.php?auth=OK");
exit;
}
}
if(!isset($HTTP_COOKIE_VARS['login_c']))
{
if ($auth!=="OK")
 {
?>
<form method=post>
<table align=right bgcolor=#000000>
<tr><td>login:</td>
<td><input type=text name=login></td>
</tr>
<tr>
<td>password:</td>
<td><input type=password name=password></td>
</tr>
<tr>
<td align=right colspan=2><input type=submit name=button value=войти></td>
</tr>
</table>
</form>
<?
}
}
if ($auth=="OK")
 {
?>
 <form method=post>
 <input type=submit name=off value=выход>
 </form>
 <?
 echo "<h3>Товары:</h3>
<a href=collection_admin.php?mode=add>Добавить в коллекцию</a><br>
<a href=collection_admin?mode=del>Удалить из коллекции </a><br>
<a href=collection_admin?mode=edit>Редактировать коллецию</a><br>";
}
//удаление 
 if($delit)
{
mysql_query("delete from collection where id_col='$delit'");
                   header('location: collection_admin.php?mode=del');
exit;
}

switch ($mode) {
case 'add': 
{
.....    
}
break;
}
}




?>
</body>
</html>
<?php
ob_end_flush();
?>

Ну вообщем пока так.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Opik
Дата 19.5.2005, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Код

if (!mysql_error()

ошибки у тебя 100% не будет, там ведь стоит or DIE - скрипт к тому времени уже умрет.
ах, да, и с чего ты взяла
Цитата
Глобалка отдыхает!

и как это понимать?
Добавлено @ 16:32
Не проверял, но работать должно:
Код
<?php
  // Функция показа формы
    function showForm()
    {
return <<<EOF
    <form method=post>
<table align=right bgcolor=#000000>
<tr><td>login:</td>
<td><input type=text name=login></td>
</tr>
<tr>
<td>password:</td>
<td><input type=password name=password></td>
</tr>
<tr>
<td colspan=2 align=right><input type=submit name=button value=âîéòè>
<input type=submit name=button value=âûõîä></td></tr>
</table>
</form>
EOF;
    }
    function checkAuth()
    {
        $query = mysql_query("SELECT count(*) AS count
                              FROM pass
                              WHERE login = '".mysql_escape_string($_COOKIE['login_c'])."'
                              AND pass = '".mysql_escape_string($_COOKIE['password_c'])."'") or die(mysql_error());
        $result = mysql_fetch_assoc($query);
        if($result['count'] == 1)
        {
             return true;
        }
        else
        {
             return false;
        }
    }
    if(isset($_POST['button']))
    {
        $query = mysql_query("SELECT count(*) AS count
                              FROM pass
                              WHERE login = '".mysql_escape_string($_POST['login'])."'
                              AND pass = '".md5($_POST['password'])."'") or die(mysql_error());
        $result = mysql_fetch_assoc($query);
        if($result)
        {
           setcookie("login_c", $result['login']);
           setcookie("password_c", md5($result['pass']);
           header("location: ".$_SERVER['PHP_SELF']);
           die();
        }
    }
   // Проверяем, авторизированы ли мы?
    if(!checkAuth())
    {
       // нет!? показываем форму
        showForm();
    }
    else
    {
print <<<EOF
бла блаб бла
EOF;


    }

?>


Это сообщение отредактировал(а) Opr - 19.5.2005, 16:33
PM MAIL Skype   Вверх
PARROT
Дата 19.5.2005, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Глобалка отдыхает, потому как у меня у хостера on!
Понимаю, надо начинать писать по человечески, переучиваться всегда тяжело.
Переписывала сегодня свой вход раз 5 и не один не оказался удачным. Прям растроилась. Устала.
Может начнем писать вместе? Заново? С куками. У меня теперь на них аллергия или дикий страх... smile



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Opik
Дата 19.5.2005, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



PARROT
давай...))) а причем что стоит у хостера? когда ты пишешь $_POST['var'] оно и будет браться из POST, из GET оно не вылезит НИКАК, при всем желании.
PM MAIL Skype   Вверх
PARROT
Дата 4.6.2005, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Ну все, больше не могу, куки проваливаются сквозь землю, после 2 нажатия кнопки обновить регистрационную информацию юзера.
В чем может быть причина?
smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Borland_Delphi_6
Дата 4.6.2005, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: 2
Всего: 20



Цитата
setcookie("password_c", $password, time()-1);


Хм, по-моему это не правильно... Если нужно, чтобы куки сдохли после закрытия браузера, следует указать 0:
setcookie("password_c", $password, 0);


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
PARROT
Дата 4.6.2005, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Все равно теряются куки. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 4.6.2005, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(Borland_Delphi_6 @ 4.6.2005, 17:43)
Хм, по-моему это не правильно... Если нужно, чтобы куки сдохли после закрытия браузера, следует указать 0:
setcookie("password_c", $password, 0);

правильно
PM   Вверх
PARROT
Дата 4.6.2005, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Irokez @ 4.6.2005, 19:24)
Цитата(Borland_Delphi_6 @ 4.6.2005, 17:43)

setcookie("password_c", $password, 0);


Так как правильно? Как у меня time ()-1 или все таки 0?



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 4.6.2005, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(PARROT @ 4.6.2005, 23:12)
Так как правильно? Как у меня time ()-1 или все таки 0?

а нет сорри, неправильно прочитал .. 0 - если сразу после закрытия, time () - 1 - если сразу .. кажется так ...
PM   Вверх
PARROT
Дата 4.6.2005, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Получается, что оба варианта валидны?
Можно и так, и так?
//////////////////////////////////////////////////////
Проблема остается:
Данные в форму выводятся из кук
$do является путеводителем
В данном случае она не срабатывает, потому как я незнаю что в ней передавать!!!, то ли кнопку, то ли какую-то переменную, которая должна придти из адресной строки, как в других вариантах админки.
Код

//обновление регистрационной информации пользователя
if($do=="account") {
if(isset($_POST['upp'])) {
    mysql_query ("UPDATE reg SET name= '$im', phone= '$tel', city='$gorod', mail='$milo', site='$ste', parol=md5('$passw') WHERE   id_r = ".$id_a) or die(mysql_error());        
    }
}
//сама форма
switch ($do)
{
case 'account' :{
?>
<form method=POST>
<table><tr><td>имя</td><td><input type=text name=im maxlength=60 size=48 value='<?=$imya;?>' class=i></td></tr>
<tr><td>телефон</td><td><input type=text  name=tel maxlength=60 size=48 value='<?=$fone;?>' class=i></td></tr>
<tr><td>город</td><td><input type=text  name=gorod maxlength=60 size=48 value='<?=$city;?>' class=i></td></tr>
<tr><td>e-mail:</td><td><input type=text  name=milo maxlength=60 size=48 value='<?=$meil;?>' class=i></td></tr>
<tr><td>site:</td><td><input type=text  name=ste maxlength=60 size=48 value='<?=$st;?>' class=i></td></tr>
<tr><td>пароль</td><td><input type=text  maxlength=60 size=48 name=passw class=i></td></tr>
<tr><td colspan=2 align=center><input type=submit name=upp value="изменить" class=inp>
</table>
</form>
<?
}
break;
}
}


smile smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Opik
Дата 4.6.2005, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Код

<form method=POST>
action где?
Цитата
Хм, по-моему это не правильно... Если нужно, чтобы куки сдохли после закрытия браузера, следует указать 0:
setcookie("password_c", $password, 0);

ошибаешься, оба варианты правильны, верней с минусовым значением даже лучше. Хотя зависит от задачи. Если они ставились надолго и надо выйти из аккаунта, например, то надо юзать минусовое значение.
Добавлено @ 23:57
http://ee.php.net/setcookie
Пример 2. setcookie() delete example

Код

<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>  
 

PM MAIL Skype   Вверх
Irokez
Дата 4.6.2005, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(PARROT @ 4.6.2005, 23:52)
потому как я незнаю что в ней передавать!!!,

сначала надо определиться - для чего передавать
PM   Вверх
PARROT
Дата 5.6.2005, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Opr @ 5.6.2005, 00:56)
action где?

Не спасает!
Добавлено @ 00:07
Просто сверху стоит условие:
Код

if($do=="") {
            header('location: index.php?page=about');
exit;
}
//только вот для чего эта проверка, я не помню



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Opik
Дата 5.6.2005, 07:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



PARROT
причем тут не спасает? это обязательный аттрибут.
Цитата
только вот для чего эта проверка, я не помню

если не знаешь - убери.
PM MAIL Skype   Вверх
PARROT
Дата 5.6.2005, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Эх... и все равно, есть еще одна мысль, как избавиться от этой проблемы, но путь слишком длинный и неизвестно, сработает ли это.
Код

if($do=="upp") {// href=?do=upp
// upp ссылкa

// upp может быть кнопкой, а не ссылкой?
if($do==($_POST['upp'])) {
//или оставить $do в этом случае в покое?
//если просто проверять на кнопку

smile
Жду мыслей. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Borland_Delphi_6
Дата 5.6.2005, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


LoneLINEss
****


Профиль
Группа: Участник Клуба
Сообщений: 2509
Регистрация: 5.11.2002
Где: in fortune dreams ...

Репутация: 2
Всего: 20



PARROT

1. Я когда теститл твой вариант - ничего не работало. Со своим тоже. Оказалось - файрволл. Выключи все нафиг и попробуй, мой должен сохранять куки. твой вариант только создает куки и они тут же дохнут.
Добавлено @ 14:16
Хотя могу ошибаться... я в php не профи smile


--------------------
Blind Guardian Fan :: BMSTU Student :: A polar bear is a rectangular bear after a coordinate transform.

Мои фотографии
PM MAIL WWW   Вверх
PARROT
Дата 5.6.2005, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Borland_Delphi_6 @ 5.6.2005, 15:15)
Оказалось - файрволл. твой вариант только создает куки и они тут же дохнут.

Дело не в этом, совсем. Не фаерволе.
Куки ставятся на логин и пароль, если пароль поменять, то куки могут исчезнуть?
//////////////////////////////////////////////////////////////////////////////////////////////////////////
Так вот, как я и догадывалась, при изменении пароля пользователем, его куки подыхали.
Потому как ставились куки пользователю, на логин и пароль.
Соответственно, если пароль меняется, то куки просто нужно перезаписать и все.
Работает! smile

Это сообщение отредактировал(а) PARROT - 5.6.2005, 19:08


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
PARROT
Дата 1.7.2005, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



$idn - номер объявления
$id_r - номер регистрированного пользователя
поля в базе для добавленных пользователем фотографий:
img, img_b
фотки грузятся в папку foto
Код

//Удаление объявления
if($do=="delete") {
        mysql_query("delete from notice where id_notice=$idn and id_r=$id_a and img=foto/$idn_s.jpg and img_b=foto/$idn_b");
        header('location: index.php?page=control&do=notice');
        exit;
}

Вопрос:
Будут ли удаляться так фотки вместе с объявлениями пользователя?
Сама не пробовала. Страшно... Это только мои мысли. Просьба исправить, если что не так.
И еще:
А если фотки у объявления нет, то ведь будет ошибка?
Тогда нужно проверять наличие фотки, если есть, добавлять условие к удаляемому объявлению.
smile



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Opik
Дата 2.7.2005, 02:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Цитата
А если фотки у объявления нет, то ведь будет ошибка?

нет
Код

img=foto/$idn_s.jpg 

в скобки брать нужно.
PM MAIL Skype   Вверх
PARROT
Дата 2.7.2005, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

 mysql_query("delete from notice where id_notice=$idn and id_r=$id_a and img=(foto/".$idn."_s.jpg) and img_b=(foto/".$idn."_b.jpg)") or die(mysql_error()); 

Пишет ошибку:
Unknown column 'foto' in 'where clause'

Я так понимаю, что ему не нравится название какталога, в котором лежат фотки закаченные пользователем. А как без каталога? В колонках базы фотки записаны как foto/97_s.jpg foto/97_b.jpg
Тогда как их удалять оттуда? Что не правильно пишу?

Так ошибок нет, но объява не удаляется и фотки тоже:
Код

 mysql_query("delete from notice where id_notice=$idn and id_r=$id_a and img='(foto/".$idn."_s.jpg)' and img_b='(foto/".$idn."_b.jpg)'") or die(mysql_error());


Это сообщение отредактировал(а) PARROT - 2.7.2005, 13:54


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 2.7.2005, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



mysql_query("delete from notice where id_notice=$idn and id_r=$id_a and img='foto/".$idn."_s.jpg' and img_b='foto/".$idn."_b.jpg'") or die(mysql_error());
PM ICQ   Вверх
PARROT
Дата 2.7.2005, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Mal Hack, СПАСИБО! Спаситель мой smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 2.7.2005, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(PARROT @ 2.7.2005, 16:53)
Спаситель

smile
PM ICQ   Вверх
PARROT
Дата 3.7.2005, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Выводится и редактируется правильно.
Нужно чтобы после удаления фотографии от объявления, пользователь попадал на ту же страницу редактирования объявления, соответственно уже без фотки.
Код

$result=mysql_query("SELECT id_notice,caption,txt,img,img_b FROM notice WHERE id_notice=$idn and id_r=".$id_a);
while ($mas=mysql_fetch_row($result)) {
      $mas[2]=strip_tags($mas[2]);
       if ($mas[3]=="")  echo "Нет фото"; else $img = "<img src=\"$mas[3]\" border=1 align=absmiddle >";
<form>
........
<?
// удаляем фото
if(isset($_POST['pul'])) {//жмем кнопку
        unlink($mas[3]);
        unlink($mas[4]);
       mysql_query ("UPDATE notice SET `img`='', `img_b`='' WHERE  id_notice=$idn and id_r=".$id_a);//обновление в базе происходит нормально
         header('location: index.php?page=control&do=edit&idn=$idn');// а вот этот header отвечает за переход юзера 
//обратно к объяве, но уже без фотки!
        exit;
}
if($img) {//если фотка есть, выводим
?>
<tr>
<td style=padding-left:20>Загруженное фото:</td>
<td align=right><?=$img;?>&nbsp;<Input Type=submit name=pul Value=удалить class=inp style=width:100; style=cursor:hand></td>
</tr>
<?
}
else {
if(!$img) {// новое фото, грузим
?>
<tr>
<td align=center>новое фото:</td>
<td align=center><input type=file name=image class=inp  style=cursor:hand></td>
</tr>
<?
}
}
?>
?>

При нажатии кнопки удалить фото, выдается такая ошибка:
Код

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in z:\home\avtodiesel\www\pages\control.php on line 156

Если напечатать эту строку, то получается что пропадает $idn:
Код

SELECT id_notice,caption,txt,img,img_b FROM notice WHERE id_notice=$idn and id_r=1

Обновив страницу, печатаем еще раз, $idn находится:
Код

SELECT id_notice,caption,txt,img,img_b FROM notice WHERE id_notice=104 and id_r=1

В чем может быть проблема? Понимаю что в header, но исправить сама не могу. Не понимаю. Помогите! Че ему не хватает? smile



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
PARROT
Дата 3.7.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Заработало!!!!!!!!!!!! Ура!!!!!!!!!!!! Спасибо!


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0790 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.