v2.5.2
Giriş yap

Mysqli Formu Post Edemiyorum

opticbey
1,046 defa görüntülendi ve 1 kişi tarafından değerlendirildi
  • Formu post edemiyorum. Düzenle dediğimde hiçbir değişiklik olmuyor. Kodlar aşağıdaki gibidir.
  • Panel fotoğrafı en alt kısımdadır.

    PHP Kodları

      <! PHP Düzenleme Başlangıç !>
                    
                  <?php
    				
    	if (isset($_POST["edit_portfolio"])){
    	$portfolio_name = $_POST["portfolio_name"];
          $portfolio_text = $_POST["portfolio_text"];   
    	$portfolio_category = $_POST["portfolio_category"];
    		
    	$portfolio_image = $_FILES["image"]["name"];
          $portfolio_image_temp = $_FILES["image"]["tmp_name"];
    		
    	move_uploaded_file($portfolio_image_temp, "../img/$portfolio_image");
    		
    		
    	$sql_query2 = "UPDATE portfolios SET portfolio_name = '{$portfolio_name}', portfolio_text = '{$portfolio_text}', portfolio_category = '{$portfolio_category}', portfolio_img = '{$portfolio_image}', WHERE portfolio_id = '$_POST[portfolio_id]'";
    		
    	$edit_portfolio_query = mysqli_query($conn, $sql_query2);
                
          header("Location: calismalarim.php");
                
    	}	
    	
    				
    	?>		
                    
                  <! PHP Düzenleme Bitiş !>
    

HTML Kodları

  <! HTML Düzenleme Alanı Başlangıç !>

      <div id="edit_modal<?php echo $k; ?>" class="modal fade">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <h5 class="modal-title" id="exampleModalLabel">Çalışma Düzenle</h5>
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                            </div>
                            <div class="modal-body">
                                <form action="" method="post" enctype="multipart/form-data">
                                    <div class="form-group">
                                        <label for="portfolio_name">Çalışma Adı</label>
 <input type="text" class="form-control" name="portfolio_name" value="<?php echo $portfolio_name; ?>">
                                    </div>
                                    
                                    

                                    
                                    <div class="form-group">
                                        <label for="portfolio_text">Açıklama</label>
                                   
                                        <div class="form-group">
				                        <textarea class="form-control md-textarea" rows="10" name="portfolio_text"><?php echo $portfolio_text; ?></textarea>
                                        </div>
                                        
                                        
                                        <div class="form-group">
                                        <label for="portfolio_category">Kategori</label><br>
										<select class="form-group browser-default custom-select mb-4" name="portfolio_text">
										
										<?php
											
										$edit_category_sql = "SELECT * FROM categories";
										$edit_category_run = mysqli_query($conn, $edit_category_sql);
										while($edit_category_row = mysqli_fetch_assoc($edit_category_run)){
										$edited_category = $edit_category_row["category_name"];
								
										echo"<option>$edited_category</option>";	
										}
											
										?>
										</select>
                                    </div>
                                    
                                    


                                    <div class="form-group">
                                        <img src="../img/<?php echo $portfolio_img; ?>" width="100%" height="150px">
                                        <input type="file" class="form-control" name="image">
                                    </div>

                                 
                                    <div class="form-group">
                                        <input type="hidden" name="portfolio_id" value="<?php echo $row["portfolio_id"]; ?>">
                                        <input type="submit" class="btn btn-primary" name="edit_portfolio" value="Düzenle">
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
          </div></div>
				
			<?php $k++; } ?>
                
                <! HTML Düzenleme Alanı Bitiş !>
  • Panel görseli aşağıdadır.
    alt değeri
kerim
1614 gün önce

Boyle olması gerekiyor.

DİKKAT!!! YOKLAMA ve GÜVENLİK NOTU

  1. Formdan gelen input değerlerin boş olup olmadığını yoklaman gerek.
  2. Form inputları boş bırakılmazsa, space tuşuyla boşluk bırakıla bilir trim($_POST['deger']) fonksiyonu ile bunu engelleye bilirsin.
  3. mysqli kullanıyorsan SQL İNJECTİON lardan korunman için trim(mysqli_real_escape_string($conn,$_POST['deger'])) şeklinde yazmalısın.
  4. Resim yüklenmesi ile ilgili güvenlikler.
    4.1 Yüklenecek resimlerin isimleri aynı isimde olursa sıkıntı yarata bilir. Resim isimlerini şekillendirmen gerekiyor.
    4.2 Şimdiki durumda dosyanın uzantısına göre bir yoklama yapmıyorsun. Sadece JPG , PNG , JPEG gipi resim formatlarına izn vermelisin.
    4.3 Yüklenecek olan resim dosyalarına boyut vermen gerekli, örneğin maksimum 5 MB boyutunda resimleri kabul edersin.

Ben söylediğim notları koduna eklemedim kendin eklersen daha faydalı olur diye düşünüyorum. Sadece fotoğrafın gitmemesi için if else
yapısını örnek olarak gösterdim.
Her hangi bir sıkıntı olursa yardım ederim.

Başarılar

<?php
    if (isset($_POST["edit_portfolio"])){
        
	$portfolio_name     = $_POST["portfolio_name"];
    $portfolio_text     = $_POST["portfolio_text"];   
	$portfolio_category = $_POST["portfolio_category"];
		
	$portfolio_image      = $_FILES["image"]["name"];
    $portfolio_image_temp = $_FILES["image"]["tmp_name"];
		
	move_uploaded_file($portfolio_image_temp, "../img/$portfolio_image");
		
	if(!empty($portfolio_image)){	
	$sql_query2 = "UPDATE portfolios SET 
	portfolio_name = '{$portfolio_name}', 
	portfolio_text = '{$portfolio_text}', 
	portfolio_category = '{$portfolio_category}', 
	portfolio_img = '{$portfolio_image}' 
	WHERE portfolio_id = '$_POST[portfolio_id]'";
	$edit_portfolio_query = mysqli_query($conn, $sql_query2);
      header("Location: calismalarim.php");
	}else{
	$sql_query2 = "UPDATE portfolios SET 
	portfolio_name = '{$portfolio_name}', 
	portfolio_text = '{$portfolio_text}', 
	portfolio_category = '{$portfolio_category}'
	WHERE portfolio_id = '$_POST[portfolio_id]'";
	$edit_portfolio_query = mysqli_query($conn, $sql_query2);
      header("Location: calismalarim.php");
	}        
	}	
?>