sql sorgusu için
CREATE TABLE IF NOT EXISTS proxy_data (
id INT AUTO_INCREMENT PRIMARY KEY,
proxy_info VARCHAR(255) NOT NULL,
last_accessed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);örnek php dosyası
<?php
// Veritabanı bağlantısı için bilgiler
$servername = "localhost"; // Sunucu adı
$username = "kullanici_adi"; // Veritabanı kullanıcı adı
$password = "sifre"; // Veritabanı şifresi
$dbname = "veritabani_adi"; // Veritabanı adı
// Veritabanı bağlantısını oluşturma
$conn = new mysqli($servername, $username, $password, $dbname);
// Veritabanı bağlantı hatası kontrolü
if ($conn->connect_error) {
die("Veritabanı bağlantı hatası: " . $conn->connect_error);
}
// Yeni proxy verisini ekleme
function addProxyData($proxy_info) {
global $conn;
$proxy_info = $conn->real_escape_string($proxy_info);
// Veritabanında aynı veri var mı kontrol etme
$check_query = "SELECT * FROM proxy_data WHERE proxy_info = '$proxy_info'";
$result = $conn->query($check_query);
if ($result->num_rows == 0) {
// Veri yoksa ekleme
$insert_query = "INSERT INTO proxy_data (proxy_info) VALUES ('$proxy_info')";
$conn->query($insert_query);
return true;
} else {
return false; // Veri zaten varsa ekleme
}
}
// Son erişim zamanına göre bekleyen veri sayısını alma
function getPendingDataCount() {
global $conn;
$twentyFourHoursAgo = date("Y-m-d H:i:s", strtotime('-24 hours'));
$count_query = "SELECT COUNT(*) AS count FROM proxy_data WHERE last_accessed_at < '$twentyFourHoursAgo'";
$result = $conn->query($count_query);
$row = $result->fetch_assoc();
return $row['count'];
}
// Bir veriyi getirme ve son erişim zamanını güncelleme
function getProxyData() {
global $conn;
$twentyFourHoursAgo = date("Y-m-d H:i:s", strtotime('-24 hours'));
$select_query = "SELECT * FROM proxy_data WHERE last_accessed_at < '$twentyFourHoursAgo' ORDER BY last_accessed_at ASC LIMIT 1";
$result = $conn->query($select_query);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$proxy_info = $row['proxy_info'];
// Son erişim zamanını güncelleme
$update_query = "UPDATE proxy_data SET last_accessed_at = CURRENT_TIMESTAMP WHERE id = " . $row['id'];
$conn->query($update_query);
return $proxy_info;
} else {
return null;
}
}
// Veritabanı bağlantısını kapatma
$conn->close();
?>admin.php
<?php
// Bu kısımda veritabanı bağlantısı ve gerekli fonksiyonlar yer almalı
// Giriş kontrolü
session_start();
// Giriş yapılmamışsa giriş sayfasına yönlendirme
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
header('Location: login.php');
exit;
}
// Yeni proxy ekleme
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST['proxy_info'])) {
$proxy_info = $_POST['proxy_info'];
if (addProxyData($proxy_info)) {
echo "Proxy verisi başarıyla eklendi.";
} else {
echo "Bu proxy verisi zaten mevcut.";
}
}
}
// Bekleyen veri sayısını al
$pending_count = getPendingDataCount();
?>
<!DOCTYPE html>
<html>
<head>
<title>Admin Paneli</title>
</head>
<body>
<h1>Admin Paneli</h1>
<p>Bekleyen veri sayısı: <?php echo $pending_count; ?></p>
<h2>Proxy Verisi Ekle</h2>
<form method="post" action="">
<label for="proxy_info">Proxy Bilgisi:</label><br>
<input type="text" id="proxy_info" name="proxy_info"><br><br>
<input type="submit" value="Ekle">
</form>
<br>
<a href="logout.php">Çıkış Yap</a> <!-- Çıkış yapmak için logout.php sayfasına yönlendirme -->
</body>
</html>