Merhaba @yazilimyolcusu,
Insert işlemleri için bir fonksiyon yazarak bunu çözebilirsin. Bunun için temel CRUD işlemleri yapan bir paket kullanabilirsin.
Ben böyle bir durumda aşağıdaki gibi bir yol izlerdim.
/*Veri tabanı insert işlemi. Burasının Database sınıfına ait bir fonksiyon olarak kurgulandı.
Eğer php7.4 altında bir sürüm kullanıyorsan fonksiyonun beklediği ve döndüğü değerler hataya sebep olur.
Onları silerek hata almaktan kurtulabilirsin. (string, array, :bool)
*/
public function insert(string $table, array $data): bool
{
$sql = [];
foreach ($data as $key => $value) {
$sql[] = $key . "=:" . $value;
}
$query = implode(", ", $sql);
$insert = $this->db->prepare("INSERT INTO " . $table . " SET " . $query . " ");
foreach ($data as $key => $value) {
$insert->bindValue(':' . $key, $value);
}
return $insert->execute();
}
Daha sonrasında kayıt yapmak için kullanacağım yerde şu şekilde bir yol izlerdim.
/*
Data değişkeninin key değerleri tablondaki sutun değerleriyle eş olmak zorunda.
*/
$data = [
'aliciadisoyadi' => $_POST['aliciadisoyadi'],
'alicifirma' => $_POST['alicifirma'],
'Sehir' => $_POST['Sehir'],
'aliciilce' => $_POST['aliciilce'],
'alicitelefon' => $_POST['alicitelefon'],
'alicieposta' => $_POST['alicieposta'],
'siparisnotlari' => $_POST['siparisnotlari'],
'urununstokkodu' => $_POST['urununstokkodu'],
'urununstoksayisi' => $_POST['urununstoksayisi'],
];
$result = $db->insert('onaylanan_urunler', $data);
Merhaba,
Sorunun temelinde Safari'nin numaraları bir telefon numarası gibi algılamasında. Sorunu çözmek için bulunduğun sayfanın başına
aşağıdaki kodu yapıştırabilirsin.
<meta name = "format-detection" content = "telephone=no">
Merhaba @rephp7,
Database için aynı tablodan diller için farklı sütunlarda veri tutuyorsan aşağıdaki gibi bir fonksiyon işine yarayabilir.
function changeLanguage($turkishVersion, $englishVersion)
{
if (($_SESSION['lang'] == 'en') && ($englishVersion != '') && ($englishVersion != NULL)) {
return $englishVersion;
}
return $turkishVersion;
}
Bu fonksiyonu dili değişmesini istediğin her türlü yerde kullanabilirsin.
Örnek:
//Db'de ingilizce ve türkçe için ayrı versiyon varsa;
echo changelanguage($veri[$i]["tr_baslik"],$veri[$i]["en_baslik"]);
//Bir metni değişmesini istiyorsan
echo changelanguage('Merhaba Dünya','Hello World');
//Decode edilen veriler için
echo htmlspecialchars_decode(changeLanguage($veri[$i]["tr_icerik"], $veri[$i]["en_icerik"]))
//Html çevirme
echo changeLanguage('<a href="">Buraya</a> tıklayarak ulaşabilirsin', 'You can access it by <a href="">clicking here</a>')
Fonksiyon sana bir örnek olsun kendi sistemine ve ihtiyacına göre bu şekilde fonksiyon yazarak sistemini güncelleyebilirsin.
Merhaba @bukr3j,
Öncelikle tüm sorularına bakıp bu cevabı yazıyorum ve biraz sakin olman gerektiğini düşünüyorum.
Sorunun ne oldupunu ve nasıl araştırma yapacağını bilirsen, hiç bilmesen bile sorunu çözebilirsin.
Bu konuda kendine güvenmen yeterli. Swiper.js için birincil kaynagın demo sayfası olmalı.
Demo sayfası
Buradaki örnekleri birbirleriyle karıştırarak istediğin yapıyı kurabilirsin.
Sorularına gelecek olursak;
Evet swiper.js kullanarak tüm sayfayı kaplayacak bir slider oluşturabilirsin.
Bu slider yardımıyla staj yaptığın yerin istediği gibi bir içerik oluşturabilirsin.
Nasıl bütün sayfada swiper kullanacagını gösteren video
Ayrıca slideları oluştururken a
etiketini kullanarak slideları kapsarsan slideerların istediğin slidera geçiş yapabilir
Stackowerflow Cevabı
Swiper.js ile tamamen bir site (Sayfa) yapmak bana çok mantıklı gelmiyor çünkü seni kısıtlayan çok fazla şey olacak.
Bunun yerine html, css ve swiper ile ne yapabilirsin bunun üzerine düşünmeni tavsiye ederim.
Ama buna mecbur musun ? Öncelikle buna karar vermelisin. Bahsettiğin mousewheel control özelliği yerine scrolsnap
özelliğini kullanamaz mısın ?
@tayfunerbilen anlatımını yaptığı video
Soruna genel olarak cevap verdiğimi düşünüyorum. Daha ayrıntılı yardım almak istersen sana yardımcı olabilirim.
(okumusmr[at]gmail.com)
Merhaba Mehmet, kod bende hata vermedi çalışıyor sende ki sorunu bilmiyorum. Şunu deneyebilir misin
$_FILES['dosya']['size'] < 40000000 // bu kısım yerine
$_FILES['dosya']['size'] < 5 * 1024 * 1024 // böyle yapabilir misin
Merhaba,
Bu tür bir yapı için genelde session adında bir tabloda tutuluyor.
Session tablosuna kullanıcı id si browser bilgisi gibi bilgilerle birlikte session idsinide ekleyip, login işleminde
session tablosuna ekleme yapabilirsin. Daha sonrasında oturup kontrollerini session tablosu üzerinden yaparsan session id
değeri local deki id ile uyuşmayan veya session idsini bulamadığın durumda logine yönlendirme yaparsın. Bu tür bir yapıyla
çıkış işlemlerinide gerçekleştirebilirsin.
Merhaba, sanırsam problemin uzantıyı düzgün alamadığın için. Aşağıdaki kodu deneyebilir misin ?
$dosya_isim_sayi = count($_FILES['dosya']['name']);
for ($i = 0; $i < $dosya_isim_sayi; $i++) {
if (!empty($_FILES['dosya']['name'][$i])) {
// $_FILES['dosya']['size'] değeri bit olarak gelmekte.
// 40000000 değeri 5 mb değerine eşit. Burayı daha farklı bir şekilde kurgulayabilirsin.
if ($_FILES['dosya']['size'] < 40000000) {
$dosya_adi = $_FILES["dosya"]["name"][$i];
$uzanti = pathinfo($dosya_adi, PATHINFO_EXTENSION);
$uret = array("as", "rt", "ty", "yu", "fg");
$sayi_tut = rand(1, 10000);
$izin_verilen_uzantilar = ['jpg', 'png', 'gif'];
if (in_array($uzanti, $izin_verilen_uzantilar)) {
$yeni_ad = $uret[rand(0, 4)] . $sayi_tut . '.' . $uzanti;
move_uploaded_file($_FILES['dosya']['tmp_name'][$i], $klasor . "/" . $yeni_ad);
$url = $_FILES['dosya']['name'][$i];
$name = $_FILES['dosya']['name'][$i];
} else {
echo 'Uzantı hatası';
exit;
}
} else {
echo 'Dosya 5mb büyük olamaz';
}
}
}
Ayrıca isim için farklı bir function istersen benim kullandığım fonksiyonu da aşağıya bırakıyorum.
function generateRandomString($length = 10)
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
Merhaba, WYSIWYG editörlerde benim kullandığım yöntem gelen datayi encode edip daha sonra decode etmek.
$data = htmlspecialchars(addslashes($data));
Yazdıracağım zaman ise decode ediyorum;
$data = htmlspecialchars_decode($data);
Daha fazla bilgi almak için htmlspecialchars ve
addslashes
Merhaba, ben de güncellemeyi yaptım ancak sizinki gibi bir sorunla karşılaşmadım. Config ayarlarında sorun olmuş olabilir. Tamamen kaldırıp yeniden yüklemeyi denediniz mi ?
Merhaba, burra'ya katılıyorum. Böyle dosyaları genelde app/Helpers/
klasörü altında tutulmakta.
Ayrıca otomatik olarak bu fonksiyonları projeye dahil etmek istersen composer.json
dosyasında çağırabilirsin.
Örneğin app/Helpers/functions.php
dosyasını çağırmak istersen. composer.json
dosyasına
"autoload":{
//Eklemen gereken kısım
"files":[
"app/Helpers/functions.php"
],
...
}