Kötü başarı php. Basit bir PHP ve AJAX örneği. js betiği oluşturma

  • 20.06.2020

başarı yolu


Yeterli bağımsızlık kazanıldığında, kişilik birçok yönden oluşumu sırasında zaten belirli bir ortam haline gelir. Bazı durumlarda, bu, olasılıklar yelpazesini o kadar uzmanlaştırır ve daraltır ki, en düşük seviyede oluşan birinin sadece en yüksek değil, hatta ikinci kişisel fırsatlar seviyesinde (yukarıda şartlı olarak belirtilmiştir) olmasına izin vermeyecektir. ). Tabii ki, kişilik üzerinde böyle bir etki, oldukça güçlü bir şekilde değişmeye motive olacağı göz ardı edilmez, ancak kişiliğin oluşumunda kritik gelişimin en önemli dönemleri zaten geride kalmıştır ve bu tür değişiklikler ölçülemeyecek kadar büyük çabalar gerektirecektir. kurtlar tarafından yetiştirilen yavrulara konuşmayı öğretmeye çalışırsanız.

Belki de tamamen size ait olmayan bir yola hazır ve yetenekli olup olmadığınızı çok dikkatli bir şekilde düşünmeye değer, öyle ki, ortaya çıkma uğruna önceki kişiliğin (bkz. Ego) ölümü hakkında konuşabilirsiniz. yeni, beceriksiz birinden. Mevcut işaretlere göre, sosyal iletişim tanıyıcıların kritik gelişim ve uzmanlaşma döneminin 20-30 yaşlarına düştüğü (ve bunun için çok önemli olan bileşenlerin 15-20 yıllık gelişim dönemlerine sahip olduğu) söylenebilir. yıllar) ve daha sonra sosyal bir rolde kendini büyük ölçüde değiştirme girişimi muhtemelen başarısızlığa yol açacaktır.

Genel olarak “kaybedenler”e gelince, deneyip de başarısız olanlar, sosyal etkileşim modelinde “başarısızlıklar” (yani, istenen ile alınan arasındaki uyumsuzluk), mücbir sebepler dışında, bunu yapma becerilerinin eksikliğidir. yeterli etkileşimler kurun. Beceriler, eğilimler temelinde oluşturulur ve kritik dönemlerde geliştirilmiş özel tanıyıcılardır ve yaratıcı bir şekilde bulunan bir davranış seçeneğini uygulamak için tüm pratik girişimlerde yaşam deneyimi ile düzeltilir.

Selamlar sevgili arkadaşım!

"Sizin için hayatta başarı nedir?"

Lütfen, bir düşünün, bir dakika durun.

Tamam, şimdi sana yardım etmeme izin ver. Neyin başarı olmadığı hakkında bir önceki bültende yazmıştım. Bu kavramları bir an önce terk edeceğiz.

Başarı ruhsal uyumdur.
Başarı mutlu olmaktır.
Başarı, kişinin kendini gerçekleştirmesi ve potansiyelini ortaya çıkarmasıdır.
Başarı, hayatta tatmin olmaktır.
Başarı, sizi ateşleyen sevdiğiniz şeyi yapmaktır ve bunu günün her saatinde yapabilirsiniz.
Başarı, kendini başkalarına vermek ve bu dünyayı daha iyi bir yer ve diğer insanları daha mutlu kılmaktır.
.

Başarı ayrılmaz bir şekilde zihin durumuyla bağlantılıdır. Ruhumuz bu dünyaya zevk almak ve kendini gerçekleştirmek için geldi ve biz (zihnimiz, bedenimiz, bilincimiz) onu bu konuda desteklemeliyiz. Ruhumuz kendini yarattığında ve fark ettiğinde mutlu oluyoruz. Ruhumuzun yaratılışının ve yaptıklarımızın diğer insanlara büyük fayda sağladığını hissettiğimizde ve gördüğümüzde, mutluluk duyarız. Başarı denilen şey budur. Başarı, hayatın tamamlanmasıdır.

