| Server IP : 173.209.174.21 / Your IP : 216.73.216.89 Web Server : Apache/2.4.58 (Ubuntu) System : Linux wcfs-server 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : nodor ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/housetabpro/ |
Upload File : |
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$WEBHOOK_URL = "https://api.housetabpro.com/lead.php";
$WEBHOOK_SECRET = "HouseTabProWebhookSecret123";
$errors = [];
$success = false;
$debug_message = '';
function h($value) {
return htmlspecialchars($value ?? '', ENT_QUOTES, 'UTF-8');
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = trim($_POST['name'] ?? '');
$store = trim($_POST['store'] ?? '');
$email = trim($_POST['email'] ?? '');
$phone = trim($_POST['phone'] ?? '');
$qbo = trim($_POST['qbo'] ?? '');
$customers = trim($_POST['customers'] ?? '');
$message = trim($_POST['message'] ?? '');
if ($name === '') {
$errors[] = "Name is required.";
}
if ($store === '') {
$errors[] = "Store name is required.";
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errors[] = "A valid email is required.";
}
if (empty($errors)) {
$payload = [
"name" => $name,
"store" => $store,
"email" => $email,
"phone" => $phone,
"qbo" => $qbo,
"customers" => $customers,
"message" => $message,
"source" => "housetabpro.com/demo",
"submitted_at" => gmdate('c'),
"ip" => $_SERVER['REMOTE_ADDR'] ?? '',
"ua" => $_SERVER['HTTP_USER_AGENT'] ?? ''
];
if (!function_exists('curl_init')) {
$errors[] = "PHP cURL is not installed on this server.";
} else {
$ch = curl_init($WEBHOOK_URL);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 20,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-HTP-Secret: " . $WEBHOOK_SECRET
],
CURLOPT_POSTFIELDS => json_encode($payload)
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curlError = curl_error($ch);
$curlErrno = curl_errno($ch);
curl_close($ch);
$debug_message = "HTTP Code: {$httpCode} | cURL Errno: {$curlErrno} | cURL Error: {$curlError} | Response: {$response}";
if ($response !== false && $httpCode >= 200 && $httpCode < 300) {
$success = true;
} else {
$errors[] = "Webhook failed.";
error_log("HouseTab Pro webhook error: " . $debug_message);
}
}
}
}
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Request a Demo | HouseTab Pro</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header class="site-header">
<div class="container nav">
<div class="logo-wrap">
<img class="logo-icon" src="images/house-tab-pro-app-icon.svg" alt="HouseTab Pro icon">
<div>
<div class="brand-name">HouseTab Pro</div>
<div class="brand-tag">Digital House Accounts. Simple. Accurate.</div>
</div>
</div>
<nav>
<a href="index.php">Home</a>
</nav>
</div>
</header>
<section class="section">
<div class="container form-wrap">
<div class="section-heading left">
<p class="eyebrow">Request a Demo</p>
<h1>Tell us about your store</h1>
<p>Fill out the form below and we’ll follow up with next steps.</p>
</div>
<?php if ($success): ?>
<div class="alert success">
<strong>Thanks!</strong> Your request has been sent successfully.<br><br>
Redirecting back to the main page...
</div>
<meta http-equiv="refresh" content="4;url=index.php">
<?php endif; ?>
<?php if (!empty($errors)): ?>
<div class="alert error">
<?php foreach ($errors as $error): ?>
<div><?php echo h($error); ?></div>
<?php endforeach; ?>
<?php if ($debug_message !== ''): ?>
<hr style="margin:12px 0;">
<div><strong>Debug:</strong></div>
<div style="word-break: break-word;"><?php echo h($debug_message); ?></div>
<?php endif; ?>
</div>
<?php endif; ?>
<form method="post" class="demo-form">
<div class="form-grid">
<div>
<label for="name">Your Name *</label>
<input type="text" id="name" name="name" value="<?php echo h($_POST['name'] ?? ''); ?>" required>
</div>
<div>
<label for="store">Store Name *</label>
<input type="text" id="store" name="store" value="<?php echo h($_POST['store'] ?? ''); ?>" required>
</div>
</div>
<div class="form-grid">
<div>
<label for="email">Email *</label>
<input type="email" id="email" name="email" value="<?php echo h($_POST['email'] ?? ''); ?>" required>
</div>
<div>
<label for="phone">Phone</label>
<input type="text" id="phone" name="phone" value="<?php echo h($_POST['phone'] ?? ''); ?>">
</div>
</div>
<div class="form-grid">
<div>
<label for="qbo">Do you use QuickBooks Online?</label>
<select id="qbo" name="qbo">
<option value="">Select...</option>
<option value="Yes" <?php echo (($_POST['qbo'] ?? '') === 'Yes') ? 'selected' : ''; ?>>Yes</option>
<option value="No" <?php echo (($_POST['qbo'] ?? '') === 'No') ? 'selected' : ''; ?>>No</option>
</select>
</div>
<div>
<label for="customers">Approximate number of house account customers</label>
<select id="customers" name="customers">
<option value="">Select...</option>
<option value="1-25" <?php echo (($_POST['customers'] ?? '') === '1-25') ? 'selected' : ''; ?>>1-25</option>
<option value="26-75" <?php echo (($_POST['customers'] ?? '') === '26-75') ? 'selected' : ''; ?>>26-75</option>
<option value="76-200" <?php echo (($_POST['customers'] ?? '') === '76-200') ? 'selected' : ''; ?>>76-200</option>
<option value="200+" <?php echo (($_POST['customers'] ?? '') === '200+') ? 'selected' : ''; ?>>200+</option>
</select>
</div>
</div>
<div>
<label for="message">Message</label>
<textarea id="message" name="message" rows="6"><?php echo h($_POST['message'] ?? ''); ?></textarea>
</div>
<div class="form-actions">
<button type="submit" class="btn">Send Request</button>
<a href="index.php" class="btn btn-secondary">Back to Home</a>
</div>
</form>
</div>
</section>
<footer class="site-footer">
<div class="container footer-flex">
<div>
<div class="logo-wrap">
<img class="logo-icon" src="images/house-tab-pro-app-icon.svg" alt="HouseTab Pro icon">
<div>
<strong>HouseTab Pro</strong><br>
Digital House Accounts. Simple. Accurate.
</div>
</div>
</div>
</div>
</footer>
</body>
</html>