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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> $_GET - скрипт работает, только после нажатия F5 
:(
    Опции темы
Enya
Дата 10.11.2006, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот. Вывела из БД табличку данных. Сделала, рядом ссылку удалить. Передаю по URL-у действие и id 
Ошибок не вылетает.
Делает перенаправление. Но показывает, что запись наместе. НО после нажатия на F5 запись исчезает.
Не понимаю.
Код

<?php
        $action = (isset($_GET['action'])) ? $_GET['action'] : '';
        
        $id=isset($_GET['id']);
        
        $db_host = 'localhost';
        $db_db = 'test';
        $db_user = 'ng';
        $db_password = 'ng';
        
        $db_link=mysql_connect($db_host,$db_user,$db_password) OR DIE("Не могу создать соединение ");
    
        mysql_select_db($db_db) or die(mysql_error());
        
            echo '<h3>Main</h3>';
            
                        $sql    = 'SELECT * FROM `objects` ORDER BY `id` ASC';
                        $result = mysql_query($sql) or die("SQL Select Error");
                        
                        while ($obj = mysql_fetch_object($result)) {
                            ?>
                            <table width="500" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#FFFFE0">
                            <tr>
                                <td align="center" width="25" style="border: 1px solid Black;"><?=$obj->id?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj01?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj02?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj03?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><a href="">Edit</a></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><a href="control_up.php?action=delete&id=<?=$obj->id?>">Delete</a></td>
                            </tr>
                            </table>
                         <?php
                        }
            
        if($action=='delete'){
                
                // update data in mysql database
                $id=$_GET['id'];
                $sql="DELETE FROM `objects` WHERE id='$id'";
                $result=mysql_query($sql,$db_link);
                
                // if successfully updated.
                if($result){
                    header('location: control_up.php');
                }else{
                    echo "ERROR";
                }

            }

?>


Добавлено @ 16:41 
вот тут есть 5 записей.del Me


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Burrr
Дата 10.11.2006, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А ты сначала удаляй, а потом таблицу печатай ;)
Уверен, что так будет всё в порядке:
Код

        $action = (isset($_GET['action'])) ? $_GET['action'] : '';
        
        $id=isset($_GET['id']);
        

        if($action=='delete'){
                
                // update data in mysql database
                $id=$_GET['id'];
                $sql="DELETE FROM `objects` WHERE id='$id'";
                $result=mysql_query($sql,$db_link);
                
                // if successfully updated.
                if($result){
                    header('location: control_up.php');
                }else{
                    echo "ERROR";
                }

            }


        $db_host = 'localhost';
        $db_db = 'test';
        $db_user = 'ng';
        $db_password = 'ng';
        
        $db_link=mysql_connect($db_host,$db_user,$db_password) OR DIE("Не могу создать соединение ");
    
        mysql_select_db($db_db) or die(mysql_error());
        
            echo '<h3>Main</h3>';
            
                        $sql    = 'SELECT * FROM `objects` ORDER BY `id` ASC';
                        $result = mysql_query($sql) or die("SQL Select Error");
                        
                        while ($obj = mysql_fetch_object($result)) {
                            ?>
                            <table width="500" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#FFFFE0">
                            <tr>
                                <td align="center" width="25" style="border: 1px solid Black;"><?=$obj->id?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj01?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj02?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj03?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><a href="">Edit</a></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><a href="control_up.php?action=delete&id=<?=$obj->id?>">Delete</a></td>
                            </tr>
                            </table>
                         <?php
                        }



Это сообщение отредактировал(а) Burrr - 10.11.2006, 16:45


--------------------
PM MAIL ICQ   Вверх
Enya
Дата 10.11.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Burrr, вообще ничего не удаляется, теперь. smile 


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Burrr
Дата 10.11.2006, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да, скрипт я неправильно написал, удаление до связи с MySQL-сервером это голимо, но логику я тебе верно сказал.

Добавлено @ 17:02 
Вот:
Код

 $action = (isset($_GET['action'])) ? $_GET['action'] : '';
        
        $id=isset($_GET['id']);
        

        

        $db_host = 'localhost';
        $db_db = 'test';
        $db_user = 'ng';
        $db_password = 'ng';
        
        $db_link=mysql_connect($db_host,$db_user,$db_password) OR DIE("Не могу создать соединение ");
    
        mysql_select_db($db_db) or die(mysql_error());