Ruhun yeteneklerinin herhangi bir şekilde gerçekleşmesi ancak diğer insanlar sayesinde mümkündür.. Ruh kendisi için yaratmaz. Başkaları için yaratır - onlara yardım etmek ve başkalarının hayatlarını doldurmak ve onlara mutluluğunun bir parçasını vermek için. Mutlu bir insan mutluluğunun bir parçasını başkalarına, mutsuz bir insan mutsuzluğunu başkalarına aktarır. Mutsuz insanlardan kaçının!

Birdenbire tüm insanlar bir anda ortadan kaybolursa, kendini gerçekleştirme imkansız hale gelecektir - kitap yazmanın ne anlamı var, çünkü kimse okuyamayacak, yeni kıyafet modelleri yaratmanın ne anlamı var, çünkü kimse onları giymeyecek, ne kimsenin yaşamadığı yeni evler inşa etmenin amacı nedir?

Açıkçası bu mantıklı değil.

Burada kendini gösterir başarının ikili doğası: ruh kendini yaratır ve gerçekleştirir ve ayrıca diğer insanların daha mutlu olmasına yardımcı olur.
Verebileceğim en doğru başarı tanımı kulağa şöyle gelebilir: başarı, kişinin dünyamızı daha iyi, daha mükemmel ve insanları daha mutlu yapan gerçek yeteneklerinin farkına varmasıdır.

bunu derinden anlamanı istiyorum sadece kendileri için yaşayan ve sadece kendileri için servet toplayan insanlar mutsuzdur. Bu zenginlikleri, anlamsız bir hayatın sonucunda oluşan manevi boşluğu doldurmak için toplarlar. Ancak bu boşluk sadece sevgiyle doldurulabilir, diğer insanlara değer katabilir. Ruh, bu dünyayı daha iyi bir yer haline getirmek için kendini aşırıya kaçmadan verdiğinde mutlu olur. Ve bir insanın vefat ettiğinde topladığı tüm bu zenginliklerin ne anlamı var, çünkü dayanıklı değiliz. Ruh, değer yaratmaya, kendini gerçekleştirmeye gelir ve ardından "eve" döner. Bu değeri yaratmıyor, başka bir şeyle uğraşıyorsa kendini kötü hisseder. Bu dünyaya geldiğini ve istediğini yapmadığını hissediyor. Ve bunun nedeni zihnimizdir - bu kelimenin genel anlayışında "başarı" ile kördür. Aldatıcının peşinden gider ve bunu başardığında, eğer başarırsa, elde ettiği şeyin anlamsızlığını anlar.

Genel anlamda başarı nedir?
- zenginlik (para, maddi şeyler)
- şöhret, güç, popülerlik
- durum

Ama bak hepsi egodan geliyor. Bir kişi önemini hissetmek ister, ancak zenginliğin, şöhretin, statünün bir yanılsama olduğunu anlamaz. Deniz suyu gibidirler, ne kadar içersen iç susuzluğunu gideremezsin. Çünkü insanlar tüm hayatları boyunca onların peşinden koşarlar. Bu kadar para kazanırsam mutlu olacağımı, yılda 100.000 dolar gelir düzeyine ulaşırsam mutlu olacağımı, sahneye çıkıp şarkı söylersem, mutlu olacağımı, evleneceğimi düşünüyorlar. , Çocuğum olacak... Bakabilirsin ama %100 kesinlikle mutlu olmayacağını söyleyebilirim. Üstelik mutluluk seviyeniz daha da düşecek. Çağrınızdan uzaklaşıyorsunuz ve bunu anlayınca ruh daha da mutsuz oluyor. Ne kadar çok zenginlik, şöhret, statü elde ederseniz, zihin yaşam üzerinde o kadar fazla kontrol sahibi olur ve ruhun rolü o kadar ileri düşer. Fakat gerçek mutluluk ruhtan gelir!!!

