2016-12-12 3 views
-2

Я являюсь веб-дизайнером, но пробую какую-то разработку, поэтому я создал динамическую форму, которая отображает данные из базы данных, но мне нужна помощь в ее обновлении с использованием кода формы.Как обновить базу данных с помощью PHP?

Буду благодарен, если кто-нибудь может помочь мне списать эту форму.

Полный код, который я написал это:

<?php 

include("db/db.php"); 

if(isset($_GET['edit'])){ 

$edit_id = $_GET['edit']; 

$edit_query = "select * from article where ID='$edit_id'"; 

$run_edit = mysql_query($edit_query); 

while ($edit_row=mysql_fetch_array($run_edit)){ 


    $post_id = $edit_row['ID']; 
    $post_title = $edit_row['title']; 
    $post_author = $edit_row['author']; 
    $post_keywords = $edit_row['keywords']; 
    $post_image = $edit_row['image']; 
    $post_content = $edit_row['content']; 
} 
} 
?> 

<div class="box box-primary"> 
<div class="box-header with-border"> 
<h3 class="box-title">Update the Article</h3> 
     </div> 
     <!-- /.box-header --> 
     <!-- form start --> 
     <form method="post" action="edit_posts.php?edit_form=<?php echo $edit_id; ?>" enctype="multipart/form-data"> 
      <div class="box-body"> 

      <div class="form-group"> 
       <label >Post Title</label> 
       <input type="text" class="form-control" name="title" size="30" value="<?php echo $post_title; ?>"> 
      </div> 
      <div class="form-group"> 
       <label >Post Author</label> 
       <input type="text" class="form-control" name="author" value="<?php echo $post_author; ?>"> 
      </div> 
      <div class="form-group"> 
       <label >Post Keywords</label> 
       <input type="text" class="form-control" name="keywords" value="<?php echo $post_keywords; ?>"> 
      </div> 

      <div class="form-group"> 
       <label for="exampleInputFile">Post Image</label> 
       <input type="file" name="image" value="<?php echo $post_image; ?>" id="exampleInputFile"> 
       <img src="../img/news/<?php echo $post_image;?>" width="50" height="50"/> 
      </div> 

      <div class="form-group"> 
       <label >Post Keywords</label><br> 
       <textarea name="content" class="form-control" rows="15" ><?php echo $post_content; ?></textarea> 

      </div> 
      </div> 
      <!-- /.box-body --> 

      <div class="box-footer"> 
      <button type="submit" name="submit" class="btn btn-primary">Update</button> 
      </div> 
     </form> 
     </div> 

Этот код выводит данные из базы данных отлично во входных значений, но мне нужна помощь с тем, как обновить базу данных из этой формы.

+3

ваши атаки на SQL-атаки, открытые для SQL –

+2

Существует множество учебных пособий. Выйдите и попробуйте сами и вернитесь, если застрянете. Вы получите гораздо больше от этого. Stack Overflow - это место, где можно задавать конкретные вопросы, а не место, чтобы заставить людей писать код для вас. – iblamefish

+0

Я пробовал много из них, но не работал с этой формой или кодом –

ответ

1

В вашей edit_posts.php (кроме вопросов безопасности, в целях безопасности вам необходимо использовать подготовленные заявления и я рекомендую использовать PDO или MySQLi).

Сделайте что-то вроде следующего и просмотрите ссылки, которые я опубликовал в нижней части.

include("db/db.php"); 

if(isset($_POST['submit'])){ 

$post_title = $_POST['title']; 
$post_author = $_POST['author']; 
$post_keywords = $_POST['keywords']; 
$post_image = $_POST['image']; 
$post_content = $_POST['content']; 

// Beware of the SQL injection vulns here 
$insert_query = "update article set 
       title = $post_title, 
       author = $post_author, 
       keywords = $post_keywords, 
       image = $post_image, 
       content = $post_content 
       ID='$edit_id'"; 

$run_edit = mysql_query($edit_query); //run query using your DB connection. 
//check success or not 
//redirect page to the lists of records 
} 

Сделайте что-нибудь подобное. Но для файла изображения перед обновлением БД вам нужно загрузить файл изображения на сервер. См. Учебник для «Как загрузить файл в PHP». И еще одна вещь, есть много доступных учебных пособий, Попробуйте самостоятельно, а затем опубликуйте ошибки и проблемы.

См:

1) Обновление БД запрос Link
2) Загрузка файла File Upload
3) Обновление данных с PHP Update Data.
4) MySQL PHP хорошая передовая практика Link

+2

И следите, это все еще доступно для SQL-инъекции (см. [Здесь] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)). И он по-прежнему использует функции mysql вместо mysqli (см. [Здесь] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)) – Julian

+0

вопрос не о том, как сделать безопасным .... просто как обновить .... – webDev

+3

все еще хорошая практика, чтобы ОП и будущие читатели знали о факте (как вы это сделали сейчас)! – Jeff

Смежные вопросы