if($action=='delete'){
                
                // update data in mysql database
                $id=$_GET['id'];
                $sql="DELETE FROM `objects` WHERE id='$id'";
                $result=mysql_query($sql,$db_link);
                
                // if successfully updated.
                if($result){
                    header('location: control_up.php');
                }else{
                    echo "ERROR";
                }

            }

        
            echo '<h3>Main</h3>';
            
                        $sql    = 'SELECT * FROM `objects` ORDER BY `id` ASC';
                        $result = mysql_query($sql) or die("SQL Select Error");
                        
                        while ($obj = mysql_fetch_object($result)) {
                            ?>
                            <table width="500" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#FFFFE0">
                            <tr>
                                <td align="center" width="25" style="border: 1px solid Black;"><?=$obj->id?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj01?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj02?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj03?></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><a href="">Edit</a></td>
                                <td align="center" width="100" style="border: 1px solid Black;"><a href="control_up.php?action=delete&id=<?=$obj->id?>">Delete</a></td>
                            </tr>
                            </table>
                         <?php
                        }



--------------------
PM MAIL ICQ   Вверх
Enya
Дата 13.11.2006, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Burrr, всё равно не хочет нормально работать. Удалять - удаляется, но получается кликаю по ссылке, как бы запрос на удаление пошёл, а таблица осталась в прежнем виде, жму перезагрузить - запись изчезает.
Код

<?php
        $action = (isset($_GET['action'])) ? $_GET['action'] : '';
        $id=isset($_GET['id']);
        
        $db_host = 'localhost';
        $db_db = 'test';
        $db_user = 'ng';
        $db_password = 'ng';
        
        mysql_connect($db_host,$db_user,$db_password) OR DIE("Не могу создать соединение ");
    
        mysql_select_db($db_db) or die(mysql_error());
        
        if($action=='delete'){
                
                // update data in mysql database
                $id=$_GET['id'];
                $sql="DELETE FROM `objects` WHERE id='$id'";
                $result=mysql_query($sql);
                header('location: control_up.php');
                
                
            }
            echo '<h3>Main</h3>';
            
                $sql    = 'SELECT * FROM `objects` ORDER BY `id` ASC';
                $result = mysql_query($sql) or die("SQL Select Error");
                
                while ($obj = mysql_fetch_object($result)) {
                    ?>
                    <table width="500" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#FFFFE0">
                    <tr>
                        <td align="center" width="25" style="border: 1px solid Black;"><?=$obj->id?></td>
                        <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj01?></td>
                        <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj02?></td>
                        <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj03?></td>
                        <td align="center" width="100" style="border: 1px solid Black;"><a href="">Edit</a></td>
                        <td align="center" width="100" style="border: 1px solid Black;"><a href="control_up.php?action=delete&id=<?=$obj->id?>">Delete</a></td>
                    </tr>
                    </table>
                    <?php
                }

?>



--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 13.11.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 32
Всего: 69



А если так:
Код

<?php
        $action = (isset($_GET['action'])) ? $_GET['action'] : '';
        $id = intval($_GET['id']);
        
        $db_host = 'localhost';
        $db_db = 'test';
        $db_user = 'ng';
        $db_password = 'ng';
        
        mysql_connect($db_host,$db_user,$db_password) OR DIE("Не могу создать соединение ");
    
        mysql_select_db($db_db) or die(mysql_error());
        
        if($action == 'delete') {
            // update data in mysql database            
            $sql = 'DELETE FROM `objects` WHERE id = '.$id;
            mysql_query($sql);
        }
        echo '<h3>Main</h3>';
            
        $sql    = 'SELECT * FROM `objects` ORDER BY `id` ASC';
        $result = mysql_query($sql) or die("SQL Select Error");
                
        while ($obj = mysql_fetch_object($result)) {
            ?>
            <table width="500" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#FFFFE0">
            <tr>
                <td align="center" width="25" style="border: 1px solid Black;"><?=$obj->id?></td>
                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj01?></td>
                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj02?></td>
                <td align="center" width="100" style="border: 1px solid Black;"><?=$obj->obj03?></td>
                <td align="center" width="100" style="border: 1px solid Black;"><a href="">Edit</a></td>
                <td align="center" width="100" style="border: 1px solid Black;"><a href="control_up.php?action=delete&id=<?=$obj->id?>">Delete</a></td>
            </tr>
            </table>
        <?php
        }
        ?>



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Enya
Дата 13.11.2006, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



-=Ustas=-, вы заменили isset(); на intval();
И в чём же прелесть этой функции?
Вот только выдаёт вот такое сообщение
Цитата

Notice: Undefined index: id in /home/ng/public_html/123/control_up.php on line 3



--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 13.11.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 32
Всего: 69



Цитата(Enya @  13.11.2006,  12:42 Найти цитируемый пост)

Notice: Undefined index: id in /home/ng/public_html/123/control_up.php on line 3


Ну правильно, если ид не определен, тогда
Код

 $id = (isset($_GET['id'])) ? intval($_GET['id']) : FALSE;



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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