Başarı ruh ve zihin arasındaki uyumdur. Aklın rolü, Yardım Edin kendini gerçekleştirme ruhu. Yanlış yola öncelik veriyoruz. Kısa ömürlü bedeni ve maddi şeyleri ilk sıraya, ölümsüz ruhu ve tükenmez zenginlikleri en son sıraya koyduk. Mukaddes Kitap, "Zenginliği yeryüzünde değil, cennette elde edin" der. Bedenimiz ruhun aracıdır. Ruh, Yüksek Akıl ile bağlantılıdır ve sadece bu dünya için neyin gerekli olduğunu anlayabilir. Evren kendi yolunda giden insanları tercih eder. Sizin yolunuz en az enerji tüketen yoldur ve bizim dünyamızda her şey en az dirençli yoldan akar. Her zaman başarının olayların normal seyri olduğunu söylerim. Başarısızlık, normdan sapmadır. Şimdi olmasını istediğiniz kadar başarılı değilseniz, yapmak istediğiniz şeyi yapmıyorsunuz demektir. Ruh ve zihin karşı karşıyadır. Ve bu anlaşmazlık ne kadar fazlaysa, kişi o kadar mutsuz olur.

Ama insanın maddi şeylere ihtiyacı olmadığını söylediğimi düşünmüyorsunuz. Çok gerekli. Ve işte nedeni: Bir kişinin parası olmadığında, işe gitmeye ve bir tür "aptallıkla" meşgul olmaya zorlanır. İnsan günde 10 saatini para kazanmak için harcar ama bunu yaparak kendini fark etmez. Patron kendini senin pahasına gerçekleştiren kişidir. (Çoğu durumda bunun nasıl olduğundan bahsediyorum. Çoğu insan işlerinden nefret eder, ancak hayatta kalmak için paraya ihtiyaçları olduğu için çalışırlar).

Maddi şeyler ruh için rahatlık yaratır. Maddi şeyler bu dünyayı ruh için donatır. İlham veren mekanlarda şaheserler yaratmak ruhun çok daha hoşuna gider. Deniz kenarındaki bir evde resim yapmak, bir "çöp çukurundan" çok daha iyidir. Yaratmak için ruhun huzura ve rahata ihtiyacı vardır. Ama ailenin yeterli parası yoksa ve her gün karı koca bu konuda yemin ederse ne tür bir barış olabilir.

Ruhun kendini ifade etmesi için zamana ihtiyacı vardır. Ancak bir süre geçtikten sonra, ruhun yarattığı değer, bir kişinin işyerinde aldığından yüzlerce, hatta binlerce kat daha pahalıya satılabilir ve satılabilir. Ancak bu tür bir değeri yaratmak zaman alır. Şahsen, yetersiz bir gelire ulaşmam 5 ayımı aldı. 8 ay sonra sitem zaten fakir bir ailenin geçimini sağlayabileceği gelir elde etmeye başladı. Ve ancak 17 ay sonra sitem, çok yüksek ücretli bir işten elde edilen gelirin yerini alacak olan gelir elde etmeye başladı.

İşi değiştirmek 17 ay sürdü. Ama şimdi özgürüm! Sevdiğim şeyi yapıyorum ve bu sadece başlangıç. Rüyalarım için sınır yok - ve bu nedenle benim için sınır yok. Kendi işinize baktığınız zaman, geliriniz sadece hayal gücünüzle sınırlıdır, başka bir şey değil. Kim işyerinde yılda 1.000.000 dolar kazanıyor? Evet, birimler olabilir. Ama kendi işini yapmak, bu bile bir şapel değil.
Malzeme önemlidir, ancak yalnızca yaşamın ihtiyaçlarını karşılamak için.

Dürüst olacağım: gelir olmadan şaheserler yaratmak ve yaratmak daha zordur. Zihin sürekli şöyle der: “Yaptığın şey iyi, ama biz ne için yaşayacağız?”. Ve bu soru sürekli ve güçlü bir şekilde yaratıcılıktan uzaklaşıyor. Mutluluğumuzu elimizden alıyor. Bu diyaloğu kapatmak için en sevdiğiniz eğlencenin para getirmesi gerekir. Tabii ki, zihin daha sonra başka sorular sormaya başlar, ancak en sevdiğiniz iş ne kadar çok para getirirse, bu sorular o kadar az acı verici ve dikkat dağıtıcı hale gelir.

Genellikle insanlar işte çalışır, para kazanır, ancak yine de hobileri vardır. hobi nedir?
Hobi, ruh için gelir getirmeyen bir uğraştır. Ama neden bir hobiyi işe çevirmiyorsunuz? En mutlu insanlar hobisi iş olanlardır. Durmadan sevdikleri işi yapıyorlar.
İş hakkında, para hakkında konuştuğum her şey, size iki önemli düşünceyi iletmek istiyorum: 1) Ruh ve zihin uyum içinde olmalıdır.
2) Maddi olmayan her zaman önce gelmelidir

Odak sadece maddi olmayan üzerinde olmalıdır! Sonuç olarak verilecek malzeme. İşte hayattaki doğru öncelikler:
mutluluk -> sağlık -> zenginlik Ve birçok insan şemaya göre yaşıyor
zenginlik->sağlık->mutluluk
Daha da kötüsü, plana göre yaşayan insanlar var.
servet->servet->servet

Mutlu olmamalarına şaşmamalı. Bu insanların milyonları var ama arkadaşları yok, aile sorunları var. İnsanlarla sorunları var. Çünkü etraflarındaki tüm insanların sadece paraları ve sırf paraları için yanlarında olduğunu düşünürler. Sizi bilmem ama ben böyle bir mutluluk istemezdim. Hayattaki öncelikler doğru belirlendiğinde, sonuç olarak zenginlik ortaya çıkar. Buna odaklanmanın bir anlamı yok. Yüksek düzeyde mutluluk ve sağlık, kaçınılmaz olarak yüksek gelir düzeylerine yol açar..

Maddi şeyler ve servetimiz sadece mutluluğumuza ek olarak hizmet edebilir. Vakıf olarak hizmet edemezler. Temel nedir, yukarıda sizinle zaten tartıştık.

Yeni parametre ayrıştırma API'si: Bu bölüm, Andrei Zmievski'nin yeni Zend parametre ayrıştırma API'sini belgelemektedir. PHP 4.0.6 ve 4.1.0 arasında tanıtıldı.

Parametreleri ayrıştırmak en yaygın ve sıkıcı işlemdir. Standart bir hata denetimi ve mesaj mekanizmasına sahip olmak da güzel olurdu. PHP 4.1.0'dan itibaren, tüm bunları yeni parametre ayrıştırma API'si ile yapmanın bir yolu var. Parametre alma sürecini büyük ölçüde basitleştirir, ancak dezavantajı, değişken sayıda parametre bekleyen fonksiyonlarda kullanılamamasıdır. ancak çoğu işlev bu kategoriye girmediğinden, yeni standart yol olarak bu ayrıştırma API'si önerilir.

Parametre ayrıştırma fonksiyonunun prototipi aşağıdaki gibidir:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);

Bu işlevin ilk argümanı, gerçekten işleve geçirilen parametrelerin sayısıdır, dolayısıyla burada ZEND_NUM_ARGS() kullanılabilir. İkinci parametre her zaman TSRMLS_CC makrosu olmalıdır. Üçüncü argüman, işlevinizin beklediği argümanların sayısını ve türlerini belirten bir dizedir, aynı şekilde bir printf biçim dizesinin çalışması gereken çıktı değerlerinin sayısını ve biçimini belirttiği gibi. Ve son olarak, argümanların geri kalanı, parametrelerden değer alması gereken değişkenlere işaretçilerdir.

zend_parse_parameters() ayrıca mümkün olduğunda tür dönüştürme gerçekleştirir, böylece verileri her zaman istediğiniz biçimde alırsınız. Herhangi bir skaler tür diğerine dönüştürülebilir, ancak karmaşık türler (diziler, nesneler ve kaynaklar) ile skaler türler arasında dönüştürmeye izin verilmez.

Parametre başarıyla alınabilirse ve dönüştürme sırasında herhangi bir hata olmazsa, işlev SUCCESS , aksi takdirde FAILURE döndürür. İşlev, alınan parametre sayısı istenen sayıyla eşleşmediğinde veya tür dönüşümü gerçekleştirilemezse bilgilendirici hata mesajları yazdırır.

İşte bazı hata mesajları örnekleri:

Uyarı! - ini_get_all() en fazla 1 parametre gerektirir, 2'si Uyarı! - wddx_deserialize() parametre 1'in dize, verilen dizi olmasını bekler

Doğal olarak, her hata mesajına dosya adı ve hatanın oluştuğu satır eşlik eder.

İşte tip belirteçlerinin tam listesi:

    s - string / string (muhtemelen sıfır bayt) ve uzunluğu

  • r - zval'de depolanan kaynak*

    a - zval* içinde depolanan dizi

    o - zval* içinde depolanan nesne (herhangi bir sınıfın)

    O - zval* içinde depolanan nesne (sınıf girişi tarafından belirtilen sınıfın)

    z - mevcut zval*

Aşağıdaki karakterlerin de spec dizesinde bir değeri vardır:

    | - kalan parametrelerin isteğe bağlı olduğunu gösterir. Bu parametrelere karşılık gelen depolama değişkenleri, herhangi bir parametre iletilmezse ayrıştırıcı işlevinden etkilenmeyeceklerinden, uzantı tarafından varsayılan değerlerine başlatılmalıdır.

    / - ayrıştırma işlevi çağrıları SEPARATE_ZVAL_IF_NOT_REF() onu takip eden parametre için, bir bağlantı olmadığı sürece, o parametrenin bir kopyasını sağlamak.

    Bunu izleyen parametre belirtilen türde veya NULL olabilir (yalnızca a, o, O, r veya z için geçerlidir). Kullanıcı tarafından NULL iletilirse, saklanan işaretçi NULL olarak ayarlanır.

Bu işlevin nasıl çalıştığını örneklerle göstermek en iyisidir:

Üçüncü örnekte, alınan parametre sayısı yerine kabul edilecek parametre sayısı için 3'ü geçtiğimize dikkat edin. ZEND_NUM_ARGS(). Bu, eğer fonksiyonumuz değişken sayıda parametre bekliyorsa, en az sayıda parametre almamızı sağlar. Tabii ki, diğer seçeneklerle çalışmak istiyorsanız, kullanmalısınız. zend_get_parameters_array_ex() onları almak için.

Ayrıştırıcı işlevinin, nasıl çalıştığını denetleyen ek bir bayraklar bağımsız değişkenine sahip genişletilmiş bir sürümü vardır.

int zend_parse_parameters_ex(int ​​bayraklar, int num_args TSRMLS_DC, char *type_spec, ...);

Şu anda iletilebilen tek işaret, işleve işlem sırasında herhangi bir hata mesajı yazdırmamasını söyleyen ZEND_PARSE_PARAMS_QUIET'tir. Bu, tamamen farklı argümanlardan oluşan birden fazla set bekleyen işlevlerde kullanılabilir, ancak hata mesajını kendiniz yazdırmanız gerekir.

Örneğin, bir dizi üç uzun veya bir dize nasıl elde edilir:

uzun 11,12,13; karakter*ler; if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "lll", &l1, &l2, &l3) == BAŞARI) ( /* uzun */ ile çalışır) else if (zend_parse_parameters_ex(ZEND_PARSE_PARA)" , &s_len) == BAŞARI) ( /* string ile çalışır */ ) else ( php_error(E_WARNING, "%s() argüman olarak üç uzun değer veya bir string alır", get_active_function_name(TSRMLS_C)); return; )

Bir fonksiyonun parametre alma yollarını kullanarak bu süreç hakkında iyi bir fikre sahip olmalısınız. Daha fazla örnek için PHP ile birlikte gönderilen uzantıların kaynak koduna bakın - bunlar sunulan her durumu gösterir.

Yeni parametre ayrıştırma API'si: Bu bölüm, Andrei Zmievski'nin yeni Zend parametre ayrıştırma API'sini belgelemektedir. PHP 4.0.6 ve 4.1.0 arasında tanıtıldı.

Parametreleri ayrıştırmak en yaygın ve sıkıcı işlemdir. Standart bir hata denetimi ve mesaj mekanizmasına sahip olmak da güzel olurdu. PHP 4.1.0'dan itibaren, tüm bunları yeni parametre ayrıştırma API'si ile yapmanın bir yolu var. Parametre alma sürecini büyük ölçüde basitleştirir, ancak dezavantajı, değişken sayıda parametre bekleyen fonksiyonlarda kullanılamamasıdır. ancak çoğu işlev bu kategoriye girmediğinden, yeni standart yol olarak bu ayrıştırma API'si önerilir.

Parametre ayrıştırma fonksiyonunun prototipi aşağıdaki gibidir:

int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);

Bu işlevin ilk argümanı, gerçekten işleve geçirilen parametrelerin sayısıdır, dolayısıyla burada ZEND_NUM_ARGS() kullanılabilir. İkinci parametre her zaman TSRMLS_CC makrosu olmalıdır. Üçüncü argüman, işlevinizin beklediği argümanların sayısını ve türlerini belirten bir dizedir, aynı şekilde bir printf biçim dizesinin çalışması gereken çıktı değerlerinin sayısını ve biçimini belirttiği gibi. Ve son olarak, argümanların geri kalanı, parametrelerden değer alması gereken değişkenlere işaretçilerdir.

zend_parse_parameters() ayrıca mümkün olduğunda tür dönüştürme gerçekleştirir, böylece verileri her zaman istediğiniz biçimde alırsınız. Herhangi bir skaler tür diğerine dönüştürülebilir, ancak karmaşık türler (diziler, nesneler ve kaynaklar) ile skaler türler arasında dönüştürmeye izin verilmez.

Parametre başarıyla alınabilirse ve dönüştürme sırasında herhangi bir hata olmazsa, işlev SUCCESS , aksi takdirde FAILURE döndürür. İşlev, alınan parametre sayısı istenen sayıyla eşleşmediğinde veya tür dönüşümü gerçekleştirilemezse bilgilendirici hata mesajları yazdırır.

İşte bazı hata mesajları örnekleri:

Uyarı! - ini_get_all() en fazla 1 parametre gerektirir, 2'si Uyarı! - wddx_deserialize() parametre 1'in dize, verilen dizi olmasını bekler

Doğal olarak, her hata mesajına dosya adı ve hatanın oluştuğu satır eşlik eder.

İşte tip belirteçlerinin tam listesi:

    s - string / string (muhtemelen sıfır bayt) ve uzunluğu

  • r - zval'de depolanan kaynak*

    a - zval* içinde depolanan dizi

    o - zval* içinde depolanan nesne (herhangi bir sınıfın)

    O - zval* içinde depolanan nesne (sınıf girişi tarafından belirtilen sınıfın)

    z - mevcut zval*

Aşağıdaki karakterlerin de spec dizesinde bir değeri vardır:

    | - kalan parametrelerin isteğe bağlı olduğunu gösterir. Bu parametrelere karşılık gelen depolama değişkenleri, herhangi bir parametre iletilmezse ayrıştırıcı işlevinden etkilenmeyeceklerinden, uzantı tarafından varsayılan değerlerine başlatılmalıdır.

    / - ayrıştırma işlevi çağrıları SEPARATE_ZVAL_IF_NOT_REF() onu takip eden parametre için, bir bağlantı olmadığı sürece, o parametrenin bir kopyasını sağlamak.

    Bunu izleyen parametre belirtilen türde veya NULL olabilir (yalnızca a, o, O, r veya z için geçerlidir). Kullanıcı tarafından NULL iletilirse, saklanan işaretçi NULL olarak ayarlanır.

Bu işlevin nasıl çalıştığını örneklerle göstermek en iyisidir:

Üçüncü örnekte, alınan parametre sayısı yerine kabul edilecek parametre sayısı için 3'ü geçtiğimize dikkat edin. ZEND_NUM_ARGS(). Bu, eğer fonksiyonumuz değişken sayıda parametre bekliyorsa, en az sayıda parametre almamızı sağlar. Tabii ki, diğer seçeneklerle çalışmak istiyorsanız, kullanmalısınız. zend_get_parameters_array_ex() onları almak için.

