Repository navigation
Expand file tree
/
Copy pathreviews.php
More file actions
164 lines (148 loc) · 8.9 KB
/
Copy pathreviews.php
File metadata and controls
164 lines (148 loc) · 8.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
require_once 'includes/db.php';
require_once 'includes/functions.php';
// Fetch stats for Schema
$avg_rating = get_average_rating($pdo);
$total_reviews = get_total_reviews_count($pdo);
// Filters
$service_filter = $_GET['service'] ?? '';
$sort = $_GET['sort'] ?? 'newest';
$query = "SELECT * FROM reviews WHERE status = 'approved'";
$params = [];
if ($service_filter) {
$query .= " AND service = ?";
$params[] = $service_filter;
}
if ($sort === 'rating_high') {
$query .= " ORDER BY rating DESC";
} elseif ($sort === 'rating_low') {
$query .= " ORDER BY rating ASC";
} else {
$query .= " ORDER BY created_at DESC";
}
$stmt = $pdo->prepare($query);
$stmt->execute($params);
$reviews = $stmt->fetchAll();
require_once 'partials/header.php';
?>
<!-- ADVANCED DYNAMIC SCHEMA FOR RICH RESULTS (STARS IN SEARCH) -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "ExploitInject Digital Service Experience",
"description": "Verified client reviews for ExploitInject SEO, Web Development, and Digital Marketing services.",
"brand": {
"@type": "Brand",
"name": "ExploitInject"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "<?php echo $avg_rating; ?>",
"bestRating": "5",
"worstRating": "1",
"reviewCount": "<?php echo $total_reviews; ?>"
},
"review": [
<?php foreach(array_slice($reviews, 0, 10) as $index => $r): ?>
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "<?php echo h($r['name']); ?>"
},
"datePublished": "<?php echo date('Y-m-d', strtotime($r['created_at'])); ?>",
"reviewBody": "<?php echo h($r['review_text']); ?>",
"reviewRating": {
"@type": "Rating",
"ratingValue": "<?php echo $r['rating']; ?>",
"bestRating": "5",
"worstRating": "1"
}
}<?php echo $index < count(array_slice($reviews, 0, 10)) - 1 ? ',' : ''; ?>
<?php endforeach; ?>
]
}
</script>
<main class="container" style="padding: 150px 0;">
<div style="margin-bottom: 6rem;">
<!-- SEO H1 Strategy: Intent Targeting -->
<h1 class="syncopate gradient-text" style="font-size: clamp(2rem, 5vw, 3.5rem); margin-bottom: 2rem;">ExploitInject Client Reviews & Proof</h1>
<p style="color: var(--text-muted); line-height: 1.8; font-size: 1rem; max-width: 900px;">
Read the latest verified reviews for ExploitInject. See how our SEO optimization and web development services have helped clients achieve their digital goals. Every review below is 100% authentic and manually verified.
</p>
</div>
<!-- Filters & Sort -->
<div style="background: rgba(255,255,255,0.02); padding: 3rem; border: 1px solid var(--border-color); margin-bottom: 5rem; border-radius: 4px;">
<form action="reviews.php" method="GET" style="display: flex; gap: 3rem; flex-wrap: wrap; align-items: flex-end;">
<div style="flex: 2; min-width: 250px;">
<label style="font-size: 0.7rem; color: var(--accent-primary); display: block; margin-bottom: 1rem; letter-spacing: 3px; font-weight: 700;">FILTER BY SERVICE STREAM</label>
<select name="service" onchange="this.form.submit()" class="input-field" style="background: transparent; border-bottom: 1px solid rgba(255,255,255,0.1); width: 100%; padding: 1rem 0;">
<option value="">ALL VERIFIED STREAMS</option>
<option value="SEO Optimization" <?php if($service_filter == 'SEO Optimization') echo 'selected'; ?>>SEO OPTIMIZATION REVIEWS</option>
<option value="Digital Marketing" <?php if($service_filter == 'Digital Marketing') echo 'selected'; ?>>DIGITAL MARKETING REVIEWS</option>
<option value="Web Development" <?php if($service_filter == 'Web Development') echo 'selected'; ?>>WEB DEVELOPMENT REVIEWS</option>
<option value="Cyber Security" <?php if($service_filter == 'Cyber Security') echo 'selected'; ?>>CYBER SECURITY REVIEWS</option>
<option value="Branding & Design" <?php if($service_filter == 'Branding & Design') echo 'selected'; ?>>BRANDING & DESIGN REVIEWS</option>
</select>
</div>
<div style="flex: 1; min-width: 200px;">
<label style="font-size: 0.7rem; color: var(--text-muted); display: block; margin-bottom: 1rem; letter-spacing: 3px;">SORT ORDER</label>
<select name="sort" onchange="this.form.submit()" class="input-field" style="background: transparent; border-bottom: 1px solid rgba(255,255,255,0.1); width: 100%; padding: 1rem 0;">
<option value="newest" <?php if($sort == 'newest') echo 'selected'; ?>>NEWEST FIRST</option>
<option value="rating_high" <?php if($sort == 'rating_high') echo 'selected'; ?>>HIGHEST RATED</option>
<option value="rating_low" <?php if($sort == 'rating_low') echo 'selected'; ?>>LOWEST RATED</option>
</select>
</div>
</form>
</div>
<!-- Stats Bar for Trust -->
<div style="display: flex; gap: 3rem; margin-bottom: 6rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,0.05);">
<div style="flex: 1;">
<span style="font-size: 0.7rem; color: var(--text-muted); letter-spacing: 2px;">AGGREGATE SCORE</span>
<div style="font-size: 2.5rem; font-weight: 800; color: var(--accent-primary); margin-top: 1rem;"><?php echo $avg_rating; ?> / 5.0</div>
</div>
<div style="flex: 1;">
<span style="font-size: 0.7rem; color: var(--text-muted); letter-spacing: 2px;">TOTAL VERIFIED CLIENTS</span>
<div style="font-size: 2.5rem; font-weight: 800; margin-top: 1rem;"><?php echo $total_reviews; ?></div>
</div>
</div>
<!-- Review Grid -->
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 4rem;">
<?php foreach($reviews as $r): ?>
<article class="review-card reveal">
<div class="stars" style="color: #ffd700; font-size: 1.2rem; margin-bottom: 1.5rem;">
<?php for($i=1; $i<=5; $i++) echo $i <= $r['rating'] ? '★' : '☆'; ?>
</div>
<p class="review-text" style="font-size: 1.05rem; line-height: 1.9; font-style: italic; color: #eee;">"<?php echo h($r['review_text']); ?>"</p>
<footer class="reviewer-meta" style="margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.05);">
<div style="display: flex; flex-direction: column; gap: 0.5rem;">
<span class="reviewer-name" style="font-weight: 700; letter-spacing: 1px; font-size: 0.95rem;"><?php echo h($r['name']); ?></span>
<div style="display: flex; align-items: center; gap: 1rem;">
<span class="service-tag" style="background: rgba(255,255,255,0.05); padding: 4px 10px; border-radius: 2px; font-size: 0.65rem; color: var(--text-muted);"><?php echo h($r['service']); ?></span>
<?php if($r['is_verified']): ?>
<span style="color: var(--accent-primary); font-size: 0.65rem; font-weight: 700; letter-spacing: 1px;"><i data-lucide="shield-check" style="width: 14px; vertical-align: middle;"></i> VERIFIED CLIENT</span>
<?php endif; ?>
</div>
</div>
</footer>
</article>
<?php endforeach; ?>
<?php if(empty($reviews)): ?>
<div style="grid-column: 1 / -1; text-align: center; padding: 15rem 0; background: rgba(255,255,255,0.01); border: 1px dashed var(--border-color);">
<p class="syncopate" style="color: var(--text-muted); letter-spacing: 3px;">DATA STREAM EMPTY. NO RECORDS FOUND.</p>
<a href="reviews.php" style="margin-top: 2rem; display: inline-block; color: var(--accent-primary); font-size: 0.8rem; text-decoration: none;">RESET FILTERS</a>
</div>
<?php endif; ?>
</div>
<!-- Bottom CTA for Linking Depth -->
<div style="margin-top: 10rem; text-align: center; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 6rem;">
<h3 class="syncopate" style="font-size: 1.5rem; margin-bottom: 2rem;">Ready to start your journey?</h3>
<p style="color: var(--text-muted); margin-bottom: 4rem; max-width: 600px; margin-left: auto; margin-right: auto;">Join our list of satisfied clients and see the results for yourself. Your success is our mission.</p>
<div style="display: flex; gap: 2rem; justify-content: center;">
<a href="https://exploitinject.dev/" class="btn btn-primary" target="_blank">View Our Services</a>
<a href="submit-review.php" class="btn btn-outline">Submit Your Review</a>
</div>
</div>
</main>
<?php require_once 'partials/footer.php'; ?>