За последние 24 часа нас посетили 20909 программистов и 1136 роботов. Сейчас ищут 905 программистов ...

Скипт срабатывает сразу

Тема в разделе "PHP и базы данных", создана пользователем Miracleon, 17 май 2020.

  1. Miracleon

    Miracleon Новичок

    С нами с:
    9 мар 2020
    Сообщения:
    25
    Симпатии:
    0
    Нужно обновить данные, из-за того что в полях присутствуют предыдущие значения скрипт срабатывает без нажатия кнопки как исправить?
    PHP:
    1. if (isset($_POST['submit']))
     
  2. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Miracleon, для начала необходимо добиться того, что бы другие люди тебя понимали. Ничего сложного в этом нет, просто бери книгу и читай базовую теорию языка.
    Когда я вижу неоднозначный вопрос новичка я задаю наводящие вопросы для того что бы дать максимально правильный ответ. В твоём случае даже вопросов подходящих на ум не приходит (и нет желания их выдумывать).
     
  3. Miracleon

    Miracleon Новичок

    С нами с:
    9 мар 2020
    Сообщения:
    25
    Симпатии:
    0
    Есть пост перехожу на страницу редактирования и скрипт сразу выполняется т. е. я ничего не изменил,а меня сразу перебрасывает обратно
    PHP:
    1. <?php
    2.  
    3. if (isset($_GET['post_id'])) {
    4.     $post_id=$_GET['post_id'];
    5.     $select_post="select * from post where post_id='$post_id'";
    6.     $run=mysqli_query($con,$select_post);
    7.     while ($row=mysqli_fetch_array($run)) {
    8.         $post_id=$row['post_id'];
    9.         $category_id=$row['category_id'];
    10.         $post_title=$row['post_title'];
    11.         $post_keywords=$row['post_keywords'];
    12.         $post_image=$row['post_image'];
    13.         $post_content=$row['post_content'];
    14.     }
    15. }
    16. ?>
    17.  
    18. <form method="post" action="" enctype="multipart/form-data">
    19.     <center><table width="400">
    20.         <tr>
    21.             <td><h2>Редактировать пост</h2></td>
    22.         </tr>
    23.  
    24.     </select>
    25.     </td>
    26.     </tr>
    27.  
    28. <tr>
    29.  
    30. <td>
    31.     <h4>Заголовок</h4>
    32.     <input type="text" name="post_title" value="<?php echo $post_title;?>"></td>
    33. </tr>
    34.  
    35. <td>
    36.  
    37. <tr>
    38.  
    39. <td>
    40.     <h4>keywords</h4>
    41.     <input type="text" name="post_keywords" value="<?php echo $post_keywords;?>"></td>
    42. </tr>
    43.    
    44. <tr>
    45.  
    46. <td>
    47.     <h4>картинка</h4>
    48.     <input type="file" name="post_image"><img src="news_images/<?php echo $post_image;?>" width="300" height="300"></td>
    49. </tr>  
    50.  
    51. <tr>
    52. <td>
    53.     <h4>контент</h4>
    54.     <textarea name="post_content"><?php echo $post_content;?></textarea>
    55.     <input type="submit" name="submit" value="Сохранить"></td>
    56. </tr>  
    57.  
    58.     </table></center>
    59. </form>
    60. </div>
    61.  
    62.  
    63. </div>
    64.  
    65. </body>
    66. </html>
    67.  
    68. <?php
    69. if (isset($_POST['submit']))
    70.  
    71.     {
    72.         $post_title=$_POST['post_title'];
    73.         $cat=$_POST['cat'];
    74.         $post_keywords=$_POST['post_keywords'];
    75.         $post_image=$_FILES['post_image']['name'];
    76.         $image_tmp=$_FILES['post_image']['tmp_name'];
    77.         $post_content=$_POST['post_content'];
    78.        
    79.             move_uploaded_file($image_tmp, "news_images/$post_image");
    80.                 $insert="UPDATE post set post_title='$post_title', post_image='$post_image', post_content='$post_content' where post_id='$post_id'";
    81.                 $run=mysqli_query($con,$insert);
    82.  
    83.                 echo "<script>alert('Пост был отредактирован')</script>";
    84.                 echo "<script>window.open('http://php/www/admin/edit_post.php','_self');</script>";
    85.             }
    86.         }
    87. ?>
     
  4. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Miracleon, есть подозрение, что ты сочинил этот скрипт из двух скриптов (где форма и обработчик находились в разных файлах) скачанных с инета. У тебя нет понимания алгоритма, что зачем должно выполнятся.
    Начнём с того, что обработчик формы должен быть в самом начале скрипта. А еще лучше когда вообще весь PHP вверху, а весь HTML (не считая вывода типа <?phpecho$post_keywords;?>) внизу.
     
  5. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    PHP:
    1. <?php
    2. // Нажата кнопка сохранить и передан идентификатор поста
    3. if (isset($_POST['submit']) && !empty($_POST['post_id'])) {
    4.     $post_id = (int)($_POST['post_id']);
    5.     $post_title = mysqli_real_escape_string($con, $_POST['post_title']);
    6.     $post_image = $_FILES['post_image']['name'];
    7.     $image_tmp = $_FILES['post_image']['tmp_name'];
    8.     $post_content = mysqli_real_escape_string($con, $_POST['post_content']);
    9.  
    10.     move_uploaded_file($image_tmp, "news_images/$post_image");
    11.     $insert = "UPDATE `post`
    12.                    SET `post_title`='" . $post_title . "'
    13.                      , `post_image`='" . $post_image . "'
    14.                      , `post_content`='" . $post_content . "'
    15.                    WHERE `post_id`=" . $post_id;
    16.     $run = mysqli_query($con, $insert);
    17.  
    18.     echo "<script>alert('Пост был отредактирован')</script>";
    19.     echo "<script>window.open('http://php/www/admin/edit_post.php','_self');</script>";
    20. }
    21.  
    22. if (isset($_REQUEST['post_id'])) {
    23.     $post_id = (int)$_REQUEST['post_id'];
    24.     $select_post = "SELECT *
    25.                        FROM `post`
    26.                        WHERE `post_id`=" . $post_id;
    27.     $run = mysqli_query($con, $select_post);
    28.     while ($row = mysqli_fetch_array($run)) {
    29.         $post_id = $row['post_id'];
    30.         $category_id = $row['category_id'];
    31.         $post_title = $row['post_title'];
    32.         $post_keywords = $row['post_keywords'];
    33.         $post_image = $row['post_image'];
    34.         $post_content = $row['post_content'];
    35.     }
    36. }
    37. ?>
    38.  
    39.     <form method="post" action="" enctype="multipart/form-data">
    40.         <input type="hidden" name="post_id" value="<?php echo $post_id; ?>">
    41.         <center>
    42.             <table width="400">
    43.                 <tr><td><h2>Редактировать пост</h2></td></tr>
    44.                 </select>
    45.                 </td>
    46.                 </tr>
    47.                 <tr><td><h4>Заголовок</h4>
    48.                         <input type="text" name="post_title" value="<?php echo htmlspecialchars($post_title); ?>"></td>
    49.                 </tr>
    50.                 <td>
    51.                     <tr><td><h4>keywords</h4>
    52.                             <input type="text" name="post_keywords" value="<?php echo htmlspecialchars($post_keywords); ?>"></td>
    53.                     </tr>
    54.                     <tr><td><h4>картинка</h4>
    55.                             <input type="file" name="post_image">
    56.                             <img src="news_images/<?php echo htmlspecialchars($post_image); ?>" width="300" height="300"></td>
    57.                     </tr>
    58.                     <tr><td><h4>контент</h4>
    59.                             <textarea name="post_content"><?php echo htmlspecialchars($post_content); ?></textarea>
    60.                             <input type="submit" name="submit" value="Сохранить"></td>
    61.                     </tr>
    62.  
    63.             </table>
    64.         </center>
    65.     </form>
    66.     </div>
    67.     </div>
    68.     </body>
    69.     </html>