soz konusu apple olunca, dolarlari hazirlamak lazim :) kolay gelsin
formik, form islemlerini ve state'leri en kolay yonetebilecegin kutuphanelerden bir tanesi
yup, validasyon icin en kolay kullanabilecegin kutuphane
dil icinde formik icinde dili tutabilirsin, buna gore gosterimleri yapabilirsin, takildigin bir yer varsa yonlendirmeleri oyle yapabiliriz.
daha ayrinti verirsen belki gelismis form dersi cekebilirim, cokta kompleks isler olmadigini orada gostermis olurum :)
expo'nun kendi uygulamasi ile test edebilirsin, daha sonrasinda test flight var, app store'a gondermeden once oradan test ediliyor ios uygulamalari ama detaylara hakim degilim ufak bir arama ile muhtemelen bulunabilir, test flight senin olayin :)
selamlar, kullanabilirsin. nodejs ve python icin official sdk'leri var ancak curl kodlarini da her ornekte paylasiyorlar, ornegin php'de kullanmak istiyorsun, curl'den php'ye cevirip kullanabilirsin.
bunu icin su siteyi kullanabilirsin: https://incarnate.github.io/curl-to-php/
ornegin asagidaki curl kodu:
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
şöyle bir php koduna dönüşüyor:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.openai.com/v1/chat/completions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\n \"model\": \"gpt-3.5-turbo\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n }");
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Authorization: Bearer OPENAI_API_KEY';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
öncelikle lütfen soru başlıklarını daha mantıklı belirle.
sorununa gelecek olursak, prepare metodu içinde execute da yolladığın değerlerin başına : koyman gerekiyor. Yani:
if(isset($_POST["guncelle"])) {
$guncelle = $db->prepare("update kütüphane set adsoyad = :adsoyad, kulad = :kulad, sifre = :sifre, yas = :yas where id = :id");
$kontrol = $guncelle->execute(array(
"adsoyad" => $_POST["adsoyad"],
"kulad" => $_POST["kulad"],
"sifre" => $_POST["sifre"],
"yas" => $_POST["yas"],
"id" => $_POST["id"])
);
if($kontrol) {
header("Location:kullanici_guncelle.php");
exit;
}
else {
echo "Hata";
}
}
Login işlemi için back-end'e istek attığında, backend'den iki şey döneceksin.
- JWT token
- Kullanıcı Datası
React tarafında token değerini state'de tutacaksın. State'e eklerken aynı zamanda localStorage'a da ekleyeceksin.
Kullanıcı datasını da yine state'de tutacaksın ancak localStorage'a eklemene gerek yok.
Çünkü her sayfa yenilendiğinde ilk başta token değerin varsa gidip /user-info gibi bir end-point'e token'ı gönderip bu kullanıcının geçerli olup olmadığına bakacaksın.
Eğer token geçerliyse kullanıcı bilgileri dönecek, geçersizse react tarafında token'ı silip kullanıcının oturumunu sonlandıracaksın.
Eğer rol bazlı işlemler yapacaksan, users tablonda role ya da permissions gibi kolonların olabilir. User bilgisini döndürürken bunu state'de tutacağın için, projende istediğin yerde admin'se göster değilse gösterme gibi komutlar yazabilirsin.
Zaten backend'e istek attığında admin olup olmadığını orada da kontrol edeceğin için sorun olmayacaktır.
chatgpt'ye sordum su adimlari denemeni tavsiye etti:
- Chrome'u tamamen kapatın ve yeniden açın.
- Chrome'u en son sürüme güncelleyin.
- Chrome eklentilerinizi devre dışı bırakın ve yeniden deneyin.
- Tarayıcınızın önbelleğini ve çerezlerini temizleyin.
- Tarayıcınızı yeniden başlatın ve yeniden deneyin.
En kotu chrome'u silip yeniden yukleyip deneyebilirsin.
cunku string, bunda bir hata yok? yapmak istedigin nedir?
DELIMITER belirlemen gerekiyor. Yani şu kodu çalıştırırsan sorunun kalmaz:
DELIMITER $$
CREATE TRIGGER set_permanent_ban
AFTER INSERT ON sb_bans
FOR EACH ROW
BEGIN
DECLARE ban_count INT;
SET ban_count = (SELECT COUNT(*) FROM sb_bans WHERE player_id = NEW.player_id AND ban_type = 0 AND ban_reason LIKE '%SMAC 0.8.7.3: AutoTrigger Detection: Auto-Fire%');
IF ban_count >= 3 THEN
UPDATE sb_bans SET ban_type = 1, ban_length = 0 WHERE ban_id = NEW.ban_id;
END IF;
END $$
DELIMITER ;
nodejs sisteminde başarıyla kurulu mu? terminalden önce onu bir kontrol et
node -v
eğer tamamsa, create-nuxt-app paketini global olarak kurdun mu?
npm install -g create-nuxt-app
eğer bu da tamamsa proje oluşturmak için şöyle bir komut mu çalıştırdın?
create-nuxt-app proje-adi
eğer hala hata alıyorsan PATH doğru şekilde ayarlanmamış olabilir.
windows kullanıyorsan şu adımları takip et:
- Sistem ortam değişkenlerini düzenlemek için, "Denetim Masası" > "Sistem ve Güvenlik" > "Sistem" > "Gelişmiş sistem ayarları" > "Gelişmiş" sekmesini aç ve "Ortam Değişkenleri" düğmesine tıkla.
- "Sistem değişkenleri" bölümündeki "Path" değişkenini bul ve düzenle. Eğer burada create-nuxt-app'in yolunu görmüyorsan, komutun çalışması için gerekli olan create-nuxt-app'in global yükleme yolunu ekle. Genellikle bu yol, C:\Users\<KullanıcıAdı>\AppData\Roaming\npm şeklindedir. Her işletim sistemi ve yapılandırmaya bağlı olarak farklı olabilir.
mac yad alinux kullanıyorsan:
- Terminalde
echo $PATHkomutunu çalıştırarak mevcut PATH değişkenini kontrol et. - Eğer create-nuxt-app'in yolunu görmüyorsan, global yükleme yollarından birine eklemen lazım. Bu işlem için
~/.bashrc,~/.bash_profile,~/.zshrcgibi shell yapılandırma dosyalarını düzenleyebilirsin. Örneğin:
export PATH=$PATH:/usr/local/share/npm/bin
Bu satırı, uygun shell yapılandırma dosyasının sonuna ekle ve ardından source <shell_yapılandırma_dosyası> komutu ile yapılandırma dosyasını kaydet ve uygula. Örneğin, eğer .bashrc dosyasını düzenlediysen, source ~/.bashrc komutunu çalıştır.
Tüm değişikliklerin uygulandığından emin olduktan sonra, terminali kapat ve yeniden aç. Ardından, create-nuxt-app komutunu tekrar çalıştırarak Nuxt projesi oluşturmaya çalış. Muhtemelen çalışacaktır :) çalışmazsa tekrar yazarsın.