$error_msg = "";
$valid = true;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$blog_ad = trim($_POST['blog_ad']);
// Karakter setini belirleme
mb_internal_encoding("UTF-8");
// Blog adı değerindeki karakterleri düzeltme
$blog_ad = mb_convert_encoding($blog_ad, "UTF-8", "auto");
$blog_metin = $_POST['blog_metin'];
// Blog adı için url oluşturma
$blog_url = strtolower(trim(preg_replace('/[^a-zA-ZğüşıöçĞÜŞİÖÇ0-9]+/', '-', $blog_ad)));
// Türkçe karakterleri değiştirme ve tüm harfleri küçük yapma
$tr_to_en = array("ı" => "i", "İ" => "i", "ğ" => "g", "Ğ" => "g", "ö" => "o", "Ö" => "o", "ü" => "u", "Ü" => "u", "ş" => "s", "Ş" => "s", "ç" => "c", "Ç" => "c");
$blog_url = strtr($blog_url, $tr_to_en);
$blog_url = preg_replace('/-{2,}/', '-', $blog_url);
$blog_url = rtrim($blog_url, '-');
// Resim yüklenmiş mi kontrolü
if ($_FILES['image']['error'] === UPLOAD_ERR_NO_FILE) {
$error_msg .= '<div class="alert alert-success">Lütfen bir resim yükleyin. </div> <br>';
$valid = false;
} else {
// Resim için dosya yolunu ve url'yi oluşturma
$image_name = strtolower(str_replace(' ', '_', $_FILES['image']['name']));
$image_tmp_name = $_FILES['image']['tmp_name'];
$image_path = "resimler/" . $image_name;
$image_url = "resimler/" . $image_name;
// Dosya tipini kontrol etme
$image_type = $_FILES['image']['type'];
if ($image_type != "image/jpeg" && $image_type != "image/png" && $image_type != "image/gif" && $image_type != "image/webp") {
$error_msg .= '<div class="alert alert-success">Sadece JPG, PNG, GIF ve WebP dosyaları yükleyebilirsiniz.</div> <br>';
$valid = false;
}
// Dosya boyutunu kontrol etme (1MB'dan büyük olamaz)
$image_size = $_FILES['image']['size'];
if ($image_size > 1000000) {
$error_msg .= "Dosya boyutu 1MB'dan küçük olmalıdır. <br>";
$valid = false;
}
}
// Veritabanına ekleme
if ($valid) {
$stmt = $conn->prepare("INSERT INTO blog (blog_adi, blog_metin, blog_resim
, blog_url) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss", $blog_ad, $blog_metin, $image_url, $blog_url);
$stmt->execute
();
// Resim klasörüne kaydetme
move_uploaded_file($image_tmp_name, $image_path); // move_uploaded_file fonksiyonuna dosya yolunu ve hedef konumunu belirterek resmi kaydediyoruz
// Başarılı mesajı
echo "Blog başarıyla eklendi.";
} else {
// Hata mesajlarını gösterme
echo $error_msg;
}
} Php Yardım Talebi
12
●272
- 12-05-2023, 21:35:26Merhaba, Aşağıdaki kodda post ile gelen blog_adi veriyi veritabanına eklerken tükrçe karakter sorunu çıkarıyor. Örneğin; "şanlıurfa" kelimesini "ÅŸanlıurfa " olarak veritabanına kaydediyor. Yardımcı olabilecek varmı?
- 12-05-2023, 21:37:29Evet hocam. Diğer hiç bir formda bu sorunu yaşamıyorum kod ile alakalı olduğundan eminimDarkbey adlı üyeden alıntı: mesajı görüntüle
- 12-05-2023, 21:40:58GetTeac adlı üyeden alıntı: mesajı görüntüle
$error_msg = ""; $valid = true; if ($_SERVER["REQUEST_METHOD"] == "POST") { $blog_ad = trim($_POST['blog_ad']); // Karakter setini belirleme mb_internal_encoding("UTF-8"); $blog_adi = mb_convert_encoding($blog_ad , 'UTF-8', 'ISO-8859-9'); $blog_metin = $_POST['blog_metin']; // Blog adı için url oluşturma $blog_url = strtolower(trim(preg_replace('/[^a-zA-ZğüşıöçĞÜŞİÖÇ0-9]+/', '-', $blog_adi))); // Türkçe karakterleri değiştirme ve tüm harfleri küçük yapma $tr_to_en = array("ı" => "i", "İ" => "i", "ğ" => "g", "Ğ" => "g", "ö" => "o", "Ö" => "o", "ü" => "u", "Ü" => "u", "ş" => "s", "Ş" => "s", "ç" => "c", "Ç" => "c"); $blog_url = strtr($blog_url, $tr_to_en); $blog_url = preg_replace('/-{2,}/', '-', $blog_url); $blog_url = rtrim($blog_url, '-'); // Resim yüklenmiş mi kontrolü if ($_FILES['image']['error'] === UPLOAD_ERR_NO_FILE) { $error_msg .= '<div class="alert alert-success">Lütfen bir resim yükleyin. </div> <br>'; $valid = false; } else { // Resim için dosya yolunu ve url'yi oluşturma $image_name = strtolower(str_replace(' ', '_', $_FILES['image']['name'])); $image_tmp_name = $_FILES['image']['tmp_name']; $image_path = "resimler/" . $image_name; $image_url = "resimler/" . $image_name; // Dosya tipini kontrol etme $image_type = $_FILES['image']['type']; if ($image_type != "image/jpeg" && $image_type != "image/png" && $image_type != "image/gif" && $image_type != "image/webp") { $error_msg .= '<div class="alert alert-success">Sadece JPG, PNG, GIF ve WebP dosyaları yükleyebilirsiniz.</div> <br>'; $valid = false; } // Dosya boyutunu kontrol etme (1MB'dan büyük olamaz) $image_size = $_FILES['image']['size']; if ($image_size > 1000000) { $error_msg .= "Dosya boyutu 1MB'dan küçük olmalıdır. <br>"; $valid = false; } } // Veritabanına ekleme if ($valid) { $stmt = $conn->prepare("INSERT INTO blog (blog_adi, blog_metin, blog_resim , blog_url) VALUES (?, ?, ?, ?)"); $stmt->bind_param("ssss", $blog_adi, $blog_metin, $image_url, $blog_url); $stmt->execute (); // Resim klasörüne kaydetme move_uploaded_file($image_tmp_name, $image_path); // move_uploaded_file fonksiyonuna dosya yolunu ve hedef konumunu belirterek resmi kaydediyoruz // Başarılı mesajı echo "Blog başarıyla eklendi."; } else { // Hata mesajlarını gösterme echo $error_msg; } }bu şekilde denermisin - 12-05-2023, 21:42:34"şanlıurfa " Bu sefer de bu şekilde kaydetti hocamDarkbey adlı üyeden alıntı: mesajı görüntüle
- 12-05-2023, 21:44:39<input type="text" name="blog_ad" accept-charset="UTF-8">GetTeac adlı üyeden alıntı: mesajı görüntüle
input tarafını bu şekilde düzenleyip dene bide - 12-05-2023, 21:46:52O şekilde hocam zatenphpc adlı üyeden alıntı: mesajı görüntüle

Yaptım hocam aynı şekilde sorun devam etmekteDarkbey adlı üyeden alıntı: mesajı görüntüle
- 12-05-2023, 21:48:00GetTeac adlı üyeden alıntı: mesajı görüntüle
15-20 dkya gelicem olmadı twden bağlanıp bakalım konu altına tekrar yazarım buralarda olursanız