Нужно обновить данные, из-за того что в полях присутствуют предыдущие значения скрипт срабатывает без нажатия кнопки как исправить? PHP: if (isset($_POST['submit']))
@Miracleon, для начала необходимо добиться того, что бы другие люди тебя понимали. Ничего сложного в этом нет, просто бери книгу и читай базовую теорию языка. Когда я вижу неоднозначный вопрос новичка я задаю наводящие вопросы для того что бы дать максимально правильный ответ. В твоём случае даже вопросов подходящих на ум не приходит (и нет желания их выдумывать).
Есть пост перехожу на страницу редактирования и скрипт сразу выполняется т. е. я ничего не изменил,а меня сразу перебрасывает обратно PHP: <?php if (isset($_GET['post_id'])) { $post_id=$_GET['post_id']; $select_post="select * from post where post_id='$post_id'"; $run=mysqli_query($con,$select_post); while ($row=mysqli_fetch_array($run)) { $post_id=$row['post_id']; $category_id=$row['category_id']; $post_title=$row['post_title']; $post_keywords=$row['post_keywords']; $post_image=$row['post_image']; $post_content=$row['post_content']; } } ?> <form method="post" action="" enctype="multipart/form-data"> <center><table width="400"> <tr> <td><h2>Редактировать пост</h2></td> </tr> </select> </td> </tr> <tr> <td> <h4>Заголовок</h4> <input type="text" name="post_title" value="<?php echo $post_title;?>"></td> </tr> <td> <tr> <td> <h4>keywords</h4> <input type="text" name="post_keywords" value="<?php echo $post_keywords;?>"></td> </tr> <tr> <td> <h4>картинка</h4> <input type="file" name="post_image"><img src="news_images/<?php echo $post_image;?>" width="300" height="300"></td> </tr> <tr> <td> <h4>контент</h4> <textarea name="post_content"><?php echo $post_content;?></textarea> <input type="submit" name="submit" value="Сохранить"></td> </tr> </table></center> </form> </div> </div> </body> </html> <?php if (isset($_POST['submit'])) { $post_title=$_POST['post_title']; $cat=$_POST['cat']; $post_keywords=$_POST['post_keywords']; $post_image=$_FILES['post_image']['name']; $image_tmp=$_FILES['post_image']['tmp_name']; $post_content=$_POST['post_content']; move_uploaded_file($image_tmp, "news_images/$post_image"); $insert="UPDATE post set post_title='$post_title', post_image='$post_image', post_content='$post_content' where post_id='$post_id'"; $run=mysqli_query($con,$insert); echo "<script>alert('Пост был отредактирован')</script>"; echo "<script>window.open('http://php/www/admin/edit_post.php','_self');</script>"; } } ?>
@Miracleon, есть подозрение, что ты сочинил этот скрипт из двух скриптов (где форма и обработчик находились в разных файлах) скачанных с инета. У тебя нет понимания алгоритма, что зачем должно выполнятся. Начнём с того, что обработчик формы должен быть в самом начале скрипта. А еще лучше когда вообще весь PHP вверху, а весь HTML (не считая вывода типа <?phpecho$post_keywords;?>) внизу.
Спойлер: как-то так PHP: <?php // Нажата кнопка сохранить и передан идентификатор поста if (isset($_POST['submit']) && !empty($_POST['post_id'])) { $post_id = (int)($_POST['post_id']); $post_title = mysqli_real_escape_string($con, $_POST['post_title']); $post_image = $_FILES['post_image']['name']; $image_tmp = $_FILES['post_image']['tmp_name']; $post_content = mysqli_real_escape_string($con, $_POST['post_content']); move_uploaded_file($image_tmp, "news_images/$post_image"); $insert = "UPDATE `post` SET `post_title`='" . $post_title . "' , `post_image`='" . $post_image . "' , `post_content`='" . $post_content . "' WHERE `post_id`=" . $post_id; $run = mysqli_query($con, $insert); echo "<script>alert('Пост был отредактирован')</script>"; echo "<script>window.open('http://php/www/admin/edit_post.php','_self');</script>"; } if (isset($_REQUEST['post_id'])) { $post_id = (int)$_REQUEST['post_id']; $select_post = "SELECT * FROM `post` WHERE `post_id`=" . $post_id; $run = mysqli_query($con, $select_post); while ($row = mysqli_fetch_array($run)) { $post_id = $row['post_id']; $category_id = $row['category_id']; $post_title = $row['post_title']; $post_keywords = $row['post_keywords']; $post_image = $row['post_image']; $post_content = $row['post_content']; } } ?> <form method="post" action="" enctype="multipart/form-data"> <input type="hidden" name="post_id" value="<?php echo $post_id; ?>"> <center> <table width="400"> <tr><td><h2>Редактировать пост</h2></td></tr> </select> </td> </tr> <tr><td><h4>Заголовок</h4> <input type="text" name="post_title" value="<?php echo htmlspecialchars($post_title); ?>"></td> </tr> <td> <tr><td><h4>keywords</h4> <input type="text" name="post_keywords" value="<?php echo htmlspecialchars($post_keywords); ?>"></td> </tr> <tr><td><h4>картинка</h4> <input type="file" name="post_image"> <img src="news_images/<?php echo htmlspecialchars($post_image); ?>" width="300" height="300"></td> </tr> <tr><td><h4>контент</h4> <textarea name="post_content"><?php echo htmlspecialchars($post_content); ?></textarea> <input type="submit" name="submit" value="Сохранить"></td> </tr> </table> </center> </form> </div> </div> </body> </html>