Ckeditor yükledim onda da çalışmadı. Kodlar biraz uzun ama paylaşayım bir bakın.
<?php
if(isset($_FILES['dosya'])) {
$ad = $_POST['ad'];
$ozellik = $_POST['ozellik'];
$kategori = $_POST['kategori'];
$eskifiyat = $_POST['eskifiyat'];
$yenifiyat = $_POST['yenifiyat'];
$indirimlifiyat = $_POST['indirimlifiyat'];
$urunsayisi = $_POST['urunsayisi'];
$urunalani = $_POST['urunalani'];
foreach($ad as $index => $names) {
$s_ad = $names;
$s_ozellik = $ozellik[$index];
$s_kategori = $kategori[$index];
$s_eskifiyat = $eskifiyat[$index];
$s_yenifiyat = $yenifiyat[$index];
$s_indirimlifiyat = $indirimlifiyat[$index];
$s_urunsayisi = $urunsayisi[$index];
$s_urunalani = $urunalani[$index];
$dosya_sayisi = count($_FILES['dosya']["name"]);
for($i=0; $i<$dosya_sayisi; $i++) {
$dosya_adi = $_FILES['dosya']["name"][$i];
$gecici_yol = $_FILES['dosya']["tmp_name"][$i];
$dosya_tipi = $_FILES['dosya']["type"][$i];
$dosya_boyutu = $_FILES['dosya']["size"][$i];
if($dosya_boyutu > (1024*1024*3)) { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Dosya Boyutu 3 MB'dan Büyük Olamaz <br>";
echo "Form Sayfasına Gitmek İçin";
?>
<a href="urunekle.php" style="color:blue;">Tıklayınız</a>
</div>
<?php
exit;
}
if(!($dosya_tipi=="image/jpeg" || $dosya_tipi=="image/jpg" || $dosya_tipi=="image/png")) { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Sadece Jpeg, Jpg ve Png Yükleyebilirsiniz <br>";
echo "Form Sayfasına Gitmek İçin";
?>
<a href="urunekle.php" style="color:blue;">Tıklayınız</a>
</div>
<?php
exit;
}
if(move_uploaded_file($gecici_yol,"../../images/indexurunler/" . $dosya_adi)) {
$sorgualani = "INSERT INTO indexsayfaurun (urun_resim, urun_ad, urun_ozellik, urun_kategori,
urun_eskifiyat, urun_yenifiyat, urun_indirimlifiyat,
urun_sayisi, urun_alani)
VALUES ('$dosya_adi', '$s_ad', '$s_ozellik' '$s_kategori', '$s_eskifiyat', '$s_yenifiyat', '$s_indirimlifiyat', '$s_urunsayisi', '$s_urunalani')";
$sorgu = mysqli_query($db, $sorgualani);
}
}
}
if($sorgu) { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Ürün Kaydedildi";
header("Refresh:3; url=urunekle.php");
?>
</div>
<?php
} else { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Ürün Eklenemedi <br>";
header("Refresh:3; url=urunekle.php");
?>
</div>
<?php
}
}
?>
Sorun güncel arkadaşlar.
Bu sorun galiba "trim" ve "strip_tags" kullanmadığım için oluyor. Aşağıdaki kodlara şu şekilde
$ozellik = trim(strip_tags($_POST['ozellik']));
trim ve strip_tags eklediğimde de bana şöyle bir hata veriyor
Warning: strip_tags() expects parameter 1 to be string, array given in
Notice: Trying to access array offset on value of type null in
internetten baktığımda da bu hatayı nasıl düzeltebileceğime dair, "implode" kullanımını öneriyor. "strip_tags, trim ve implode" u bir arada aşağıdaki kodlarla nasıl kullanabilirim acaba?
if(isset($_FILES['dosya'])) {
$ad = $_POST['ad'];
$ozellik = $_POST['ozellik'];
foreach($ad as $index => $names) {
$s_ad = $names;
$s_ozellik = $ozellik[$index];
$dosya_sayisi = count($_FILES['dosya']["name"]);
for($i=0; $i<$dosya_sayisi; $i++) {
$dosya_adi = $_FILES['dosya']["name"][$i];
$gecici_yol = $_FILES['dosya']["tmp_name"][$i];
if(move_uploaded_file($gecici_yol,"../../images/indexurunler/" . $dosya_adi)) {
$sorgualani = "INSERT INTO indexsayfaurun (urun_resim, urun_ad, urun_ozellik)
VALUES ('$dosya_adi', '$s_ad', '$s_ozellik')";
$sorgu = mysqli_query($db, $sorgualani);
}
}
}
if($sorgu) {
echo "Ürün Kaydedildi";
} else {
echo "Ürün Eklenemedi";
}
}
text olarak belirledim ve herhangi bir sayı vermedim. Sayı verdiğimde de düzelmedi. Yazıyı klavyeden el ile girdiğimde kayıt yapıyor ama kopyaladığım bazı yazıları kabul etmiyor. Yazıdaki boşluklar, kalın yazılması gibi şeyler etkiliyor olabilir mi acaba?
Burada çoklu veri kaydetmenin yöntemini gösteriyorsunuz değil mi? Eğer öyleyse benim sorunum bu değil. Ben çoklu veriyi kaydedebiliyorum. Bir siteden kopyaladığım bir yazıyı textarea nın içine yapıştırıp gönder butonuna bastığımda veriyi kaydetmiyor. Ama yine aynı siteden başka bir yazı giriyorum textarea ya onu kaydediyor. Yani textarea nın içine girdiğim bir yazıyı kaydedebiliyorken başka bir yazıyı kaydedemiyorum. Textarea bu yazıları neye göre seçiyor, sorun bu.
Bu şekilde hallettim.
<?php
if(isset($_FILES['dosya'])) {
$ad = $_POST['ad'];
$ozellik = $_POST['ozellik'];
$kategori = $_POST['kategori'];
$eskifiyat = $_POST['eskifiyat'];
$yenifiyat = $_POST['yenifiyat'];
$indirimlifiyat = $_POST['indirimlifiyat'];
$urunsayisi = $_POST['urunsayisi'];
$urunalani = $_POST['urunalani'];
foreach($ad as $index => $names) {
$s_ad = $names;
$s_ozellik = $ozellik[$index];
$s_kategori = $kategori[$index];
$s_eskifiyat = $eskifiyat[$index];
$s_yenifiyat = $yenifiyat[$index];
$s_indirimlifiyat = $indirimlifiyat[$index];
$s_urunsayisi = $urunsayisi[$index];
$s_urunalani = $urunalani[$index];
$dosya_sayisi = count($_FILES['dosya']["name"]);
for($i=0; $i<$dosya_sayisi; $i++) {
$dosya_adi = $_FILES['dosya']["name"][$i];
$gecici_yol = $_FILES['dosya']["tmp_name"][$i];
$dosya_tipi = $_FILES['dosya']["type"][$i];
$dosya_boyutu = $_FILES['dosya']["size"][$i];
if($dosya_boyutu > (1024*1024*3)) { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Dosya Boyutu 3 MB'dan Büyük Olamaz <br>";
echo "Form Sayfasına Gitmek İçin";
?>
<a href="urunekle.php" style="color:blue;">Tıklayınız</a>
</div>
<?php
exit;
}
if(!($dosya_tipi=="image/jpeg" || $dosya_tipi=="image/jpg" || $dosya_tipi=="image/png")) { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Sadece Jpeg, Jpg ve Png Yükleyebilirsiniz <br>";
echo "Form Sayfasına Gitmek İçin";
?>
<a href="urunekle.php" style="color:blue;">Tıklayınız</a>
</div>
<?php
exit;
}
if(move_uploaded_file($gecici_yol,"../../images/indexurunler/" . $dosya_adi)) {
$sorgualani = "INSERT INTO indexsayfaurun (urun_resim, urun_ad, urun_ozellik, urun_kategori,
urun_eskifiyat, urun_yenifiyat, urun_indirimlifiyat,
urun_sayisi, urun_alani)
VALUES ('$dosya_adi', '$s_ad', '$s_ozellik', '$s_kategori', '$s_eskifiyat', '$s_yenifiyat', '$s_indirimlifiyat', '$s_urunsayisi', '$s_urunalani')";
$sorgu = mysqli_query($db, $sorgualani);
}
}
}
if($sorgu) { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Ürün Kaydedildi";
?>
</div>
<?php
// header("Refresh:3; url=urunekle.php");
} else { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Ürün Eklenemedi <br>";
header("Refresh:3; url=urunekle.php");
?>
</div>
<?php
}
}
?>
Cevap veren yok mu arkadaşlar.
Şu iki alanı birleştirmem lazım.
Çoklu kaydetme.php
if($_POST) {
$ad = $_POST['ad'];
$ozellik = $_POST['ozellik'];
$kategori = $_POST['kategori'];
$eskifiyat = $_POST['eskifiyat'];
$yenifiyat = $_POST['yenifiyat'];
$indirimlifiyat = $_POST['indirimlifiyat'];
$urunsayisi = $_POST['urunsayisi'];
$urunalani = $_POST['urunalani'];
foreach($ad as $index => $names) {
$s_ad = $names;
$s_ozellik = $ozellik[$index];
$s_kategori = $kategori[$index];
$s_eskifiyat = $eskifiyat[$index];
$s_yenifiyat = $yenifiyat[$index];
$s_indirimlifiyat = $indirimlifiyat[$index];
$s_urunsayisi = $urunsayisi[$index];
$s_urunalani = $urunalani[$index];
$sorgualani = "INSERT INTO indexsayfaurun (urun_ad, urun_ozellik, urun_kategori, urun_eskifiyat,
urun_yenifiyat, urun_indirimlifiyat, urun_sayisi,
urun_alani) VALUES ('$s_ad', '$s_ozellik', '$s_kategori', '$s_eskifiyat', '$s_yenifiyat', '$s_indirimlifiyat', '$s_urunsayisi', '$s_urunalani')";
}
$sorgu = mysqli_query($db, $sorgualani);
if($sorgu) {
echo "tamam";
} else {
echo "olmadı";
}
}
if(isset($_POST['resim-yukle'])){
$dizin_yol = "../yuklenenler";
$dosya_adet = count($_FILES['dosya']['name']);
$dosya_tipi = $_FILES['dosya']["type"];
$dosya_boyutu = $_FILES['dosya']["size"];
if($dosya_boyutu > (1024*1024*3)) { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Dosya Boyutu 3 MB'dan Büyük Olamaz <br>";
echo "Form Sayfasına Gitmek İçin";
?>
<a href="urunekle.php" style="color:blue;">Tıklayınız</a>
</div>
<?php
exit;
}
if(!($dosya_tipi=="image/jpeg" || $dosya_tipi=="image/jpg" || $dosya_tipi=="image/png")) { ?>
<div style="margin-top:25px; text-align:center; font-size:30px;">
<?php
echo "Sadece Jpeg, Jpg ve Png Yükleyebilirsiniz <br>";
echo "Form Sayfasına Gitmek İçin";
?>
<a href="urunekle.php" style="color:blue;">Tıklayınız</a>
</div>
<?php
exit;
}
for($i=0; $i<$dosya_adet; $i++) {
if (!empty($_FILES['dosya']['name'][$i])) {
move_uploaded_file($_FILES['dosya']['tmp_name'][$i], $dizin_yol . "/" . $_FILES['dosya']['name'][$i]);
header("Location: ?dosya=yuklendi");
}
}
}
Değişkenlerin başına "$" işareti koymamışım. Onu da hallettim. Şöyle bir problem oluştu. "Uninitialized string offset: 1 in" diye bir hata alıyorum.
Yapmak istediğim bu ama veritabanına değişken isimleri kaydediyor. Tek sıkıntı bu şu an.
if(isset($_POST['eklemeyap'])) {
$ad = $_POST['ad'];
$ozellik = $_POST['ozellik'];
$kategori = $_POST['kategori'];
$eskifiyat = $_POST['eskifiyat'];
$yenifiyat = $_POST['yenifiyat'];
$indirimlifiyat = $_POST['indirimlifiyat'];
$urunsayisi = $_POST['urunsayisi'];
$urunalani = $_POST['urunalani'];
foreach($ad as $index => $names) {
$s_name = $names;
$s_ozellik = $ozellik[$index];
$s_kategori = $kategori[$index];
$s_eskifiyat = $eskifiyat[$index];
$s_yenifiyat = $yenifiyat[$index];
$s_indirimlifiyat = $indirimlifiyat[$index];
$s_urunsayisi = $urunsayisi[$index];
$s_urunalani = $urunalani[$index];
$sorgualani = "INSERT INTO indexsayfaurun (urun_ad, urun_ozellik, urun_kategori, urun_eskifiyat,
urun_yenifiyat, urun_indirimlifiyat, urun_sayisi,
urun_alani) VALUES ('s_name', 's_ozellik', 's_kategori',
's_eskifiyat', 's_yenifiyat', 's_indirimlifiyat',
's_urunsayisi', 's_urunalani')";
$sorgu = mysqli_query($db, $sorgualani);
if($sorgu) {
echo "tamam";
} else {
echo "olmadı";
}
}
}