ФорумПрограммированиеPHP для идиотов → Редактирование сообщения

Редактирование сообщения

  • code9

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

    Spritz 19 июля 2009 г. 13:00, спустя 35 секунд

    Вот ломаю голову над этим. Сам процесс более менее мне понятен

    echo &#39;<textarea cols=&quot;25&quot; rows=&quot;3&quot; name=&quot;msg&quot;>&#39;$msg</textarea><br>&#39;;
    echo &#39;<br><input type=&quot;submit&quot; value=&quot;Изменить&quot;>


    вот допустим в этой форме редактируется сообщение которое я хочу отредактировать, это сообщение $msg.Что произходит после нажатия на изменить, тоже понятно.
    &quot;UPDATE guestposts SET msg=&#39;&quot;.$msg.&quot;&#39;&quot;
    что то типа этого… Но вот что совершенно не понятно:(.КАК ВЫБИРАЕТСЯ ПЕРЕМЕННАЯ $msg, то есть как выбрать тот пост который я хочу отредактировать?? вот у админа на всем известных форумах бывает кнопка редактировать рядом с постом. Как такое осуществить? Может кто объяснит мне это в теории((
  • Timur

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

    Spritz 19 июля 2009 г. 12:59, спустя 23 часа 59 минут 25 секунд

    В форму редактирования добавь скрытое поле, в котором укажи ID изменяемого сообщения (у тебя же в таблице guestposts есть первичный ключ?). Соответственно, в SQL-запрос будет примерно таким:
    &quot;UPDATE guestposts SET msg=&#39;$msg&#39; WHERE id=$id&quot;
  • code9

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

    Spritz 19 июля 2009 г. 13:06, спустя 6 минут 13 секунд

    Так выбираю я допустим сообщение по его id, и как это осуществить:( как ссылку &#39;изменить&#39; создать? как она будет выглядить…
  • Timur

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

    Spritz 19 июля 2009 г. 13:09, спустя 3 минуты 32 секунды

    примерно так: edit.php?post_id=123
  • code9

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

    Spritz 19 июля 2009 г. 13:15, спустя 5 минут 26 секунд

    а вместо 123 переменная $id?
  • Givi

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 19 июля 2009 г. 13:21, спустя 6 минут 43 секунды

    именно так. Но в целом мог бы сначала и попробовать сам )
  • code9

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

    Spritz 19 июля 2009 г. 13:58, спустя 36 минут 52 секунды

    Ну я хотел сначала в теории понять,я ведь не знал как ссылка будет выглядеть).Как я понял,когда учишь php все нужно самому понимать) в учебниках такого нет
  • Givi

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 19 июля 2009 г. 14:17, спустя 19 минут 18 секунд

    code9, как раз таки это есть во всех учебниках, даже в говенных. Просто ты не внимателен… если вообще читал их.
  • Troy

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

    Spritz 19 июля 2009 г. 22:22, спустя 8 часов 4 минуты 10 секунд

    Ты в первом говнокоде ошибки допустил надо так

    echo &#39;<textarea cols=&quot;25&quot; rows=&quot;3&quot; name=&quot;msg&quot;>&#39;. $msg .&#39;</textarea><br>&#39;;
    echo &#39;<br><input type=&quot;submit&quot; value=&quot;Изменить&quot;>&#39;;
  • code9

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

    Spritz 20 июля 2009 г. 6:24, спустя 8 часов 2 минуты 16 секунд


    Ты в первом говнокоде ошибки допустил надо так

    echo &#39;<textarea cols=&quot;25&quot; rows=&quot;3&quot; name=&quot;msg&quot;>&#39;. $msg .&#39;</textarea>
    &#39;;
    echo &#39;
    <input type=&quot;submit&quot; value=&quot;Изменить&quot;>&#39;;


    Да я уже на зло тебе стану отличным пыхарем))чем не мотивация {+++341+++} Вот к примеру у меня есть форма в файле install.php

    echo &#39;<form action=&quot;install.php&quot; method=&quot;POST&quot;>
    <input name=&quot;login&quot; type=&quot;text&quot;><br>
    <input name=&quot;password&quot; typy=&quot;password&quot;><br>
    <input name=&quot;password2&quot; type=&quot;password&quot;><br>
    <input name=&quot;submit&quot; type=&quot;submit&quot; value=&quot;Установить&quot;>
    </form>&#39;;
    она находится в папке test1.ru/admin. У нее action на саму себя.Но вот если я захочу чтобы данные обработал скрипт который в корне (test1.ru/cheta.php), как указать action? То есть путь.
  • smackthat

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 20 июля 2009 г. 6:32, спустя 7 минут 45 секунд

    то надо в action прописать cheta.php, если я правильно вопрос понял {+++78+++} а вроде понял, надо написать ../cheta.php
    2 точки это подняться на уровень выше в дереве каталогов
  • code9

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

    Spritz 20 июля 2009 г. 7:06, спустя 34 минуты 53 секунды


    примерно так: edit.php?post_id=123


    А post_id это что?


    $query = &quot;SELECT *
               FROM `posts`
               ORDER BY `id` DESC
               LIMIT {$start}, {$nums}&quot;;

    $sql = mysql_query($query) or die(mysql_error());

    while ($row = mysql_fetch_assoc($sql)) {
       // здесь выводим наши записи из базы
    $str=$row[&quot;text&quot;];
       $mod_str = wordwrap($str,20,&quot;\t&quot;);
       $id=$row[&quot;id&quot;];
       if($lvl==1) { echo &#39;<a href=&quot;edit.php?post_id=$id&quot;>редактировать</a><br>&#39;;}


    Так верно? {+++122+++}

    то надо в action прописать cheta.php, если я правильно вопрос понял {+++78+++} а вроде понял, надо написать ../cheta.php
    2 точки это подняться на уровень выше в дереве каталогов


    а почему тогда такая ссылка не прокатывает &lt;a href=&quot;../index.php&quot;>INDEX&lt;/a> ? {+++1586+++} И как на странице edit.php мне это сообшение взять?
  • Timur

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

    Spritz 20 июля 2009 г. 8:00, спустя 53 минуты 15 секунд

    Так верно?

    йес ить изь

    И как на странице edit.php мне это сообшение взять?

    - ссылка edit.php?id=123 (или 456 или 789, $id короче)
    - переходим по ней - в $_GET[&#39;id&#39;] - у нас 123 (или 456 или 789 или …)
    - достаем из нужную запись из базы по этому ID (SELECT … WHERE id=$id)
    - выводим её в форме (в той которая &lt;form>…)
    - в этой же форме вставляем скрытое поле &quot;id&quot;, куда записываем (&#39;&lt;input type=&quot;hidden&quot; value=&quot;&#39; . $id . &#39;&quot; />&quot;)
    - отправляем форму и у нас в $_POST есть изменная запись и тот самый id (который 123, или 456, ну ты понял я думаю)

  • code9

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

    Spritz 20 июля 2009 г. 8:58, спустя 58 минут 6 секунд

    Ну почему не работает((

    <?

    include(&quot;connect.php&quot;);


    $query=mysql_query(&quot;SELECT text, id FROM posts WHERE id=&#39;&quot;.$_GET[&quot;post_id&quot;].&quot;&#39;&quot;);

    $data=mysql_fetch_array($query);



    echo &#39;<form action=&quot;edit.php&quot; method=&quot;POST&quot;>
    <textarea name=&quot;text&quot;>&#39;.$data[&quot;text&quot;].&#39;</textarea><br>
    <input type=&quot;hidden&quot; value=&quot;&#39;.$_GET[&quot;post_id&quot;].&#39;&quot;/>
    <input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Редактировать&quot;></form>&#39;;

    $text=$_POST[&quot;text&quot;];

    mysql_query(&quot;UPDATE potst SET text=&#39;&quot;.$text.&quot;&#39; WHERE id=&#39;&quot;.$_GET[&quot;post_id&quot;].&quot;&#39;&quot;);



    ?>
    {+++79+++} не обновляет сообщение
  • Givi

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 20 июля 2009 г. 9:00, спустя 2 минуты 34 секунды

    code9, …mysql_query(&quot;UPDATE potst… - ищи ошибку

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