Merhabalar,
Bir adet telegram miniapp botu kodladım bilenler vardır
Babanas . Kullanıcılar ton wallet ile cüzdan adreslerini backendi php olan sisteme kaydetmeli ancak bir türlü veritabanına kayıt ettiremiyorum.
Döküman: https://www.npmjs.com/package/@tonconnect/ui cuzdan.php sayfamdaki script kodu <script src="https://unpkg.com/@tonconnect/ui@latest/dist/tonconnect-ui.min.js"></script><script>
const tonConnectUI = new TON_CONNECT_UI.TonConnectUI({
manifestUrl: 'https://xxxxx.com/tonconnect-manifest.json',
buttonRootId: 'connect-wallet'
});
const handleStatusChange = (walletAndWalletInfo) => {
// Mevcut bağlantı durumu
const currentIsConnectedStatus = tonConnectUI.connected;
const currentAccount = tonConnectUI.account;
if (currentIsConnectedStatus && currentAccount) {
const walletAddress = currentAccount.address;
console.log('Wallet Address:', walletAddress);
const username = '<?= $username; ?>';
fetch('kaydet.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
'wallet_address': walletAddress,
'username': username
})
})
.then(response => response.text())
.then(result => {
console.log(result);
})
.catch(error => console.error('Hata:', error));
} else {
console.error('Cüzdan bağlı değil veya bilgiler alınamıyor.');
}
};
</script>kaydet.php sayfam <?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Allow-Headers: Content-Type");
include("wisex.php");
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (!empty($_POST['wallet_address']) && !empty($_POST['username'])) {
$wallet_address = htmlspecialchars($_POST['wallet_address'], ENT_QUOTES, 'UTF-8');
$username = htmlspecialchars($_POST['username'], ENT_QUOTES, 'UTF-8');
try {
$sorgu = $baglanti->prepare("UPDATE kullanicilar SET wallet_address = :wallet_address WHERE username = :username");
$sorgu->bindParam(':wallet_address', $wallet_address);
$sorgu->bindParam(':username', $username);
if ($sorgu->execute()) {
echo "Cüzdan adresi başarıyla kaydedildi.";
} else {
echo "Cüzdan adresi kaydedilemedi.";
}
} catch (PDOException $e) {
echo "Veritabanı hatası: " . $e->getMessage();
}
} else {
echo "Gerekli veriler eksik.";
}
} else {
echo "Geçersiz istek.";
}
?>