X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите с update
Виталий2012
Виталий2012
Topic Starter сообщение 10.3.2012, 22:08; Ответить: Виталий2012
Сообщение #1


Форумчане,помогите разобраться,никак у меня не получается отредактировать данные.
Не пойму, что не так. Объясните, пожалуйста, вот на этом примере.
Огромное спасибо.

$name=($_POST['name']);
$update=($_POST['update']);
$id=($_POST['id']);
if(@$update){
$sql="UPDATE msgs SET name='$name' WHERE id=$id";}
mysql_query($sql) or die (mysql_error());

$sql="SELECT name,id from msgs";
$res=mysql_query($sql);
while($row=mysql_fetch_assoc($res)){
?>
<form action="u.php?id=<?=$row['id']?>" method="post">
<input type="text" name="name" value="<?=$row['name']?>">
<input name="update" type="submit" value="сохранить" />
</form>
<?
}

?>
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 10.3.2012, 23:10; Ответить: matroskin8
Сообщение #2


Ну так Вы бы и описали подробнее в чем проблема и что не так происходит. На первый взгляд проблемы такие:
1. Хотя для формы и указан метод передачи данных POST, но переменной id в массиве POST Вы не найдете. Постом передаются данные из формы (поля, области и т.д.). Здесь же переменная передается параметром через адресную строку:
<form action="u.php?id=<?=$row['id']?>" method="post">

Соответственно, получать эту переменную необходимо из массива GET... вот так:
$id = (int)GET['id'];

2. Вот это вот:
@$update

тоже безобразие :) это еще мягко сказано.
3. Не проблема, но все же... зачем заключать в скобки переменные?
В общем, где-то так должно выглядеть все:
<?php
if($_POST['update']){
    $name = mysql_real_escape_string($_POST['name']);
    $id = (int)$_GET['id'];
    $sql = "UPDATE msgs SET name='$name' WHERE id=$id";}
    mysql_query($sql) or die (mysql_error());
    $sql = "SELECT name,id from msgs";
    $res = mysql_query($sql);
    while($row = mysql_fetch_assoc($res)){
?>
        <form action="u.php?id=<?=$row['id']?>" method="post">
            <input type="text" name="name" value="<?=$row['name']?>">
            <input name="update" type="submit" value="сохранить" />
        </form>
    <?php
    }
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 11.3.2012, 9:10; Ответить: yury_mw
Сообщение #3


<form action="u.php?id=<?=$row['id']?>" method="post">

в этом месте вообще что-то странное: какой-то винигрет из php-шных инструкций и параметров адресной строки, но на самом деле ни то ни другое.
Скорее всего, надо как-то так

<form action="u.php?id=<?php echo $row['id']; ?>" method="post">


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 725 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Помогите рещить проблему с монитором.
Почему низкое разрешение при подключении монитора через displayport?
0 Levels 1702 11.12.2020, 0:48
автор: Levels
Открытая тема (нет новых ответов) Помогите кто нибудь получить партнерку Росбанк!
7 heisenberg_mw 2340 7.8.2020, 9:28
автор: heisenberg_mw
Открытая тема (нет новых ответов) Помогите найти тему пожалуйста
7 virtas 12480 24.7.2020, 17:02
автор: -JamesSmips-
Открытая тема (нет новых ответов) Помогите с поиском доноров
3 tehno_music 3353 4.11.2019, 17:15
автор: goblin78


 



RSS Текстовая версия Сейчас: 19.4.2024, 19:20
Дизайн