Replit'te form
Replit Agent iletişim formu için sık sık Express route ve veritabanı ekler. Prompt formu frontend'de tutar ve Formgong'a gönderir.
- Ana sayfadan access key alın.
- Replit uygulamasını açın ve promptu Agent'a yapıştırın.
- Form için yeni sunucu route'u, veritabanı veya secret eklenmediğini kontrol edin.
- Yayınlayın, test başvurusu gönderin ve Formgong gelen kutusunda açın.
Prompt
Uygulamaya kendi backend'i olmayan bir iletişim formu ekle. Başvuruları Formgong alır. - POST https://formgong.com/submit (düz HTML form veya fetch) - Değeri fk_your_access_key olan gizli access_key alanı (anahtar herkese açıktır) - Alanlar name, email, message; etiketler Türkçe - Ekran dışında gizli honeypot alanı botcheck - Bu form için Express veya Flask route, veritabanı, Replit Secrets ya da nodemailer ekleme - fetch için: Accept: application/json; başarı: json.success === true Ayrıca: - Değeri tr olan gizli _lang alanı (sayfanın dili): hata mesajları, teşekkür sayfası ve otomatik yanıt Türkçe olur. - İsteğe bağlı: teşekkür sayfanızın tam https adresini taşıyan gizli _redirect alanı. Yoksa Formgong kendi teşekkür sayfasını gösterir. - İsteğe bağlı: sayfaya bir kez <script src="https://formgong.com/fg.js" async></script>. _lang alanını <html lang> değerinden doldurur ve form görüntülemelerini çerezsiz sayar. - Turnstile'ı yalnızca site key verirsem ekle.
En kısa kod
React bileşeni
"use client";
import { useState } from "react";
export function ContactForm() {
const [status, setStatus] = useState("");
async function onSubmit(event) {
event.preventDefault();
const fields = Object.fromEntries(new FormData(event.currentTarget));
const response = await fetch("https://formgong.com/submit", {
method: "POST",
headers: { "Content-Type": "application/json", Accept: "application/json" },
body: JSON.stringify({ _lang: "tr", ...fields, access_key: "fk_your_access_key" }),
});
const result = await response.json();
setStatus(result.message || (result.success ? "Gönderildi. Teşekkürler!" : "Gönderilemedi. Lütfen tekrar deneyin."));
}
return (
<form onSubmit={onSubmit}>
<label>Ad <input name="name" placeholder="Adınız" required /></label>
<label>E-posta <input name="email" type="email" placeholder="siz@ornek.com" required /></label>
<label>Mesaj <textarea name="message" placeholder="Size nasıl yardımcı olabiliriz?" required /></label>
<div aria-hidden="true" style={{ position: "absolute", left: "-10000px" }}>
<input name="botcheck" tabIndex={-1} autoComplete="off" />
</div>
<button type="submit">Gönder</button>
<p role="status">{status}</p>
</form>
);
}Yayınlamadan önce
- Form https://formgong.com/submit adresine gönderiyor (form action'ı veya fetch URL'si).
- access_key alanında fk_your_access_key değil, Formgong panelindeki anahtarınız var.
- Gizli ve boş bir botcheck alanı var.
- _lang sayfanın diliyle aynı.
- Form için API route, sunucu fonksiyonu, veritabanı tablosu veya secret eklenmedi.
- Test başvurusu Formgong gelen kutusunda ve e-postanızda görünüyor.