За последние 24 часа нас посетили 19357 программистов и 1607 роботов. Сейчас ищут 943 программиста ...

Еще одна проблемка с UPDATE

Тема в разделе "PHP и базы данных", создана пользователем pifagor87, 21 апр 2011.

  1. pifagor87

    pifagor87 Активный пользователь

    С нами с:
    21 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    Излагаю:
    есть 1 файл который выводит форму для оновления бд:
    <?php
    require_once("../class.verx.php");
    $defVerx=new verx();
    $defVerx->start();
    if (isset($_GET['id'])) {$id=$_GET['id'];}
    ?>
    <?
    include ("bd.php");
    ?>
    <link href="../style.css" rel="stylesheet" type="text/css">

    <table width="1000" border="0" align="center" class="main_border">
    <tr align="center">
    <td><img src="../img/12.png" width="900" height="100"></td>
    </tr>
    <tr>
    <td><table width="1000" border="0">
    <tr>
    <td width="260" valign="top" class="left"><p align="center" class="title">Розділи</p>
    <div id="coolmenu">
    <a href="index.php">Головна</a>
    <a href="kor.php">Користувачі</a>
    <a href="reestr.php">Додати користувача</a>
    <a href="redag.php">Редагування користувачів</a>
    <a href="drop.php">Видалення користувачів</a>
    </div>
    <td valign="middle" >
    <?
    if (!isset($id))

    {
    $result = mysql_query ("SELECT * FROM korus");
    $myrow = mysql_fetch_array($result);
    do
    {
    printf ("<p><a href='redag.php?id=%s'>%s &nbsp; %s &nbsp; %s &nbsp; %s &nbsp; %s &nbsp; %s &nbsp; %s </a></p>", $myrow["id"],
    $myrow["login"], $myrow["password"], $myrow["surname"],
    $myrow["name"], $myrow["patronymic"], $myrow["data"], $myrow["stat"]);
    }
    while ($myrow = mysql_fetch_array($result));

    }

    else

    {
    $result = mysql_query ("SELECT id, login, password, surname, name, patronymic, data, stat FROM korus WHERE id=$id ");
    $myrow = mysql_fetch_array($result);

    print <<<HERE
    <form name="form1" method="GET" action="save_redag.php >
    <p>
    <label for="login">Введіть логін</label>
    <br>
    <input value="$myrow[login]" type="text" name="login" id="login">
    </p>
    <p>
    <label for="password">Введіть пароль</label>
    <br>
    <input value="$myrow[password]" type="text" name="password" id="password">
    </p>
    <p>
    <label for="surname">Введіть прізвище</label>
    <br>
    <input value="$myrow[surname]" type="text" name="surname" id="surname">
    </p>
    <p>
    <label for="name">Введіть імя</label>
    <br>
    <input value="$myrow[name]" type="text" name="name" id="name">
    </p>
    <p>
    <label for="patronymic">Введіть по батькові</label>
    <br>
    <input value="$myrow[patronymic]" type="text" name="patronymic" id="patronymic">
    </p>
    <p>
    <label for="data">Введіть дату народження в форматі:<br>
    </label>
    <input value="$myrow[data]" name="data" type="text" id="data" value="1998-06-02">
    </p>
    <p>
    <label for="stat">Стать</label>
    <br>
    <select name="stat" id="stat">
    <option selected>Ч</option>
    <option>Ж</option>
    $myrow[stat]</select>
    </p>

    <input name="id" type="hidden" value="$myrow[id]">
    <p>
    <input type="submit" name="submit" id="submit" value="Зберегти зміни">
    </p>
    </form>
    HERE;
    }
    ?>


    </td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td><img src="../img/footer.jpg" width="1000" height="18"></td>
    </tr>
    </table>
    <?php
    $defVerx->finish();
    ?>

    И второй для обработки:

    <?
    include("bd.php");
    if (isset($_POST['id'])) {$id=$_POST['id'];}
    if (isset($_POST['login'])){$login =$_POST['login']; if ($login == '') {unset($login);} }
    if (isset($_POST['password'])){$password=$_POST['password']; if ($password == '') {unset($password);}}
    if (isset($_POST['surname'])){$surname=$_POST['surname']; if ($surname == '') {unset($surname);}}
    if (isset($_POST['name'])){$name=$_POST['name']; if ($name == '') {unset($name);}}
    if (isset($_POST['patronymic'])){$patronymic=$_POST['patronymic']; if ($patronymic == '') {unset($patronymic);}}
    if (isset($_POST['data'])){$data=$_POST['data']; if ($data == '') {unset($data);}}
    if (isset($_POST['stat'])){$stat=$_POST['stat']; if ($stat == '') {unset($stat);}}
    if (isset($_POST['id'])){$id=$_POST['id'];}
    ?>

    <table width="1000" border="0" align="center" class="main_border">
    <tr align="center">
    <td><img src="img/12.png" width="900" height="100"></td>
    </tr>
    <tr>
    <td><table width="1000" border="0">
    <tr>
    <td width="260" valign="top" class="left"><p align="center" class="title">Розділи</p>
    <div id="coolmenu">
    <a href="index.php">Головна</a>
    </div>
    <td valign="middle" >

    <?

    if(isset($login) && isset($password) &&isset($surname) &&isset($name) &&isset($patronymic) &&isset($data) &&isset($stat))
    {
    $result= mysql_query("UPDATE korus SET login='$login', password='$password', surname='$surname', name='$name',
    patronymic='$patronymic', data='$data', stat='$stat' WHERE id='$id'");
    if ($result=='true'){echo"<p>Дані редаговано</p>";}

    else {echo "<p>Відредагуйте ще раз</p>";}
    }
    else
    {
    echo "<p>Заповніть, будь ласка, всі поля</p>";
    }
    ?>

    </td>
    </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td><img src="img/footer.jpg" width="1000" height="18"></td>
    </tr>
    </table>

    При запускеформу виводит, при попытке оновить бд (тоесть обращение ко 2 файлу) виводит:

    Forbidden
    You don't have permission to access /phpsite/Admin/save_redag.php >

    Подсказка Денвера
    Возможные причины ошибки:

    * Вы пытаетесь запустить CGI-скрипт, расположив его вне CGI-директории (например, в директории документов сервера www). Корректные пути к CGI-директориям следующие:


    Оч нужна помощ!
     
  2. denisKa

    denisKa Активный пользователь

    С нами с:
    4 сен 2007
    Сообщения:
    46
    Симпатии:
    0
    Доброго времени суток!

    Ясно говорит, что доступ к файлу `/phpsite/Admin/save_redag.php` запрещён. Скорее всего в папке `/phpsite/Admin/` находится файл `.htaccess` в котором указан запрет на доступ к файлам, либо же в аналогичном файле верхних директорий в таком же `.htaccess` указан запрет на доступ к папке `path/Admin/`
     
  3. pifagor87

    pifagor87 Активный пользователь

    С нами с:
    21 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    как именно исправить, напишыте поетапно!
     
  4. Radiocity

    Radiocity Активный пользователь

    С нами с:
    24 апр 2011
    Сообщения:
    5
    Симпатии:
    0
    Поправь файл .htacсess.

    Матчасть: http://www.wmaster.ru/htaccess/

    Могу предположить, что создается файл /phpsite/Admin/.htaccess, если его не существует и в него дописывается:
    Код (Text):
    1.  
    2. <Files save_redag.php>
    3. order allow,deny
    4. allow from all
    5. </Files>
     
  5. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Radiocity
    в качестве аватарки разрешены только личные фото
     
  6. pifagor87

    pifagor87 Активный пользователь

    С нами с:
    21 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    Radiocity

    где именно находиться етот файл?
    в папке с сайтом его нету.
    при том что добавление и удаление пользователя происходить успешно, а вот оновление не хочет работать.
    обясните чайнику, где и как исправить, сервер ставил из денвера!
     
  7. Radiocity

    Radiocity Активный пользователь

    С нами с:
    24 апр 2011
    Сообщения:
    5
    Симпатии:
    0