Kl3sty
Hectopat
- Katılım
- 3 Kasım 2019
- Mesajlar
- 6
Merhabalar aşağıda görmüş olduğunuz kodda veritabanımdaki metinleri while döngüsü ile yazdırıyorum ve bunları gene bir döngü ile veritabanına yazmaya çalışıyorum ama ne yaparsam yapayım sadece boş veri yazıyor. Yardımcı olursanız sevinirim.
Kod:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
<title>ZortRP-Panel Giriş</title>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<link rel="stylesheet" href="css/whitelist.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<script src='main.js'></script>
</head>
<?php
// Veritabani baglantisi
$servername = "localhost";
$username = "root";
$password = "rootroot";
$dbname = "panel";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Veritabani baglantisi basarisiz: " . $conn->connect_error);
}
session_start();
if(!$_SESSION['logged_in']){
header('Location: error.php');
exit();
}
extract($_SESSION['userData']);
$avatar_url = "htt/avatars/$discord_id/$avatar.jpeg";
// Verileri çekme
$sql = "SELECT * FROM metinler";
$result = $conn->query($sql);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Öncelikle giriş yapmış kullanıcının Discord kimliğini alıyoruz
$discord_id = $_SESSION['userData']['discord_id'];
// SQL enjeksiyonunu önlemek için escape işlemi
$discord_id = $conn->real_escape_string($discord_id);
// Her bir soru için döngü
for ($i = 1; $i <= 15; $i++) {
// Kullanıcı tarafından gönderilen cevabı alıyoruz, eğer cevap yoksa boş bir dize kullanıyoruz
$answer = isset($_POST['answer'][$i]) ? $_POST['answer'][$i] : '';
// SQL enjeksiyonunu önlemek için escape işlemi
$answer = $conn->real_escape_string($answer);
// Soru sütununu oluşturuyoruz
$soru = "cevap" . $i;
// SQL sorgusunu oluşturuyoruz
$sql = "UPDATE discord_users SET $soru = '$answer' WHERE discord_id = '$discord_id'";
// SQL sorgusunu çalıştırıyoruz
if ($conn->query($sql) !== TRUE) {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
}
$conn->close();
?>
<body>
<div class="container">
<h1>Whitelist sorular <br> Application Panel</h1>
<div class="flex items-center justify-center h-screen bg-discord-gray flex-col" style="color:white;">
<div class="flex items-center mt-4">
<img class="rounded-full w-12 h-12 mr-3" src="<?php echo $avatar_url?>" /><br>
<span class="text-3xl text-white font-semibold"><?php echo $name;?></span><br>
<span class="text-3xl text-white font-semibold"><?php echo $discord_id;?></span><br>
<span class="text-3xl text-white font-semibold"><?php echo $email;?></span>
</div>
</div><br><br>
<form method="post">
<?php
if ($result->num_rows > 0) {
// Verileri yazdırma
while($row = $result->fetch_assoc()) {
echo "<div style='color: white;'>" . $row["metin"] . "</div>";
// Eğer secenek1 ve secenek2 tanımlıysa radyo butonları oluştur
if (isset($row["secenek1"]) && isset($row["secenek2"])) {
echo "<div class='radio-container'>";
echo "<div>";
echo "<input type='radio' name='answer[" . $row["id"] . "]' value='secenek1'>" . $row["secenek1"];
echo "</div>";
echo "<div>";
echo "<input type='radio' name='answer[" . $row["id"] . "]' value='secenek2'>" . $row["secenek2"];
echo "</div>";
echo "</div>";
echo "<hr width='420'><br><br>";
}
// Değilse, metni girmek için bir metin giriş alanı oluştur
else {
echo "<input type='text' name='answer[" . $row["id"] . "]' placeholder='Cevap yaz...' required><br>";
echo "<hr width='420'><br><br>";
}
}
} else {
echo "Veri bulunamadı.";
}
?>
<input type="submit" value="Gönder"><h6>2024 © ZortRP</h6><br></div></div></div></div></div>
</form>
</div>
</body>
<script>
if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}
</script>
</html>
Son düzenleyen: Moderatör: