wordpress form prosessinq

Salam wordpressdə bir formum var, form verilənlərinin başqa php faylında bazaya yazmaq istəyirəm. Həmin faylı tema qovluğunun içində saxlamalıyam? Sizcə bu cür yanaşma düzgündür? Təhlüksizlik cəhətdən nəsə problem falan olmazki?


Kateqoriya: Sual . , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (4 cavab var)

(19:22, 01/05/2015 ) #55180

WordPress CMF-ində bunun üçün theme template məntiqi var. Tutaq ki anket.php yaradırsız theme-in içində, içində də həm formun html-ini, həm də prosessinq skriptini yazırsız, faylda ən üstdə

 <?php /* Template name: Anketim */ ?> 

yazıb save edirsiz. Sonra istənilən səhifə yaradırsız admin paneldə, save edərkən sağ qutucuqda template bölməsindən default əvəzinə Anketim seçirsiz. Vəssalam.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(19:41, 01/05/2015 ) #55181

Bəli məndə bu formada etmişəm, sadəcə olaraq form prosessinqi başqa yerdə etməyimin məqsədi təkrar həmin səhifəyə(formun olduğu) yönləndirmək istəməyimdir.

Deməli formu doldurdub submit etdikdən sonra, səhifəni yenilədikdə yenə post edir(deyəsən cavablar.net-də də eyni problem var, şərh yazdıqdan sonra, səhifəni yenilədikdə yenə şərh yazır…). qarşısın almaq üçün post/redirect/get patterni işlətmək istəyirəm.
prosessinq scripti formla eyni yerdə olduqda təkrar yönləndirəndə header already sent xətası alıram buna görə prosessinqi basqa yerdə etməyi qərara aldım.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (19:49, 01/05/2015 ) #55183

    Cavablar.net-də o problem deyil, çünki suallar moderasiyaya düşür, əgər o bir gün bizə problem yaşadarsa 30-40 saniyəlik kod ilə həlli var 🙂
    Siz postu insert etdikdən bir sözlə processing əməliyyatını bitirdikdən sonra wp_redirect əmri ilə cari səhifəyə redirect etsəz iş tamamdır. Dediyiniz qədərilə hər şeyi düz etmisiz, tək xətanız bu kodu ən üstdə yox, yəqin ki forma yaxın bir yerlərdə yazmağınızdır. Oysa processing kod ən yuxarıda, get_header()-dən belə yuxarıda olmalıdır və mütləqdir.
    template name: Anket – bu sətirdən dərhal aşağıda if isset(post(anket deyiseni) {form prosessing…} blokunuzu daxil edin.
    həm burda həm də başqa php kodlamada həmişə nəzərə alın, əgər header təyin edirsizsə(location,content-type və.s. fərq etmir), o mütləq bütün html kodlardan yuxarıda olmalıdır. Hətta bir dənə boşluq belə onun işləməməsinə gətirib çıxaracaq. php teqi içində olan boşluqdan getmir ha söhbət, html ərazidən gedir. (php teqindən kənar)

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(20:21, 01/05/2015 ) #55187

çox sağ olun, Elvin bəy, prosessinq hissəsini ən yuxarıya daşıdım problem həll oldu.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Software Developer - 571 xal

E. Hacı - 560 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 411 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Bextiyar Azeroglu - 214 xal

Sistemə daxil olmuş 17327 sualdan 94%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2016