ФорумСообщество/dev/null → Много вопросов по работе с БД

Много вопросов по работе с БД

  • localhost74

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 11:46


    2)
    Исходник:


    <body bgcolor=#ccffcc text="black" link="black" alink="black" vlink="black">
    <?php
    Error_Reporting(E_ALL & ~E_NOTICE);
    include "../inc/connect.php";
    $id = $_REQUEST['id'];
    $author = $_REQUEST['author'];
    $name = $_REQUEST['name'];
    $news = $_REQUEST['news'];
    if($news!="")
    {
    $query = "UPDATE news SET news='$news' WHERE id=$id";
    $result = mysql_query ($query);
    }

    $query = "SELECT * FROM news";
    $result = mysql_query($query);
    echo "<FORM action=edit.php method=GET>";
    while ( $res = mysql_fetch_array($result) )
    {
    echo "<b>ID:</b><a href=edit.php?id=".$res['id'].">".$res['id']."</a>;  ";
    echo "<br>";
    }
    if($id>0)
    {
    $query = "SELECT * FROM news WHERE id=$id";
    $result = mysql_query($query);
    @$res = mysql_fetch_array($result);
    Echo "<p><b>Автор:</b></p>";
    echo "<textarea name=author rows=2 cols=60>";
    echo $res['author'];
    echo "</textarea>"."<BR>";
    Echo "<p><b>Название проекта:</b></p>";
    echo "<textarea name=name rows=2 cols=60>";
    echo $res['name'];
    echo "</textarea>"."<BR>";
    Echo "<p><b>О проекте:</b></p>";
    echo "<textarea name=news rows=5 cols=60>";
    echo $res['news'];
    echo "</textarea>"."<BR>";
    echo "<input type=hidden name=id, author, name, news value='$id','$author','$name','$news'>";
    echo "<input type=submit>";
    }
    ?>

    Непонятно, то, что обновление таблиц не проходит т.е. ошибок не выводит, но не обновляет:\

    3)
    Исходник:


    <?php include("../config.php");
    if (!isset($HTTP_POST_VARS['password']))
    {
    ?>
    Введите свои данные
    <form method="post" action="psswd.php">
    <table border="1">

    <tr>
    <th>Пароль</th>
    <td><input type = "password" name = "password"></td>
    </tr>
    <tr>
    <td>
    <input type="submit" value="Войти">
    </td>
    </tr>
    </table>
    </form>
    <?php
    Error_Reporting(0);
    }
    else
    {
    $mysql =@mysql_connect('localhost', 'voevodin', 'voevodin');
    if(!$mysql)
    {
    echo 'Ошибка';
    exit;
    }
    $mysql=@mysql_select_db('voevodin');
    if(!$mysql)
    {
    echo 'Ошибка';
    }
    $query="select count(*) from auth where
    pass = '$password'";
    $result =@mysql_query($query);
    if(!$result)
    {
    echo 'Невозможно выполнить запрос';
    exit;
    }
    $count =@mysql_result($result,0,0);
    if ($count > 0)
    {
    echo "<script>window.location = 'main.php'</script>";
    }
    else
    {
    echo "Неверные данные";
    }
    }
    ?>


    Никак не проходит авторизация. И правельные и нет значения показывают как не правильные и в итоге не возможно авторизироваться
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 9 ноября 2008 г. 14:24, спустя 2 часа 38 минут 19 секунд

    localhost74, ты считаешь что тут у каждого в голове встроенный транслятор PHP?
    Тебе знакомо такое понятие как отладка?
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 14:31, спустя 6 минут 41 секунду

    1.
    <form  method=post enctype=multipart/form-data>

    Кавычки почему не используем? Где action?

    Сделай print_r($_FILES);
    Включи вывод ошибок.
    Вместо copy(); советую использовать move_uploaded_file();

    2.
    <input type=hidden name=id, author, name, news value='$id','$author','$name','$news'>

    Кавычки! И вообще, используй отдельный <input type="hidden" /> на каждое значение.
    $query = "UPDATE news SET news='$news' WHERE id=$id";

    Почитай о sql-injection.
  • localhost74

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 15:30, спустя 59 минут 18 секунд

    2 Sap, насчет input type, я сделал вот такой вот вариант:
    	echo "<input type=hidden name='id'value='$id'>";
    echo "<input type='hidden' name='author'value='$author'>";
    echo "<input type='hidden' name='name'value='$name'>";
    echo "<input type='hidden' name='news' value='$news'>";
    echo "<input type=submit>";

    Но проблема не решилась:(
    PS: При использовании " ошибка - unexpected T_STRING, expecting ',' or ';'
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 9 ноября 2008 г. 15:55, спустя 24 минуты 29 секунд

    http://phpfaq.ru/debug
    все умрут, а я изумруд
  • localhost74

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 16:12, спустя 16 минут 43 секунды

    2 md5,
    После вставки тех двух строчек вывелись следующие ошибки:

    Notice: Undefined index: id in T:\home\localhost\voevodin\admin\edit.php on line 6

    Notice: Undefined index: author in T:\home\localhost\voevodin\admin\edit.php on line 7

    Notice: Undefined index: name in T:\home\localhost\voevodin\admin\edit.php on line 8

    Notice: Undefined index: news in T:\home\localhost\voevodin\admin\edit.php on line 9
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 9 ноября 2008 г. 16:52, спустя 40 минут 42 секунды

  • localhost74

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 16:56, спустя 4 минуты 9 секунд

    2 Timur, А как задать массив?

    Notice: Undefined index: [ключ элемента] in …
    В массиве нет элемента с указанным ключом.
  • Sephiroth_Lukaw

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 17:05, спустя 8 минут 38 секунд

    $_REQUEST['id'] и т.д. - пустые они у вас.
  • localhost74

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 17:07, спустя 2 минуты 1 секунду

    2 Sephiroth_Lukaw, дык все заполнено. Для подтверждения выложу нынешние исходники:

    <body bgcolor=#ccffcc text="black" link="black" alink="black" vlink="black">
    <?php
    ini_set('display_errors',1);
    Error_Reporting(E_ALL);
    include "../inc/connect.php";
    $id = $_REQUEST['id'];
    $author = $_REQUEST['author'];
    $name = $_REQUEST['name'];
    $news = $_REQUEST['news'];
    if($news!="")
    {
    $query = "UPDATE news SET news='$news' WHERE id=$id";
    $result = mysql_query ($query);
    }

    $query = "SELECT * FROM news";
    $result = mysql_query($query);
    echo "<FORM action=edit.php method=GET>";
    while ( $res = mysql_fetch_array($result) )
    {
    echo "<b>ID:</b><a href=edit.php?id=".$res['id'].">".$res['id']."</a>; ";
    echo "<br>";
    }
    if($id>0)
    {
    $query = "SELECT * FROM news WHERE id=$id";
    $result = mysql_query($query);
    @$res = mysql_fetch_array($result);
    Echo "<p><b>Автор:</b></p>";
    echo "<textarea name=author rows=2 cols=60>";
    echo $res['author'];
    echo "</textarea>"."<BR>";
    Echo "<p><b>Название проекта:</b></p>";
    echo "<textarea name=name rows=2 cols=60>";
    echo $res['name'];
    echo "</textarea>"."<BR>";
    Echo "<p><b>О проекте:</b></p>";
    echo "<textarea name=news rows=5 cols=60>";
    echo $res['news'];
    echo "</textarea>"."<BR>";
    echo "<input type=hidden name=id value='$id' />
    <input type='hidden' name='author' value= '$author' />
    <input type='hidden' name='name' value='$name' />
    <input type='hidden' name='news' value='$news' />";
    echo "<input type=submit>";
    }
    ?>

  • localhost74

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 17:12, спустя 5 минут 4 секунды

    Вот mySQL запрос для этого скрипта:
    CREATE TABLE `news` (
    `id` int(11) unsigned NOT NULL auto_increment,
    `news` text,
    `author` text,
    `name` text,
    `date` text,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=23 ;
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 9 ноября 2008 г. 17:42, спустя 29 минут 53 секунды

    дык все заполнено


    значит не заполнено. Сделай [tt]print_r($_REQUEST)[/tt]

    echo "</textarea>"."<BR>";

    круто

  • localhost74

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 17:44, спустя 2 минуты 9 секунд

    2 Timur,

    Array(['id'] => 22)
  • Sephiroth_Lukaw

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 18:54, спустя 1 час 9 минут 23 секунды


    if(isset($_REQUEST['id']) && isset($_REQUEST['author']) && isset($_REQUEST['name']) && isset($_REQUEST['news'])) {
    $id = $_REQUEST['id'];
    $author = $_REQUEST['author'];
    $name = $_REQUEST['name'];
    $news = $_REQUEST['news'];
    } else {
    print "Вы не заполнили все поля";
    exit();
    }

    Или так
    $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : '';

    if (!isset($HTTP_POST_VARS['password']))
    я уже и забыл, что этот массив существует..http://php.ru/manual/language.variables.predefined.html
  • localhost74

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 9 ноября 2008 г. 19:43, спустя 49 минут 36 секунд

    2 Sephiroth_Lukaw,
    В итоге получился вот такой вот код:

    <body bgcolor=#ccffcc text="black" link="black" alink="black" vlink="black">
    <?php
    Error_Reporting(E_ALL);
    include "../inc/connect.php";
    if(isset($_REQUEST['id']) && isset($_REQUEST['author']) && isset ($_REQUEST['name']) && isset ($_REQUEST['news'])) {
    $id = $_REQUEST['id'];
    $author = $_REQUEST['author'];
    $name = $_REQUEST['name'];
    $news = $_REQUEST['news'];
    } else
    print "Не все поля заполненны";
    exit();

    if($news!="")
    {
    $query = "UPDATE news SET news='$news' WHERE id=$id";
    $result = mysql_query ($query);
    }

    $query = "SELECT * FROM news";
    $result = mysql_query($query);
    echo "<FORM action=edit2.php method=GET>";
    while ( $res = mysql_fetch_array($result) )
    {
    echo "<b>ID:</b><a href=edit2.php?id=".$res['id'].">".$res['id']."</a>; ";
    echo "<br>";
    }
    if($id>0)
    {
    $query = "SELECT * FROM news WHERE id=$id";
    $result = mysql_query($query);
    @$res = mysql_fetch_array($result);
    Echo "<p><b>Автор:</b></p>";
    echo "<textarea name=author rows=2 cols=60>";
    echo $res['author'];
    echo "</textarea>"."<BR>";
    Echo "<p><b>Название проекта:</b></p>";
    echo "<textarea name=name rows=2 cols=60>";
    echo $res['name'];
    echo "</textarea>"."<BR>";
    Echo "<p><b>О проекте:</b></p>";
    echo "<textarea name=news rows=5 cols=60>";
    echo $res['news'];
    echo "</textarea>"."<BR>";
    echo "<input type=hidden name=id value='$id' />
    <input type='hidden' name='author' value= '$author' />
    <input type='hidden' name='name' value='$name' />
    <input type='hidden' name='news' value='$news' />";
    echo "<input type=submit>";
    }
    ?>


    Суть в том, что пишет "Не все поля заполненны". Не пойму вообще сути ошибки,все же заполненно:((( Помогите нубу разобраться :(

Пожалуйста, авторизуйтесь, чтобы написать комментарий!