Ayrıştırıcı işlevinin, nasıl çalıştığını denetleyen ek bir bayraklar bağımsız değişkenine sahip genişletilmiş bir sürümü vardır.

int zend_parse_parameters_ex(int ​​bayraklar, int num_args TSRMLS_DC, char *type_spec, ...);

Şu anda iletilebilen tek işaret, işleve işlem sırasında herhangi bir hata mesajı yazdırmamasını söyleyen ZEND_PARSE_PARAMS_QUIET'tir. Bu, tamamen farklı argümanlardan oluşan birden fazla set bekleyen işlevlerde kullanılabilir, ancak hata mesajını kendiniz yazdırmanız gerekir.

Örneğin, bir dizi üç uzun veya bir dize nasıl elde edilir:

uzun 11,12,13; karakter*ler; if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "lll", &l1, &l2, &l3) == BAŞARI) ( /* uzun */ ile çalışır) else if (zend_parse_parameters_ex(ZEND_PARSE_PARA)" , &s_len) == BAŞARI) ( /* string ile çalışır */ ) else ( php_error(E_WARNING, "%s() argüman olarak üç uzun değer veya bir string alır", get_active_function_name(TSRMLS_C)); return; )

Bir fonksiyonun parametre alma yollarını kullanarak bu süreç hakkında iyi bir fikre sahip olmalısınız. Daha fazla örnek için PHP ile birlikte gönderilen uzantıların kaynak koduna bakın - bunlar sunulan her durumu gösterir.

Modern web çağında, çoğu site giderek daha etkileşimli hale geliyor. Daha önce, güncellenmiş verileri almak için tüm sayfayı güncellememiz gerekiyordu, şimdi sayfanın tamamen değil, yalnızca ayrı bir bölümünün yüklenmesine izin veren teknolojiler ortaya çıktı. Bu da hem kullanıcılar hem de sunucu sahipleri için kolaylık sağlar, çünkü kullanıcı için sayfanın yalnızca ayrı bir kısmı yüklendiğinden sayfa yükleme daha hızlı olacaktır ve sunucunun her seferinde sayfayı oluşturmasına ve vermesine gerek yoktur. kullanıcıya. Bu özelliklerin php ve ajax kullanılarak uygulanması kolaydır.

Bugün kavramın nasıl çalıştığını daha iyi anlamak için küçük bir örneği analiz edeceğiz. AJAX. Bazen yeni başlayanlar için php ve ajax'ın birbirleriyle nasıl etkileşime girdiğini anlamak zordur, birçok kişi tüm sayfayı yeniden yüklemeden formları anında nasıl doğrulayacaklarına dair örnekler arıyor. Gelecekte diğer araçlarda hızlı bir şekilde ustalaşmanıza ve kendi senaryolarınızı yazmanıza olanak sağlayacak temelleri ve ilkeleri anlayabilmeniz için bunun nasıl yapıldığını kısaca göstereceğim.

Kendimize küçük bir görev bulalım, php ve ajax kullanarak sayfayı yeniden yüklemeden veritabanında bir e-posta adresinin olup olmadığını kontrol edeceğiz. Böyle bir örnek, sayfayı tarayıcıda yeniden yüklemeden sunucuyla nasıl etkileşime geçebileceğimizi iyi bir şekilde gösterecektir ve ayrıca bu, genellikle çeşitli kullanıcı formu doğrulamalarında kullanılır. index.php , email.php , validate.js isimli kök dizinde 3 dosya oluşturalım.

Sayfa oluşturma

E-posta girmek için yalnızca bir alan içeren tek bir form içeren basit bir sayfa oluşturalım.
index.php dosyasının sözdizimi

AJAX Eğitimi



ile çalışmanın en kolay yolu AJAXçerçeveyi bağlamaktır jQuery ki tam olarak ne yaptım. jQuery bize göndermek için anlaşılması ve çalışması kolay bir sözdizimi sağlar AJAX istekler, neden bundan faydalanmıyorsunuz?

js betiği oluşturma

validate.js dosyası sözdizimi

$(document).ready(function()( var email = ""; $("#email").keyup(function()( var value = $(bu).val(); $.ajax(( tür: "POST", url:"email.php", data:"email="+değer, başarı:işlev(msg)( if(msg == "geçerli")( $("#message").html(" Bu e-posta kullanılabilir.Bu e-posta zaten alınmış."); ) ) ); )); $("#submit").click(function()( if(email == "")( alert("Lütfen tüm e-postalara veri koyun"); )else( $.ajax(( type: "POST", url:"email.php", data:"add_email="+email, Success:function(msg)( $("#message").html(msg); ) ) ); ) )); ));

php işleyicisi

Bu komut dosyası alacak İLETİİstemciden istekte bulunun, işleyin ve sonucu döndürün. AJAX sonucu okur ve ona göre karar verir.
email.php dosyasının sözdizimi

$bağlantı = mysqli_connect("localhost","email","email","email"); if(isset($_POST["email"]) && $_POST["email"] != "")( $email = $_POST["email"]; $email = mysqli_real_escape_string($bağlantı,$email); if (!filter_var($email, FILTER_VALIDATE_EMAIL))( echo "invalid"; )else( $sql = "SELECT id FROM email WHERE email="$email""; $result = mysqli_query($connection,$sql); if( mysqli_num_rows($result) == 1)( echo "geçersiz"; )else( echo "geçerli"; ) ) ) if(isset($_POST["add_email"]) && $_POST["add_email"] != "" )( $email = mysqli_real_escape_string($connection,$_POST["add_email"]); $sql = "E-postaya GİRİN(email) VALUES("$email")"; if(mysqli_query($bağlantı,$sql))( Eko başarı"; )else( yankı " hata"; } }

PHP betiğimizde, gönderi isteğini işleyen ve sayfadaki belirli metni yazdıran en yaygın kod. Sonuç olarak AJAX bir php betiğine bir istek gönderir, betik onu işler ve sonucu döndürür, AJAX sonucu okur ve sayfayı gerçek zamanlı olarak değiştirir.

AJAX, POST isteğini bu kod parçasıyla komut dosyasına iletir:

$.ajax(( type:"POST", url:"email.php", data:"email="+value, Success:function(msg)( if(msg == "geçerli")( $("#message)" ").html(" Bu e-posta kullanılabilir."); email = değer; )else( $("#message").html(" Bu e-posta zaten alınmış."); } } });

tür - İstek türü, POST veya GET. Bizim durumumuzda POST;
url - isteğin gönderildiği komut dosyasının adresi;
veri - istekte iletilen veriler;
başarı - başarılı bir istek sonucunda ne yapılmalı. Bizim durumumuzda bir fonksiyon çağrılır;

Komut dosyasının kendisinde, e-posta alanına her karakter girildiğinde, veritabanında e-posta olup olmadığının kontrolü gerçekleştirilir. Komut dosyasında, girdinin işlenmesinden $("#email").keyup(function()()); bölümü sorumludur. id = "email" olan alanda bir tuşa basıp basmadığını kontrol eden .
Gördüğünüz gibi, kod oldukça basittir ve anlamak için özellikle büyük beceriler gerektirmez, her şey keyup () olaylarının işlenmesine bağlıdır - bir tuşa basın, tıklayın () - bir öğe üzerinde fareyi tıklayın. Bunu takiben AJAX komut dosyasından istek ve yanıt. Böylece, php ve ajax kullanarak etkileşimli sayfalar oluşturmak için neredeyse sınırsız olanaklar elde edebilirsiniz.
Bu kod çok kaliteli gibi durmuyor ama geliştirip istemci ve sunucu seviyelerinde doğru doğrulamaları ekleyip css girerseniz projelerinizde kullanabilirsiniz.
Herhangi bir sorunuz varsa, yorum yazmaktan çekinmeyin.
İyi günler dilerim, görüşmek üzere 🙂