Hocam bunların bağlı olduğu bir tablo olması lazım.
Örnek uyeler
diye bir tablom var ve ben bunların bir biri ile mesajlaşmasını istiyorum bunun için iki tana tablom olması gerek mantıksal olarak anlamanız için yani.
Üyler Tablo
uye_id | uye_kadi | uye_sifre |
---|---|---|
1 | ahmet | 123456 |
2 | mehmet | 123456 |
3 | ali | 123456 |
##### Mesaj Tablo | ||
Burda ki örneğim nasıl bir mantık izleyeceğini kavraman için | ||
mesaj_id | uye_id | user_kadi |
-- | -- | |
1 | 1 | ahmet |
2 | 3 | ali |
3 | 2 | mehmet |
mesaj
tablomun amacı bir kayıt oluşturup sonra bu kaydın altında başka mesajlaşmaları listelemek sizin bir ayar tablonuz varsa
bu ayar tablonuzun bir tablodan gelemesi lazım değişken olması için güncelleme ve silme işlemi için.
Buraya kada her şey güzel devam edelim.
Gelen Mesaj Tablo
gelen_mesaj_id | mesaj_id | mesaj |
---|---|---|
1 | 1 | bu bir mesajdır, Bu ahmet in mesajı. |
1 | 3 | bu bir mesajdır, Bu ali nin mesajı. |
1 | 2 | bu bir mesajdır, Bu mehmet in mesajı. |
Mantık olarak mesaj tablomda bir ayar oluşturdum sonra bu ayarların erişiminide gelen mesaj tablom
da buluşdurdum.
sonra yapmanız gereken işlem kolay artık, mesaj
ları bir tabloya çekmek ve düzenleme sayfasında ise gelen mesaj
lar
üstünde düzenlemeyi yapmak.
Kolay gelsin size umarım anlaşılır olmuştur, yapmış olduğumuz bir mantıktı siz artık nasıl şekilledirirseniz onu size sonar.
Hocam arka plan resimlerinin javascript
ile yapılmış değişen arka planlar bunun için şöyle bir şey yapabilirsiniz.
<script type=”text/javascript”>
var imgCount = 3; // kaçtane arka plan varsa
var dir = 'http://siteadresi/images/'; // arka plan resim yolu
var randomCount = Math.round(Math.random() * (imgCount – 1)) + 1;
// arka planları listeleme
var images = new Array
images[1] = '1.jpg',
images[2] = '2.jpg',
images[3] = '3.jpg'
document.body.style.backgroundImage = 'url(' + dir + images[randomCount] + ')';
</script>
Bende aynı sorunla karşılaştım sonra AppServ'in 8.50
sürümünü indirip kurulumunu tekrardan yaptım yani eski sürümü indirip yaptım
sorun düzeldi burdan indirebilirsiniz.
Kod paylaşırsanız yardımcı olabiliriz umarım. ve $mail->CharSet = 'UTF-8';
varm mı?
html gördirdiğin içinde bir proble olabilir $mail->isHTML(true);
html izni var mı?
Hocam size kalmış bir durum, hangisi sizin işinize yarıyacak ise onu tercih edin veya hepsini öğrenin.
.htaccess
ile
.htaccess
dosyasını oluşturup ana dizinde çalışma ana dizini, daha sonradan vermiş olduğum kodlarla yapa bilirsin.
RewriteEngine On
RewriteRule ^([a-zA-Z0-9-_/]+)$ index.php [QSA]
Daha fazla bilgi içinde phpr.org adresinden ulaşa bilirsin.
Hocam aboneliği olan kullanıcılarına if
, else
ile yapabilirsiniz.
Örnek
$uye_rutbe = 2; // burda rütbesi 2 olan yani aboneliği olan kullanıcı
if ($uye_rutbe == 2) {
echo 'Aboneliği olan görecek';
}
Hocam bunu rendom bir değer atıya bilirsiniz yada tayfun hocamızın yapmış olduğu sef link fonksiyonunu kullanarak yapabilirsiniz.
Php Sef Link Fonksiyonu
>Bu fonksiyon ile kullanıcı dostu url’ler oluşturmak için türkçe metinlerinizi derleyebilirsiniz.
>Tek yapmanız gereken fonksiyona parametre olarak metninizi göndermeniz.
>Bu sayede dönen değer url’de kullanıma uygun ve düzgün bir değer olacaktır.
function permalink($str, $options = array())
{
$str = mb_convert_encoding((string)$str, 'UTF-8', mb_list_encodings());
$defaults = array(
'delimiter' => '-',
'limit' => null,
'lowercase' => true,
'replacements' => array(),
'transliterate' => true
);
$options = array_merge($defaults, $options);
$char_map = array(
// Latin
'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'AE', 'Ç' => 'C',
'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I',
'Ð' => 'D', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ő' => 'O',
'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ű' => 'U', 'Ý' => 'Y', 'Þ' => 'TH',
'ß' => 'ss',
'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'ae', 'ç' => 'c',
'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
'ð' => 'd', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ő' => 'o',
'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'ű' => 'u', 'ý' => 'y', 'þ' => 'th',
'ÿ' => 'y',
// Latin symbols
'©' => '(c)',
// Greek
'Α' => 'A', 'Β' => 'B', 'Γ' => 'G', 'Δ' => 'D', 'Ε' => 'E', 'Ζ' => 'Z', 'Η' => 'H', 'Θ' => '8',
'Ι' => 'I', 'Κ' => 'K', 'Λ' => 'L', 'Μ' => 'M', 'Ν' => 'N', 'Ξ' => '3', 'Ο' => 'O', 'Π' => 'P',
'Ρ' => 'R', 'Σ' => 'S', 'Τ' => 'T', 'Υ' => 'Y', 'Φ' => 'F', 'Χ' => 'X', 'Ψ' => 'PS', 'Ω' => 'W',
'Ά' => 'A', 'Έ' => 'E', 'Ί' => 'I', 'Ό' => 'O', 'Ύ' => 'Y', 'Ή' => 'H', 'Ώ' => 'W', 'Ϊ' => 'I',
'Ϋ' => 'Y',
'α' => 'a', 'β' => 'b', 'γ' => 'g', 'δ' => 'd', 'ε' => 'e', 'ζ' => 'z', 'η' => 'h', 'θ' => '8',
'ι' => 'i', 'κ' => 'k', 'λ' => 'l', 'μ' => 'm', 'ν' => 'n', 'ξ' => '3', 'ο' => 'o', 'π' => 'p',
'ρ' => 'r', 'σ' => 's', 'τ' => 't', 'υ' => 'y', 'φ' => 'f', 'χ' => 'x', 'ψ' => 'ps', 'ω' => 'w',
'ά' => 'a', 'έ' => 'e', 'ί' => 'i', 'ό' => 'o', 'ύ' => 'y', 'ή' => 'h', 'ώ' => 'w', 'ς' => 's',
'ϊ' => 'i', 'ΰ' => 'y', 'ϋ' => 'y', 'ΐ' => 'i',
// Turkish
'Ş' => 'S', 'İ' => 'I', 'Ç' => 'C', 'Ü' => 'U', 'Ö' => 'O', 'Ğ' => 'G',
'ş' => 's', 'ı' => 'i', 'ç' => 'c', 'ü' => 'u', 'ö' => 'o', 'ğ' => 'g',
// Russian
'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'Yo', 'Ж' => 'Zh',
'З' => 'Z', 'И' => 'I', 'Й' => 'J', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O',
'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sh', 'Ъ' => '', 'Ы' => 'Y', 'Ь' => '', 'Э' => 'E', 'Ю' => 'Yu',
'Я' => 'Ya',
'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'yo', 'ж' => 'zh',
'з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o',
'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c',
'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sh', 'ъ' => '', 'ы' => 'y', 'ь' => '', 'э' => 'e', 'ю' => 'yu',
'я' => 'ya',
// Ukrainian
'Є' => 'Ye', 'І' => 'I', 'Ї' => 'Yi', 'Ґ' => 'G',
'є' => 'ye', 'і' => 'i', 'ї' => 'yi', 'ґ' => 'g',
// Czech
'Č' => 'C', 'Ď' => 'D', 'Ě' => 'E', 'Ň' => 'N', 'Ř' => 'R', 'Š' => 'S', 'Ť' => 'T', 'Ů' => 'U',
'Ž' => 'Z',
'č' => 'c', 'ď' => 'd', 'ě' => 'e', 'ň' => 'n', 'ř' => 'r', 'š' => 's', 'ť' => 't', 'ů' => 'u',
'ž' => 'z',
// Polish
'Ą' => 'A', 'Ć' => 'C', 'Ę' => 'e', 'Ł' => 'L', 'Ń' => 'N', 'Ó' => 'o', 'Ś' => 'S', 'Ź' => 'Z',
'Ż' => 'Z',
'ą' => 'a', 'ć' => 'c', 'ę' => 'e', 'ł' => 'l', 'ń' => 'n', 'ó' => 'o', 'ś' => 's', 'ź' => 'z',
'ż' => 'z',
// Latvian
'Ā' => 'A', 'Č' => 'C', 'Ē' => 'E', 'Ģ' => 'G', 'Ī' => 'i', 'Ķ' => 'k', 'Ļ' => 'L', 'Ņ' => 'N',
'Š' => 'S', 'Ū' => 'u', 'Ž' => 'Z',
'ā' => 'a', 'č' => 'c', 'ē' => 'e', 'ģ' => 'g', 'ī' => 'i', 'ķ' => 'k', 'ļ' => 'l', 'ņ' => 'n',
'š' => 's', 'ū' => 'u', 'ž' => 'z'
);
$str = preg_replace(array_keys($options['replacements']), $options['replacements'], $str);
if ($options['transliterate']) {
$str = str_replace(array_keys($char_map), $char_map, $str);
}
$str = preg_replace('/[^\p{L}\p{Nd}]+/u', $options['delimiter'], $str);
$str = preg_replace('/(' . preg_quote($options['delimiter'], '/') . '){2,}/', '$1', $str);
$str = mb_substr($str, 0, ($options['limit'] ? $options['limit'] : mb_strlen($str, 'UTF-8')), 'UTF-8');
$str = trim($str, $options['delimiter']);
return $options['lowercase'] ? mb_strtolower($str, 'UTF-8') : $str;
}
Kullanımı
$deger
gelen dosya adı olacak ve bu dosya adını bir değişkene atıyarak türkçe karakter sorunu düzelecek.
$turkceAd = permalink($deger);
$deger = "Bu Türkçe Bir Yazıdır";
echo permalink($deger); // oluşturulan dosya adı yani türkçe senf link şs,çc gibi
İyi günler hocam burda tayfun hocamız daha önceden yapmış olduğu bir video var umarım işinize yarar.