# PAIDSURVEYHUB 25 FEB 2026 - REPOSITORY ================================================================================ Project Name: PaidSurveyHub 25 Feb 2026 Created: 2026-02-25 10:26:10 Last Updated: 2026-02-25 10:26:31 Source ZIP: paidsurveyhubdotin.zip Total Files: 78 Total Folders: 5 ================================================================================ ## FILE STRUCTURE ================================================================================ PaidSurveyHub 25 Feb 2026/ ├── config/ │ └── config.php ├── faq.php ├── about-us.php ├── payment-info.php ├── login.php ├── dashboard.php ├── logout.php ├── default.php ├── index.php ├── terms-conditions.php ├── signup.php ├── survey-detail.php ├── reply-my-ticket.php ├── assets/ │ └── style.css ├── my-tickets.php ├── refund-policy.php ├── management/ │ ├── manage-tickets.php │ ├── dashboard.php │ ├── logout.php │ ├── settings.php │ ├── manage-members.php │ ├── manage-reviews.php │ ├── index.php │ ├── add-survey.php │ ├── manage-surveys.php │ ├── change-password.php │ ├── view-ticket.php │ ├── edit-survey.php │ ├── reply-ticket.php │ ├── edit-member.php │ └── delete-survey.php ├── reply-ticket.php ├── privacy-policy.php ├── uploads/ │ ├── 68edd073ee150.png │ ├── 68edd0905964e.png │ ├── 68e88bf2dc063.png │ ├── 68edce4eb7c22.png │ ├── 68edd97dc4796.png │ ├── 68edcc9480035.png │ ├── 68edce63b0703.png │ ├── 68e88b5160c95.png │ ├── 68edd6b7a0c1a.png │ ├── 68edcd78911f5.png │ ├── 68e88a7f0c767.png │ ├── 68edd0e848cc0.png │ ├── 68edd93bcfd6c.png │ ├── 68edd0be75ae0.png │ ├── 68e88b6790d1b.png │ ├── 68edd03298b6e.png │ ├── 68edd9d510318.png │ ├── 68e88b5c4655f.png │ ├── 68edccd2534f9.png │ ├── 68edccb23c2be.png │ ├── 68e88a92c53b1.png │ ├── 68edcd6f78121.png │ ├── 68edcd5997a3b.png │ ├── 68edd6e182b08.png │ ├── 68e88bd4a06c7.png │ ├── 68edd0a7d599a.png │ ├── 68edd92d82712.png │ ├── 68edcff06b7d0.png │ ├── 68edd9c4dfe5a.png │ ├── 68edce59a613a.png │ ├── 68e88bdeaf176.png │ ├── 68edd9116ae54.png │ ├── 68e875094c5cd.png │ ├── 68edd006792c7.png │ ├── qr_code_1760414613.jpg │ ├── 68edcf110c490.png │ ├── 68edcf6fa789e.png │ ├── 68e88be9460c0.png │ ├── 68edcd648c161.png │ └── 68edd04c7358e.png ├── create-admin.php ├── contact.php ├── includes/ │ ├── footer.php │ └── header.php └── verify-email.php ================================================================================ ## FILE CONTENTS ================================================================================ ### FILE 1: about-us.php - Type: PHP - Size: 11.36 KB - Path: . - Name: about-us.php ------------------------------------------------------------

About Paid Survey Hub India

Your Trusted Gateway to Genuine Paid Online Survey Opportunities in India

Our Mission

At Paid Survey Hub India, our mission is simple yet powerful: to connect Indians with genuine, verified paid online survey opportunities while eliminating the confusion and frustration of finding legitimate survey platforms.

We understand the challenges Indian survey takers face – countless scam websites, non-paying platforms, and endless searching for reliable opportunities. That's why we created a one-stop solution: a carefully curated database of 50+ verified survey companies that actually operate in India and pay their members.

Why We Started

The online survey industry in India is booming, with thousands of Indians looking to earn extra income from the comfort of their homes. However, the market is flooded with:

❌ Scam Websites

Sites that collect your data but never pay

🌍 Limited Access

International sites that don't accept Indian members

⏰ Time Wasters

Sites with disqualifications after 20 minutes

We decided to solve this problem by doing the hard work for you – researching, testing, and verifying genuine survey platforms that welcome Indian participants and actually pay for your time and opinions.

What Makes Us Different

1

Verified Survey Sites Only

Every survey site in our database is personally tested and verified for Indian accessibility and payment proof.

2

Zero Payment, Lifetime Access

Just signup once and get lifetime access to 50+ survey sites plus all future additions. No fees of any kind.

3

Member Reviews & Ratings

Read real experiences from other Indian survey takers. Our member rating system helps you find the best opportunities.

4

Dedicated Support

Got questions? Our support team is here to help you navigate your survey-taking journey.

5

Regular Updates

We continuously add new verified survey sites and remove non-performing ones to keep your opportunities fresh.

Our Commitment to Quality

We take quality seriously. Before any survey site makes it to our platform:

Who We Serve

Paid Survey Hub India is perfect for:

🎓

Students

Earn pocket money between classes

🏠

Homemakers

Contribute to household income

💼

Working Professionals

Earn extra income in spare time

👴

Retirees

Stay active and earn from home

Our Promise

We promise to:

  • Only list verified, genuine survey opportunities
  • Keep our database updated with new opportunities
  • Provide honest information about each survey site
  • Offer responsive member support
  • Maintain your privacy and data security
  • Continuously improve our platform based on member feedback

Join Thousands of Happy Members

Since our launch, we've helped thousands of Indians discover legitimate survey opportunities and start earning extra income online. Our members appreciate the time and frustration we save them by providing a single, reliable source for all their survey-taking needs.

Ready to start your survey-taking journey?

Get Started Today - Join Now

Zero fees • Lifetime access • 50+ verified survey sites

-------------------- END OF FILE -------------------- ### FILE 2: contact.php - Type: PHP - Size: 7.34 KB - Path: . - Name: contact.php ------------------------------------------------------------ query($sql)) { $ticket_id = $conn->insert_id; $success = "Your ticket has been submitted successfully! Our support team will respond within 24 hours."; } else { $error = "Failed to send message. Please try again."; } } } $page_title = 'Contact Us'; include 'includes/header.php'; ?>

Contact Us

✅ Ticket Submitted Successfully!

Your Ticket ID: #

You can view your ticket status and response anytime from your My Tickets page.

📧 Please check your email inbox:

We will send our response to:

You will receive an email notification when our support team replies to your query.

The email will include a link to respond if you have any follow-up questions.

💡 Tip: Check your spam/junk folder if you don't see our response within 24 hours.
View My Tickets Go to Dashboard Back to Home

Have a question or need assistance? Submit your query below and our support team will get back to you within 24 hours.

✨ Member Support
As a member, you can track your ticket status and view responses from your My Tickets page.
> We will respond to this email address

View your previous tickets →

-------------------- END OF FILE -------------------- ### FILE 3: create-admin.php - Type: PHP - Size: 1.18 KB - Path: . - Name: create-admin.php ------------------------------------------------------------ query($check_sql); if ($result->num_rows > 0) { echo "Admin user already exists!"; } else { // Insert admin user $sql = "INSERT INTO admins (username, password, email) VALUES ('$username', '$hashed_password', '$email')"; if ($conn->query($sql)) { echo "Admin user created successfully!
"; echo "Username: " . $username . "
"; echo "Password: " . $password . "

"; echo "Please login at: " . SITE_URL . ADMIN_PATH . "

"; echo "IMPORTANT: Change your password after first login and DELETE this file!"; } else { echo "Error creating admin user: " . $conn->error; } } $conn->close(); ?> -------------------- END OF FILE -------------------- ### FILE 4: dashboard.php - Type: PHP - Size: 18.41 KB - Path: . - Name: dashboard.php ------------------------------------------------------------ query($sql); if (!$result || $result->num_rows == 0) { session_destroy(); redirect(SITE_URL . '/login.php'); exit; } $member = $result->fetch_assoc(); // Check approval and payment status $is_approved = $member['is_approved'] == 1; $payment_status = $member['payment_status'] == 1; $payment_amount = get_setting('payment_amount'); $is_verified = $member['is_verified'] == 1; // If payment amount is 0, grant immediate access after email verification if ($payment_amount == 0 && $is_verified) { $has_access = true; } else { // Original logic: need approval and payment $has_access = ($is_approved && ($payment_status || $payment_amount == 0)); } // If approved but payment not done and payment amount > 0, redirect to payment info if ($is_approved && !$payment_status && $payment_amount > 0) { redirect(SITE_URL . '/payment-info.php'); exit; } $page_title = 'Dashboard'; include 'includes/header.php'; ?>

Welcome, !

📧 Email Verification Required

Please check your email and click the verification link to activate your account.

0): ?>
⏱️ Payment Verification Pending

Thank you for your interest! We have received your registration. To access all verified survey sites, please:

  1. Complete the payment of ₹
  2. Send payment screenshot with UTR/Reference Number to signupverification@paidsurveyhub.in
  3. Wait for verification (within 24 working hours)

If you have already made the payment and sent the proof, your account will be activated within 24 working hours. Please be patient!

View Payment Instructions
📄 Account Pending Approval

Thank you for your registration! We are verifying your account details and will activate your account within 24 working hours (Monday to Saturday, 9 AM to 6 PM IST).

You will receive full access to all verified survey sites once your account is approved.

✅ Account Active! You have free access to all verified survey sites. You have lifetime access to all verified survey sites.

Browse through our collection of verified survey sites and start earning! Click on any survey site below to view details and visit their website.

query($ranked_sql); // Store ranked surveys in arrays $first_ranked = null; $other_ranked = []; if ($ranked_result && $ranked_result->num_rows > 0) { while ($survey = $ranked_result->fetch_assoc()) { if ($survey['rank'] == 1) { $first_ranked = $survey; } else { $other_ranked[] = $survey; } } } // Get unranked surveys (randomized once per page load) $unranked_sql = "SELECT s.*, COALESCE(AVG(r.rating), 0) as avg_rating, COUNT(r.id) as review_count FROM survey_sites s LEFT JOIN survey_reviews r ON s.id = r.survey_id AND r.is_approved = 1 WHERE s.rank IS NULL GROUP BY s.id ORDER BY RAND()"; $unranked_result = $conn->query($unranked_sql); $unranked_surveys = []; if ($unranked_result && $unranked_result->num_rows > 0) { while ($survey = $unranked_result->fetch_assoc()) { $unranked_surveys[] = $survey; } } $has_surveys = ($first_ranked !== null || !empty($other_ranked) || !empty($unranked_surveys)); ?>

⭐ Top Recommended Survey Sites

🏆 #1 RECOMMENDED
<?php echo htmlspecialchars($first_ranked['title']); ?>

0): ?>
( reviews)

200 ? substr($desc, 0, 200) . '...' : $desc; ?>

View Details & Start Earning →

More Survey Sites

📋 No Survey Sites Available

We are currently adding verified survey sites to the platform. Please check back soon for updates!
-------------------- END OF FILE -------------------- ### FILE 5: default.php - Type: PHP - Size: 15.99 KB - Path: . - Name: default.php ------------------------------------------------------------ Default page

You Are All Set to Go!

All you have to do now is upload your website files and start your journey. Check out how to do that below:

-------------------- END OF FILE -------------------- ### FILE 6: faq.php - Type: PHP - Size: 15.39 KB - Path: . - Name: faq.php ------------------------------------------------------------

Frequently Asked Questions (FAQ)

Find answers to common questions about Paid Survey Hub India, online surveys, and earning opportunities.

About Paid Survey Hub India

❓ What is Paid Survey Hub India?

Paid Survey Hub India is a membership platform that provides access to a curated database of 50+ verified paid online survey websites that operate in India. We do the research and verification so you don't have to waste time searching for legitimate opportunities.

❓ Are you a survey company?

No, we are not a survey company. We are an information platform that connects you with genuine survey companies. We don't conduct surveys ourselves – we provide you with a list of verified survey sites where you can register and participate.

❓ WHow much should i pay?

You pay nothing. Just signup and get lifetime access to all current and future survey sites we add to our database.

Membership & Payment

❓ How do I become a member?

Simple 3-step process:

  1. Sign up with your email and phone number
  2. Verify your email by clicking on the confirmation link in the welcome mail
  3. Login and start accessing the list of survey sites

Your account will be activated as soon as you complete the email verification.

Survey Sites & Earning

❓ How many survey sites will I get access to?

Currently, our database includes 50+ verified survey sites. We regularly add new sites and remove non-performing ones. As a lifetime member, you automatically get access to all future additions at no extra cost.

❓ Are all survey sites verified?

Yes! Every survey site in our database is personally tested and verified for Indian accessibility and payment proof. We only list sites that actually accept Indian members and have a proven track record of paying their users.

❓ How much money can I earn from surveys?

Earnings vary based on several factors: survey availability, your demographics, time invested, and completion rates. Most members earn ₹2,000-₹15,000 per month by actively participating across multiple sites. Some earn more, some earn less. Surveys are not a get-rich-quick scheme but a legitimate way to earn extra income.

❓ Do you guarantee earnings?

No. We provide access to genuine survey opportunities, but earnings depend on survey availability, your profile match, and effort. We are an information platform, not a survey company, so we cannot guarantee specific earnings.

❓ Who pays me for surveys - you or the survey sites?

The individual survey sites pay you directly. We don't conduct surveys or process payments. Each survey site has its own payment terms, minimum withdrawal limits, and payment methods. You register with each site separately and earn rewards directly from them.

❓ What payment methods do survey sites use?

Most survey sites offer multiple payment options including PayPal, bank transfer, gift cards (Amazon, Flipkart), mobile recharge, and some offer direct UPI/IMPS transfers. Each site's payment options are mentioned in their description.

Getting Started

❓ What do I need to start taking surveys?

You'll need:

  • Valid email address
  • Phone number
  • Internet connection
  • Computer or smartphone
  • Patience and consistency
  • Basic English understanding (for most surveys)

❓ Do I need to register on each survey site separately?

Yes. Each survey site is independent. We provide you with the list and details, but you need to register on each site individually to start receiving surveys from them. This allows you to maintain separate profiles and maximize your earning opportunities.

❓ Is there an age requirement?

You must be at least 18 years old to join Paid Survey Hub India. Most survey sites also have age requirements (typically 18+, though some accept 16+). Age restrictions are mentioned in each site's description.

Technical & Support

❓ How do I contact support?

Members can create support tickets directly from their dashboard. For payment verification, email us at signupverification@paidsurveyhub.in. Non-members can use the contact form on our website.

❓ How long does account activation take?

Account activation typically takes 24 working hours (Monday to Saturday, 9 AM to 6 PM IST) after we receive your payment proof. During peak times, it may take slightly longer. Please be patient and avoid sending multiple emails.

❓ What if I have issues with a survey site?

Each survey site has its own customer support. We provide contact information for each site. While we can offer guidance, we cannot resolve issues between you and third-party survey sites as we are not affiliated with them.

❓ Can I use the platform on mobile?

Yes! Our platform is fully responsive and works on all devices – smartphones, tablets, and computers. Most survey sites also have mobile-friendly websites or dedicated apps.

Safety & Privacy

❓ Is my personal information safe?

Yes. We take data security seriously and follow industry-standard practices to protect your information. We never sell or share your personal data with third parties. Read our Privacy Policy for details.

❓ Are online surveys legitimate?

Yes! Legitimate paid surveys are a real way companies gather market research. However, the internet has many scams. That's why we exist – to separate genuine opportunities from scams. All sites in our database are verified and legitimate at the time of verification. Please do your research as well.

Tips for Success

💡 Pro Tips from Successful Survey Takers

  • Register on multiple survey sites to maximize opportunities
  • Complete your profile fully and honestly on each site
  • Check your email regularly for survey invitations
  • Respond to surveys quickly – they fill up fast
  • Be consistent – dedicate 30-60 minutes daily
  • Answer honestly – inconsistent answers lead to disqualifications
  • Keep a separate email for surveys to stay organized
  • Be patient – earnings grow over time

Still Have Questions?

Can't find the answer you're looking for? Our support team is here to help!

Contact Us
-------------------- END OF FILE -------------------- ### FILE 7: index.php - Type: PHP - Size: 16.19 KB - Path: . - Name: index.php ------------------------------------------------------------ <?php echo $page_title; ?>

Discover Genuine Paid Online Survey Opportunities in India

Access 50+ verified survey sites and start earning money from home. Sign-up now and get free lifetime access.

Get Started - Join Now Learn More

✓ No fees ✓ 50+ verified sites ✓ Lifetime access ✓ Genuine opportunities

Why Choose Paid Survey Hub India?

100% Verified Survey Sites

Every survey site is personally tested for Indian accessibility and payment proof. No scams, only genuine opportunities.

ZERO Payment

Pay nothing, get lifetime access to all survey sites. No hidden charges or monthly subscriptions.

🚀

50+ Survey Opportunities

Access to a growing database of verified survey sites. New sites added regularly at no additional cost.

Member Reviews & Ratings

Read real experiences from Indian survey takers. Make informed decisions based on community feedback.

🛡️

Safe & Secure

Your data is protected. We never sell or share your personal information with third parties.

💬

Dedicated Support

Got questions? Our support team is here to help you navigate your survey-taking journey.

How Paid Survey Hub India Works

Start earning from online surveys in 3 simple steps

1

Sign Up & Access

Create your account, Verify the confirmation email and login to access your account.

2

Access Survey Sites

Get instant access to 50+ verified survey sites. Browse rankings, read reviews, and choose opportunities that fit you.

3

Start Earning

Register on survey sites, complete surveys, and get paid directly by them. Earn money from the comfort of your home!

Who Can Earn from Online Surveys in India?

🎓

Students

Earn pocket money while studying. Perfect for college students looking for flexible income.

🏠

Homemakers

Contribute to household income during free time. Work from home at your convenience.

💼

Professionals

Earn extra income in your spare time. Perfect side hustle for working professionals.

👴

Retirees

Stay active and earn from home. Share your valuable opinions and get rewarded.

Frequently Asked Questions

How much can I earn from surveys?

Most active members earn ₹2,000-₹15,000 per month. Earnings depend on survey availability, demographics, and time invested.

Are these survey sites legitimate?

Yes! Every survey site in our database is personally verified for Indian accessibility. We would urge that members also do their verification when they signup with these websites listed.

Do I need to register on each survey site separately?

Yes. Each survey site is independent. We provide the list and details, but you register individually to maximize earning opportunities.

View All FAQs

Ready to Start Earning from Online Surveys?

Join thousands of Indians who are already earning extra income through verified survey opportunities.

Join Now - Free Lifetime Access

One-time payment • 50+ verified sites • No monthly fees • Instant access

-------------------- END OF FILE -------------------- ### FILE 8: login.php - Type: PHP - Size: 2.64 KB - Path: . - Name: login.php ------------------------------------------------------------ query($sql); if ($result->num_rows > 0) { $member = $result->fetch_assoc(); if (password_verify($password, $member['password'])) { if ($member['is_verified'] == 0) { $error = "Please verify your email first. Check your inbox for the verification link."; } else { // Set session $_SESSION['member_id'] = $member['id']; $_SESSION['member_name'] = $member['full_name']; $_SESSION['member_email'] = $member['email']; redirect(SITE_URL . '/dashboard.php'); } } else { $error = "Invalid email or password"; } } else { $error = "Invalid email or password"; } } } $page_title = 'Login'; include 'includes/header.php'; ?>

Member Login

Don't have an account? Sign up here

-------------------- END OF FILE -------------------- ### FILE 9: logout.php - Type: PHP - Size: 186 B - Path: . - Name: logout.php ------------------------------------------------------------ -------------------- END OF FILE -------------------- ### FILE 10: my-tickets.php - Type: PHP - Size: 7.62 KB - Path: . - Name: my-tickets.php ------------------------------------------------------------ query($sql); $page_title = 'My Tickets'; include 'includes/header.php'; ?>

My Support Tickets

View all your support requests and responses from our team. Click "Respond" to continue the conversation.

num_rows > 0): ?>
fetch_assoc()): ?>

Ticket #

Submitted:

'background: #ffc107; color: #000;', 'in_progress' => 'background: #17a2b8; color: #fff;', 'resolved' => 'background: #28a745; color: #fff;', 'closed' => 'background: #6c757d; color: #fff;' ]; $status_text = ucfirst(str_replace('_', ' ', $ticket['ticket_status'])); ?>

Your Message:

Support Team Response: ()

⏱️ Waiting for response... Our support team will reply within 24 hours.

$response) { $response = trim($response); if (!empty($response)) { echo '

Your Follow-up #' . ($index + 1) . ':

' . nl2br(htmlspecialchars($response)) . '

'; } } } } ?>
💬 Respond to Ticket
No tickets yet
You haven't submitted any support requests yet. If you have any questions or need assistance, feel free to use the contact form.
Submit New Ticket Back to Dashboard
-------------------- END OF FILE -------------------- ### FILE 11: payment-info.php - Type: PHP - Size: 6.67 KB - Path: . - Name: payment-info.php ------------------------------------------------------------ query($sql); $member = $result->fetch_assoc(); // If already paid, redirect to dashboard if ($member['payment_status'] == 1) { redirect(SITE_URL . '/dashboard.php'); } // Get payment settings $payment_amount = get_setting('payment_amount'); $upi_id = get_setting('upi_id'); $qr_code_path = get_setting('qr_code_path'); // If payment amount is 0, auto-approve and redirect if ($payment_amount == 0) { $update_sql = "UPDATE members SET payment_status = 1 WHERE id = $member_id"; $conn->query($update_sql); redirect(SITE_URL . '/dashboard.php'); } $page_title = 'Payment Information'; include 'includes/header.php'; ?>

Complete Your Payment

📋 Payment Instructions

One-time Access Fee

UPI ID:

Scan QR Code to Pay:

Payment QR Code

📌 How to Complete Payment & Activation

Step 1: Make Payment

Pay ₹ using the UPI ID or QR code shown above. Make sure to complete the payment successfully.

Step 2: Take Screenshot

After successful payment, take a clear screenshot of the payment confirmation showing:

  • Payment amount (₹)
  • Transaction date and time
  • UTR/Reference Number (Very Important!)
  • Payment status as "Success"

Step 3: Send Payment Proof

Email your payment screenshot to:

signupverification@paidsurveyhub.in

Email Subject: Payment Verification -

Email Body: Include your registered email () and UTR/Reference Number

⏱️ Verification Time

Your payment will be verified and account will be activated within 24 working hours (Monday to Saturday, 9 AM to 6 PM IST, excluding Sundays and public holidays).

✅ After Activation

Once verified, you will receive lifetime access to all verified survey sites. You can then login anytime to access the complete list of genuine paid survey opportunities.

⚠️ Important Notes:
• Double-check the UPI ID before making payment
• Keep the UTR/Reference Number safe
• Send payment proof from the same email you registered with
• Do not share your login credentials with anyone
• Contact us if payment is done but not verified after 24 hours
Back to Dashboard Need Help? Contact Support
-------------------- END OF FILE -------------------- ### FILE 12: privacy-policy.php - Type: PHP - Size: 8.67 KB - Path: . - Name: privacy-policy.php ------------------------------------------------------------

Privacy Policy

Last Updated: January 10, 2025

At Paid Survey Hub India, we are committed to protecting your privacy and ensuring the security of your personal information. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our platform.

1. Information We Collect

Personal Information

When you register on Paid Survey Hub India, we collect the following personal information:

Automatically Collected Information

We may automatically collect certain information when you visit our platform, including:

2. How We Use Your Information

We use the information we collect for the following purposes:

3. Information Sharing and Disclosure

We do NOT sell, trade, or rent your personal information to third parties. We may share your information only in the following circumstances:

4. Data Security

We implement industry-standard security measures to protect your personal information from unauthorized access, disclosure, alteration, and destruction. However, no method of transmission over the Internet is 100% secure, and we cannot guarantee absolute security.

5. Data Retention

We retain your personal information for as long as necessary to provide our services and fulfill the purposes outlined in this Privacy Policy, unless a longer retention period is required by law.

6. Your Rights

You have the following rights regarding your personal information:

To exercise any of these rights, please contact us through the support ticket option from your login portal

7. Cookies and Tracking Technologies

We use cookies and similar tracking technologies to enhance your experience on our platform. Cookies are small data files stored on your device. You can control cookie preferences through your browser settings.

8. Third-Party Links

Our platform contains links to third-party survey websites. We are not responsible for the privacy practices of these external sites. We encourage you to review their privacy policies before providing any personal information.

9. Children's Privacy

Our services are not intended for individuals under the age of 18. We do not knowingly collect personal information from children under 18. If we become aware that we have collected information from a child under 18, we will take steps to delete such information.

10. Changes to This Privacy Policy

We may update this Privacy Policy from time to time. We will notify you of any significant changes by posting the new Privacy Policy on this page and updating the "Last Updated" date. We encourage you to review this Privacy Policy periodically.

11. Contact Us

If you have any questions or concerns about this Privacy Policy or our data practices, please contact us:

Website: https://paidsurveyhub.in

Contact Form: Contact Us

Note: By using Paid Survey Hub India, you acknowledge that you have read, understood, and agree to be bound by this Privacy Policy.

-------------------- END OF FILE -------------------- ### FILE 13: refund-policy.php - Type: PHP - Size: 10.61 KB - Path: . - Name: refund-policy.php ------------------------------------------------------------

Refund Policy

Last Updated: January 10, 2025

⚠️ Important: Non-Refundable Service

All membership payments to Paid Survey Hub India are NON-REFUNDABLE once your account has been activated. Please read this policy carefully before making any payment.

1. Nature of Service

Paid Survey Hub India is an information service that provides:

Upon payment and account activation, you receive immediate and full access to our entire database. This is a digital information product with instant delivery, similar to purchasing an ebook or online course.

2. No Refund Policy

Why We Don't Offer Refunds

Once your account is activated, you have full access to our verified survey database. Because this is an information service with immediate access upon activation, we cannot offer refunds for the following reasons:

3. Before You Pay - Important Considerations

Please Understand Before Payment:

  • We Are NOT a Survey Company: We provide information about survey companies, we do not conduct surveys ourselves
  • We Don't Pay You: The survey sites pay you directly, not us
  • No Earnings Guarantee: Your earnings depend on survey availability, your demographics, and effort
  • Registration Required: You must register separately on each survey site
  • Time Investment: Earning from surveys requires consistent time and effort
  • Information Service: You're paying for verified information and access, not for guaranteed income

If you're unsure about the service, please:

4. Exceptions - When Refunds May Be Considered

We may consider refund requests ONLY in the following limited circumstances:

A. Payment Errors (Before Activation)

Important: Refund requests for payment errors must be made BEFORE account activation. Once activated, refunds will not be issued even for payment errors.

B. Service Failure

5. What Is NOT Eligible for Refund

We will NOT issue refunds for:

  • Change of mind after account activation
  • Not earning as much as expected from survey sites
  • Difficulties qualifying for surveys
  • Issues with third-party survey websites
  • Payment problems with survey sites
  • Disqualification from surveys
  • Survey site account suspensions
  • Lack of time or effort to complete surveys
  • Misunderstanding of service nature
  • Already accessed the survey database

6. Refund Request Process

If you believe you qualify for a refund under the exceptions listed above:

  1. Email us at signupverification@paidsurveyhub.in
  2. Include your registered email, phone number, and payment transaction ID
  3. Clearly explain why you believe you qualify for an exception
  4. Provide supporting documentation (payment screenshot, error messages, etc.)

Refund requests will be reviewed within 5-7 business days. If approved, the refund will be processed to your original payment method within 10-14 business days.

7. Chargebacks and Disputes

Initiating a chargeback or payment dispute without first contacting us may result in:

We strongly encourage you to contact us first to resolve any payment concerns before involving your bank or payment provider.

8. Contact Information

For refund inquiries or payment issues:

Email: signupverification@paidsurveyhub.in

Subject Line: "Refund Request - [Your Email]"

Response Time: Within 48 working hours

By making a payment to Paid Survey Hub India, you acknowledge that you have read, understood, and agree to this Refund Policy. We recommend reviewing our FAQ and contacting us with any questions before purchasing.

-------------------- END OF FILE -------------------- ### FILE 14: reply-my-ticket.php - Type: PHP - Size: 9.2 KB - Path: . - Name: reply-my-ticket.php ------------------------------------------------------------ query($sql); if ($result->num_rows == 0) { redirect(SITE_URL . '/my-tickets.php'); } $ticket = $result->fetch_assoc(); // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $user_reply = clean_input($_POST['user_reply']); if (empty($user_reply)) { $error = "Please enter your response"; } else { // Append user reply to the message $updated_message = $ticket['message'] . "\n\n--- User Response ---\n" . $user_reply; $updated_message = clean_input($updated_message); // Update ticket with user's response and change status to new $update_sql = "UPDATE contact_messages SET message = '$updated_message', ticket_status = 'new' WHERE id = $ticket_id"; if ($conn->query($update_sql)) { $success = "Your response has been submitted successfully! Our support team will review and respond to your follow-up question."; // Refresh ticket data $result = $conn->query($sql); $ticket = $result->fetch_assoc(); } else { $error = "Failed to submit response. Please try again."; } } } $page_title = 'Respond to Ticket'; include 'includes/header.php'; ?>
← Back to My Tickets

Respond to Ticket #

'background: #ffc107; color: #000;', 'in_progress' => 'background: #17a2b8; color: #fff;', 'resolved' => 'background: #28a745; color: #fff;', 'closed' => 'background: #6c757d; color: #fff;' ]; $status_text = ucfirst(str_replace('_', ' ', $ticket['ticket_status'])); ?>

📧 What happens next:

  • Our support team will review your follow-up question
  • We will respond within 24 hours
  • You'll receive an email notification when we reply
  • You can view the response in your "My Tickets" section
View My Tickets Go to Dashboard

Ticket Created:

Support Team Response:

Replied on:

Your Original Message:

'; echo '

Previous Follow-ups:

'; foreach ($parts as $index => $response) { $response = trim($response); if (!empty($response)) { echo '

Follow-up #' . ($index + 1) . ':

' . nl2br(htmlspecialchars($response)) . '

'; } } echo '
'; } } ?>

💬 Add Your Follow-up

Have additional questions or need clarification? Type your follow-up message below and our support team will respond.

We will review your follow-up and respond to your email within 24 hours.
📌 Note: After submitting your follow-up, our support team will review and respond within 24 hours. You will receive an email notification and can view the response in your "My Tickets" section.
-------------------- END OF FILE -------------------- ### FILE 15: reply-ticket.php - Type: PHP - Size: 9.29 KB - Path: . - Name: reply-ticket.php ------------------------------------------------------------ query($sql); if ($result->num_rows == 0) { $error = "Invalid or expired ticket link. Please contact support if you need assistance."; } else { $ticket = $result->fetch_assoc(); // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $user_reply = clean_input($_POST['user_reply']); if (empty($user_reply)) { $error = "Please enter your response"; } else { // Append user reply to the message $updated_message = $ticket['message'] . "\n\n--- User Response ---\n" . $user_reply; $updated_message = clean_input($updated_message); // Update ticket with user's response $update_sql = "UPDATE contact_messages SET message = '$updated_message', ticket_status = 'new' WHERE id = $ticket_id"; if ($conn->query($update_sql)) { $success = "Your response has been submitted successfully! Our support team will review and respond to your follow-up question."; // Refresh ticket data $result = $conn->query($sql); $ticket = $result->fetch_assoc(); } else { $error = "Failed to submit response. Please try again."; } } } } } $page_title = 'Respond to Ticket'; ?> <?php echo $page_title; ?> - India Survey Guide
Paid Survey Hub India
⚠️

Access Error

Submit New Ticket Go to Homepage

Response Submitted!

📧 What happens next:

  • Our support team will review your follow-up question
  • We will respond to your email within 24 hours
  • You can respond again using the link in our next email
Go to Homepage

Respond to Support Ticket

Ticket ID: #

Submitted:

'background: #ffc107; color: #000;', 'in_progress' => 'background: #17a2b8; color: #fff;', 'resolved' => 'background: #28a745; color: #fff;', 'closed' => 'background: #6c757d; color: #fff;' ]; $status_text = ucfirst(str_replace('_', ' ', $ticket['ticket_status'])); ?>

Support Team Response:

Replied on:

Your Original Message:

💬 Have a follow-up question?

Type your follow-up message below and our support team will respond to your email.

We will send our response to:
📌 Note: After submitting your follow-up, our support team will review and respond to your email within 24 hours. You will receive another email with our response and a link to continue the conversation if needed.

© Paid Survey Hub India. All rights reserved.

-------------------- END OF FILE -------------------- ### FILE 16: signup.php - Type: PHP - Size: 6.9 KB - Path: . - Name: signup.php ------------------------------------------------------------ query($check_email); if ($result->num_rows > 0) { $error = "Email already registered. Please login or use a different email."; } else { // Hash password $hashed_password = password_hash($password, PASSWORD_DEFAULT); // Generate verification token $verification_token = bin2hex(random_bytes(32)); // Insert member $sql = "INSERT INTO members (full_name, email, phone, password, verification_token) VALUES ('$full_name', '$email', '$phone', '$hashed_password', '$verification_token')"; if ($conn->query($sql)) { // Send verification email $verification_link = SITE_URL . "/verify-email.php?token=" . $verification_token; $to = $email; $subject = "Verify Your Email - Paid Survey Hub India"; $message = "Hello " . $full_name . ",\n\n"; $message .= "Thank you for registering with Paid Survey Hub India!\n\n"; $message .= "Please click the link below to verify your email address:\n"; $message .= $verification_link . "\n\n"; $message .= "If you did not create this account, please ignore this email.\n\n"; $message .= "Best regards,\n"; $message .= "Paid Survey Hub India Team"; $headers = "From: noreply@paidsurveyhub.in\r\n"; $headers .= "Reply-To: signupverification@paidsurveyhub.in\r\n"; mail($to, $subject, $message, $headers); $success = "Registration successful! Please check your email (" . $email . ") and click the verification link to activate your account."; } else { $error = "Registration failed. Please try again."; } } } } // Get payment amount to determine messaging $payment_amount = get_setting('payment_amount'); $is_free = ($payment_amount == 0); $page_title = 'Sign Up - Paid Survey Hub India'; include 'includes/header.php'; ?>

🎉 Free Access! Create your account and get instant access to all verified survey sites after email verification.

Next Steps:
1. Check your email inbox
2. Click the verification link
3. Login and start exploring survey sites! 3. Complete the payment
4. Wait for account activation

Go to Login

Minimum 6 characters

Already have an account? Login here

-------------------- END OF FILE -------------------- ### FILE 17: survey-detail.php - Type: PHP - Size: 12.74 KB - Path: . - Name: survey-detail.php ------------------------------------------------------------ query($sql); $member = $result->fetch_assoc(); // Check if member has access $payment_amount = get_setting('payment_amount'); $has_access = ($member['is_approved'] == 1 && ($member['payment_status'] == 1 || $payment_amount == 0)); if (!$has_access) { redirect(SITE_URL . '/dashboard.php'); } // Get survey site details if (!isset($_GET['id'])) { redirect(SITE_URL . '/dashboard.php'); } $survey_id = (int)$_GET['id']; $survey_sql = "SELECT s.*, COALESCE(AVG(r.rating), 0) as avg_rating, COUNT(r.id) as review_count FROM survey_sites s LEFT JOIN survey_reviews r ON s.id = r.survey_id AND r.is_approved = 1 WHERE s.id = $survey_id GROUP BY s.id"; $survey_result = $conn->query($survey_sql); if ($survey_result->num_rows == 0) { redirect(SITE_URL . '/dashboard.php'); } $survey = $survey_result->fetch_assoc(); // Check if user already reviewed $check_review_sql = "SELECT * FROM survey_reviews WHERE survey_id = $survey_id AND member_id = $member_id"; $check_review_result = $conn->query($check_review_sql); $has_reviewed = $check_review_result->num_rows > 0; $user_review = $has_reviewed ? $check_review_result->fetch_assoc() : null; // Handle review submission $error = ''; $success = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST' && !$has_reviewed) { $rating = (int)$_POST['rating']; $feedback = clean_input($_POST['feedback']); if ($rating < 1 || $rating > 5) { $error = "Please select a rating between 1 and 5 stars"; } elseif (empty($feedback)) { $error = "Please provide your feedback"; } else { $insert_sql = "INSERT INTO survey_reviews (survey_id, member_id, rating, feedback) VALUES ($survey_id, $member_id, $rating, '$feedback')"; if ($conn->query($insert_sql)) { $success = "Thank you! Your review has been submitted and is pending approval."; $has_reviewed = true; // Refresh user review data $check_review_result = $conn->query($check_review_sql); $user_review = $check_review_result->fetch_assoc(); } else { $error = "Failed to submit review. Please try again."; } } } // Get approved reviews $reviews_sql = "SELECT r.*, m.full_name FROM survey_reviews r JOIN members m ON r.member_id = m.id WHERE r.survey_id = $survey_id AND r.is_approved = 1 ORDER BY r.created_at DESC"; $reviews_result = $conn->query($reviews_sql); $page_title = htmlspecialchars($survey['title']); include 'includes/header.php'; ?>
← Back to Dashboard

0): ?>
out of 5 ( )
<?php echo htmlspecialchars($survey['title']); ?>

About This Survey Site

Support Contact:

Visit Survey Site →

Your Review

out of 5

⏱️ Status: Your review is pending admin approval
✅ Status: Your review is published

Share your experience with this survey site to help other members!

num_rows > 0): ?>

Member Reviews (num_rows; ?>)

fetch_assoc()): ?>

-------------------- END OF FILE -------------------- ### FILE 18: terms-conditions.php - Type: PHP - Size: 10.6 KB - Path: . - Name: terms-conditions.php ------------------------------------------------------------

Terms and Conditions

Last Updated: January 10, 2025

Welcome to Paid Survey Hub India. By accessing and using our platform, you agree to comply with and be bound by the following terms and conditions. Please read these terms carefully before using our services.

1. Acceptance of Terms

By registering, accessing, or using Paid Survey Hub India, you acknowledge that you have read, understood, and agree to be bound by these Terms and Conditions, as well as our Privacy Policy. If you do not agree to these terms, please do not use our services.

2. Service Description

Paid Survey Hub India is a membership-based platform that provides:

3. Eligibility

To use our services, you must:

4. Membership and Payment

Membership Fee

Access to our verified survey sites requires does not require any payment.

4. User Responsibilities

As a member, you agree to:

5. Platform Content and Accuracy

Important Disclaimer:

6. Third-Party Survey Websites

We are an information platform only. When you click on survey site links:

7. Intellectual Property

All content on Paid Survey Hub India, including text, graphics, logos, design, and software, is the property of Paid Survey Hub India and protected by copyright and intellectual property laws. You may not copy, reproduce, distribute, or create derivative works without our express written permission.

8. User-Generated Content

When you submit reviews, feedback, or support tickets:

9. Limitation of Liability

IMPORTANT: Paid Survey Hub India provides information services only. We do not:

  • Guarantee earnings from any survey website
  • Control payment processing by third-party survey sites
  • Take responsibility for disputes between you and survey sites
  • Guarantee the availability or legitimacy of any listed survey site

To the maximum extent permitted by law, we shall not be liable for any indirect, incidental, special, consequential, or punitive damages resulting from your use of our platform or third-party survey websites.

10. Account Termination

We reserve the right to suspend or terminate your account if:

No refund will be provided for terminated accounts.

11. Changes to Terms

We reserve the right to modify these Terms and Conditions at any time. Changes will be effective immediately upon posting. Your continued use of the platform after changes constitutes acceptance of the modified terms. We encourage you to review these terms periodically.

12. Governing Law

These Terms and Conditions are governed by the laws of India. Any disputes arising from these terms or your use of the platform shall be subject to the exclusive jurisdiction of the courts in India.

13. Contact Information

If you have questions about these Terms and Conditions, please contact us:

Website: https://paidsurveyhub.in

Support Tickets: Available to registered members in the dashboard

By registering and using Paid Survey Hub India, you acknowledge that you have read, understood, and agree to be bound by these Terms and Conditions.

-------------------- END OF FILE -------------------- ### FILE 19: verify-email.php - Type: PHP - Size: 3.78 KB - Path: . - Name: verify-email.php ------------------------------------------------------------ query($sql); if ($result->num_rows > 0) { $member = $result->fetch_assoc(); // Get payment amount setting $payment_amount = get_setting('payment_amount'); // If payment amount is 0, auto-approve the user if ($payment_amount == 0) { // Verify email, approve, and mark as paid (since it's free) $update_sql = "UPDATE members SET is_verified = 1, is_approved = 1, payment_status = 1, verification_token = NULL WHERE id = " . $member['id']; } else { // Just verify email, admin approval needed $update_sql = "UPDATE members SET is_verified = 1, verification_token = NULL WHERE id = " . $member['id']; } if ($conn->query($update_sql)) { if ($payment_amount == 0) { $success = "Email verified successfully! Your account is now active. You can login and start exploring survey sites."; } else { $success = "Email verified successfully! Please check the payment instructions on the next page."; } } else { $error = "Failed to verify email. Please try again."; } } else { $error = "Invalid or expired verification link."; } } else { $error = "No verification token provided."; } $page_title = 'Email Verification'; include 'includes/header.php'; ?>

Email Verification

Go to Login

🎉 Welcome to Paid Survey Hub India! Your account is ready.

Login to Dashboard

Next step: Complete your one-time payment to get lifetime access.

Login & View Payment Details
-------------------- END OF FILE -------------------- ### FILE 20: assets/style.css - Type: CSS - Size: 7.72 KB - Path: assets - Name: style.css ------------------------------------------------------------ /* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } :root { --navy-blue: #001f3f; --yellow: #FFD700; --light-grey: #f5f5f5; --dark-grey: #666; --white: #ffffff; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(--light-grey); color: var(--navy-blue); line-height: 1.6; } /* Header */ header { background-color: var(--navy-blue); color: var(--white); padding: 1rem 0; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .header-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; } .logo { font-size: 1.5rem; font-weight: bold; color: var(--yellow); text-decoration: none; } nav ul { list-style: none; display: flex; gap: 1.5rem; flex-wrap: wrap; } nav a { color: var(--white); text-decoration: none; transition: color 0.3s; } nav a:hover { color: var(--yellow); } /* Main Container */ .container { max-width: 1200px; margin: 2rem auto; padding: 0 20px; } /* Cards */ .card { background: var(--white); border-radius: 8px; padding: 2rem; box-shadow: 0 2px 10px rgba(0,0,0,0.1); margin-bottom: 2rem; } .card-title { color: var(--navy-blue); margin-bottom: 1.5rem; font-size: 1.8rem; border-bottom: 3px solid var(--yellow); padding-bottom: 0.5rem; } /* Forms */ .form-group { margin-bottom: 1.5rem; } label { display: block; margin-bottom: 0.5rem; color: var(--navy-blue); font-weight: 500; } input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="url"], input[type="number"], textarea, select { width: 100%; padding: 0.75rem; border: 2px solid var(--dark-grey); border-radius: 5px; font-size: 1rem; transition: border-color 0.3s; } input:focus, textarea:focus, select:focus { outline: none; border-color: var(--yellow); } textarea { resize: vertical; min-height: 120px; } /* Buttons */ .btn { padding: 0.75rem 1.5rem; border: none; border-radius: 5px; cursor: pointer; font-size: 1rem; transition: all 0.3s; text-decoration: none; display: inline-block; } .btn-primary { background-color: var(--yellow); color: var(--navy-blue); font-weight: bold; } .btn-primary:hover { background-color: #FFC700; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.2); } .btn-secondary { background-color: var(--navy-blue); color: var(--white); } .btn-secondary:hover { background-color: #003366; } .btn-danger { background-color: #dc3545; color: var(--white); } .btn-danger:hover { background-color: #c82333; } /* Rank #1 Card - Full Width */ .ranked-card-1 { background: var(--white); border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.15); border: 3px solid var(--yellow); position: relative; transition: transform 0.3s ease, box-shadow 0.3s ease; } .ranked-card-1:hover { transform: translateY(-5px); box-shadow: 0 6px 20px rgba(0,0,0,0.2); } /* Ranked Survey Grid - 2 per row */ .survey-grid-ranked-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; margin-bottom: 2rem; } .survey-card-ranked { background: var(--white); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; position: relative; } .survey-card-ranked:hover { transform: translateY(-5px); box-shadow: 0 5px 20px rgba(0,0,0,0.15); } /* Survey Grid - 3 per row (unranked) */ .survey-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; margin-top: 2rem; } .survey-card { background: var(--white); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.1); transition: transform 0.3s, box-shadow 0.3s; cursor: pointer; } .survey-card:hover { transform: translateY(-5px); box-shadow: 0 5px 20px rgba(0,0,0,0.15); } .survey-image { width: 100%; height: 200px; object-fit: cover; } .survey-info { padding: 1.5rem; } .survey-title { color: var(--navy-blue); font-size: 1.2rem; margin-bottom: 0.5rem; } /* Star Rating Display */ .star-rating { color: #FFA500; font-size: 1.2rem; } .star-rating-input { display: flex; gap: 0.5rem; font-size: 2rem; cursor: pointer; } .star-rating-input span { color: #ddd; transition: color 0.2s; } .star-rating-input span:hover, .star-rating-input span.active { color: #FFA500; } /* Review Section */ .review-item { background: var(--white); border: 2px solid var(--light-grey); border-radius: 8px; padding: 1.5rem; margin-bottom: 1rem; } .review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; } .reviewer-info { display: flex; align-items: center; gap: 1rem; } .reviewer-avatar { width: 50px; height: 50px; border-radius: 50%; background: var(--yellow); display: flex; align-items: center; justify-content: center; font-weight: bold; color: var(--navy-blue); font-size: 1.2rem; } /* Tables */ table { width: 100%; border-collapse: collapse; background: var(--white); border-radius: 8px; overflow: hidden; } th { background-color: var(--navy-blue); color: var(--white); padding: 1rem; text-align: left; } td { padding: 1rem; border-bottom: 1px solid var(--light-grey); } tr:hover { background-color: var(--light-grey); } /* Alerts */ .alert { padding: 1rem; border-radius: 5px; margin-bottom: 1.5rem; } .alert-success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .alert-error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } .alert-info { background-color: #fff3cd; color: #856404; border: 1px solid #ffeaa7; } /* Payment Info */ .payment-box { text-align: center; padding: 2rem; background: var(--white); border-radius: 8px; border: 3px solid var(--yellow); } .payment-amount { font-size: 2.5rem; color: var(--navy-blue); font-weight: bold; margin: 1rem 0; } .qr-code { max-width: 300px; margin: 1.5rem auto; display: block; } /* Footer */ footer { background-color: var(--navy-blue); color: var(--white); text-align: center; padding: 2rem 0; margin-top: 3rem; } /* Responsive Design */ @media (max-width: 768px) { .header-container { flex-direction: column; text-align: center; } nav ul { margin-top: 1rem; justify-content: center; } .survey-grid { grid-template-columns: 1fr; } .survey-grid-ranked-2 { grid-template-columns: 1fr; } .ranked-card-1 > div { grid-template-columns: 1fr !important; } .ranked-card-1 img { height: 200px !important; } .card { padding: 1.5rem; } table { font-size: 0.9rem; } th, td { padding: 0.75rem; } .review-header { flex-direction: column; align-items: flex-start; } } @media (max-width: 480px) { .logo { font-size: 1.2rem; } nav ul { gap: 1rem; } .card-title { font-size: 1.5rem; } .btn { padding: 0.6rem 1.2rem; font-size: 0.9rem; } .star-rating-input { font-size: 1.5rem; } } -------------------- END OF FILE -------------------- ### FILE 21: config/config.php - Type: PHP - Size: 2.62 KB - Path: config - Name: config.php ------------------------------------------------------------ connect_error) { die("Connection failed: " . $conn->connect_error); } $conn->set_charset("utf8mb4"); } catch (Exception $e) { die("Database connection error: " . $e->getMessage()); } // Start session if not already started if (session_status() === PHP_SESSION_NONE) { session_start(); } // Helper function to check if user is logged in (member) function is_member_logged_in() { return isset($_SESSION['member_id']); } // Helper function to check if admin is logged in function is_admin_logged_in() { return isset($_SESSION['admin_id']); } // Helper function to redirect function redirect($url) { header("Location: " . $url); exit(); } // Helper function to sanitize input function clean_input($data) { global $conn; $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $conn->real_escape_string($data); } // Helper function to send email function send_email($to, $subject, $message) { $headers = "From: " . SMTP_FROM_NAME . " <" . SMTP_FROM . ">\r\n"; $headers .= "Reply-To: " . SMTP_FROM . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=UTF-8\r\n"; return mail($to, $subject, $message, $headers); } // Get setting value function get_setting($key) { global $conn; $key = clean_input($key); $sql = "SELECT setting_value FROM settings WHERE setting_key = '$key'"; $result = $conn->query($sql); if ($result && $result->num_rows > 0) { $row = $result->fetch_assoc(); return $row['setting_value']; } return ''; } // Update setting value function update_setting($key, $value) { global $conn; $key = clean_input($key); $value = clean_input($value); $sql = "UPDATE settings SET setting_value = '$value' WHERE setting_key = '$key'"; return $conn->query($sql); } ?> -------------------- END OF FILE -------------------- ### FILE 22: includes/footer.php - Type: PHP - Size: 4.57 KB - Path: includes - Name: footer.php ------------------------------------------------------------ -------------------- END OF FILE -------------------- ### FILE 23: includes/header.php - Type: PHP - Size: 3.55 KB - Path: includes - Name: header.php ------------------------------------------------------------ <?php echo isset($page_title) ? $page_title : 'Paid Survey Hub India'; ?>
-------------------- END OF FILE -------------------- ### FILE 24: management/add-survey.php - Type: PHP - Size: 6.29 KB - Path: management - Name: add-survey.php ------------------------------------------------------------ query($check_rank); if ($rank_result->num_rows > 0) { $error = "Rank #$rank is already assigned to another survey"; } } if (empty($error)) { // Handle image upload $allowed_types = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif']; $file_type = $_FILES['image']['type']; if (!in_array($file_type, $allowed_types)) { $error = "Only JPG, PNG, and GIF images are allowed"; } else { $file_extension = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION); $new_filename = uniqid() . '.' . $file_extension; $upload_path = '../uploads/' . $new_filename; if (move_uploaded_file($_FILES['image']['tmp_name'], $upload_path)) { $rank_value = $rank !== NULL ? $rank : 'NULL'; // Insert survey site $sql = "INSERT INTO survey_sites (rank, title, website_link, description, support_contact, image) VALUES ($rank_value, '$title', '$website_link', '$description', '$support_contact', '$new_filename')"; if ($conn->query($sql)) { $success = "Survey site added successfully!"; } else { $error = "Failed to add survey site: " . $conn->error; unlink($upload_path); // Delete uploaded file } } else { $error = "Failed to upload image"; } } } } } $page_title = 'Add Survey Site'; include '../includes/header.php'; ?>
← Back to Dashboard

Add New Survey Site

Rank #1 displays full-width. Ranks #2+ display 2 per row. Unranked sites display 3 per row (randomized).
-------------------- END OF FILE -------------------- ### FILE 25: management/change-password.php - Type: PHP - Size: 4.45 KB - Path: management - Name: change-password.php ------------------------------------------------------------ query($sql); if ($result->num_rows > 0) { $admin = $result->fetch_assoc(); // Verify current password if (password_verify($current_password, $admin['password'])) { // Hash new password $hashed_password = password_hash($new_password, PASSWORD_DEFAULT); // Update password $update_sql = "UPDATE admins SET password = '$hashed_password' WHERE id = $admin_id"; if ($conn->query($update_sql)) { $success = "Password changed successfully!"; // Clear form fields $_POST = array(); } else { $error = "Failed to update password. Please try again."; } } else { $error = "Current password is incorrect"; } } else { $error = "Admin not found"; } } } $page_title = 'Change Password'; include '../includes/header.php'; ?>
← Back to Dashboard

Change Admin Password

Minimum 6 characters

🔒 Password Security Tips

  • Use at least 8 characters (minimum 6 required)
  • Mix uppercase and lowercase letters
  • Include numbers and special characters
  • Don't use common words or personal information
  • Change your password regularly
-------------------- END OF FILE -------------------- ### FILE 26: management/dashboard.php - Type: PHP - Size: 6.67 KB - Path: management - Name: dashboard.php ------------------------------------------------------------ query("SELECT COUNT(*) as count FROM members"); $total_members = $total_members_result->fetch_assoc()['count']; $pending_approval_result = $conn->query("SELECT COUNT(*) as count FROM members WHERE is_verified = 1 AND is_approved = 0"); $pending_approval = $pending_approval_result->fetch_assoc()['count']; $active_members_result = $conn->query("SELECT COUNT(*) as count FROM members WHERE is_approved = 1 AND payment_status = 1"); $active_members = $active_members_result->fetch_assoc()['count']; $total_surveys_result = $conn->query("SELECT COUNT(*) as count FROM survey_sites"); $total_surveys = $total_surveys_result->fetch_assoc()['count']; $new_tickets_result = $conn->query("SELECT COUNT(*) as count FROM contact_messages WHERE ticket_status = 'new'"); $new_tickets = $new_tickets_result->fetch_assoc()['count']; $pending_reviews_result = $conn->query("SELECT COUNT(*) as count FROM survey_reviews WHERE is_approved = 0"); $pending_reviews = $pending_reviews_result->fetch_assoc()['count']; $page_title = 'Admin Dashboard'; include '../includes/header.php'; ?>

Admin Dashboard

Total Members

Pending Approval

Active Members

Survey Sites

New Tickets

0): ?> !

Pending Reviews

0): ?> !
Manage Tickets 0): ?> New Manage Reviews 0): ?> New Manage Members + Add Survey Site Manage Surveys Settings 🔒 Change Password
-------------------- END OF FILE -------------------- ### FILE 27: management/delete-survey.php - Type: PHP - Size: 858 B - Path: management - Name: delete-survey.php ------------------------------------------------------------ query($sql); if ($result->num_rows > 0) { $survey = $result->fetch_assoc(); // Delete survey from database $delete_sql = "DELETE FROM survey_sites WHERE id = $survey_id"; if ($conn->query($delete_sql)) { // Delete image file $image_path = '../uploads/' . $survey['image']; if (file_exists($image_path)) { unlink($image_path); } } } redirect(SITE_URL . ADMIN_PATH . '/manage-surveys.php'); ?> -------------------- END OF FILE -------------------- ### FILE 28: management/edit-member.php - Type: PHP - Size: 8.23 KB - Path: management - Name: edit-member.php ------------------------------------------------------------ query($sql); if ($result->num_rows == 0) { redirect(SITE_URL . ADMIN_PATH . '/manage-members.php'); } $member = $result->fetch_assoc(); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $full_name = clean_input($_POST['full_name']); $email = clean_input($_POST['email']); $phone = clean_input($_POST['phone']); $is_verified = isset($_POST['is_verified']) ? 1 : 0; $is_approved = isset($_POST['is_approved']) ? 1 : 0; $payment_status = isset($_POST['payment_status']) ? 1 : 0; // Validation if (empty($full_name) || empty($email) || empty($phone)) { $error = "Name, email, and phone are required"; } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $error = "Invalid email format"; } else { // Check if email is already used by another member $check_sql = "SELECT id FROM members WHERE email = '$email' AND id != $member_id"; $check_result = $conn->query($check_sql); if ($check_result->num_rows > 0) { $error = "Email is already registered by another member"; } else { // Update member $update_sql = "UPDATE members SET full_name = '$full_name', email = '$email', phone = '$phone', is_verified = $is_verified, is_approved = $is_approved, payment_status = $payment_status WHERE id = $member_id"; if ($conn->query($update_sql)) { $success = "Member updated successfully!"; // Refresh member data $result = $conn->query("SELECT * FROM members WHERE id = $member_id"); $member = $result->fetch_assoc(); } else { $error = "Failed to update member: " . $conn->error; } } } } $page_title = 'Edit Member'; include '../includes/header.php'; ?>
← Back to Members

Edit Member

Basic Information

Account Status

Registration Details

Member ID:

Registered On:

⚠️ Important: Make sure to verify payment proof before marking as paid and approving the member. Check the UTR/Reference number from the payment screenshot sent to signupverification@paidsurveyhub.in
Cancel
-------------------- END OF FILE -------------------- ### FILE 29: management/edit-survey.php - Type: PHP - Size: 7.17 KB - Path: management - Name: edit-survey.php ------------------------------------------------------------ query($sql); if ($result->num_rows == 0) { redirect(SITE_URL . ADMIN_PATH . '/manage-surveys.php'); } $survey = $result->fetch_assoc(); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $title = clean_input($_POST['title']); $rank = $_POST['rank'] !== '' ? (int)$_POST['rank'] : NULL; $website_link = clean_input($_POST['website_link']); $description = clean_input($_POST['description']); $support_contact = clean_input($_POST['support_contact']); // Validation if (empty($title) || empty($website_link) || empty($description) || empty($support_contact)) { $error = "All fields except rank are required"; } else { // Check if rank already exists for another survey if ($rank !== NULL) { $check_rank = "SELECT id FROM survey_sites WHERE rank = $rank AND id != $survey_id"; $rank_result = $conn->query($check_rank); if ($rank_result->num_rows > 0) { $error = "Rank #$rank is already assigned to another survey"; } } if (empty($error)) { $new_filename = $survey['image']; // Check if new image is uploaded if (isset($_FILES['image']) && $_FILES['image']['error'] == 0) { $allowed_types = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif']; $file_type = $_FILES['image']['type']; if (!in_array($file_type, $allowed_types)) { $error = "Only JPG, PNG, and GIF images are allowed"; } else { $file_extension = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION); $new_filename = uniqid() . '.' . $file_extension; $upload_path = '../uploads/' . $new_filename; if (move_uploaded_file($_FILES['image']['tmp_name'], $upload_path)) { // Delete old image if (file_exists('../uploads/' . $survey['image'])) { unlink('../uploads/' . $survey['image']); } } else { $error = "Failed to upload new image"; } } } if (empty($error)) { $rank_sql = $rank !== NULL ? "rank = $rank," : "rank = NULL,"; // Update survey site $sql = "UPDATE survey_sites SET $rank_sql title = '$title', website_link = '$website_link', description = '$description', support_contact = '$support_contact', image = '$new_filename' WHERE id = $survey_id"; if ($conn->query($sql)) { $success = "Survey site updated successfully!"; // Refresh survey data $result = $conn->query("SELECT * FROM survey_sites WHERE id = $survey_id"); $survey = $result->fetch_assoc(); } else { $error = "Failed to update survey site: " . $conn->error; } } } } } $page_title = 'Edit Survey Site'; include '../includes/header.php'; ?>
← Back to Survey Sites

Edit Survey Site

Rank #1 displays full-width. Ranks #2+ display 2 per row. Unranked sites display 3 per row (randomized).
Current Image
Leave empty to keep current image
-------------------- END OF FILE -------------------- ### FILE 30: management/index.php - Type: PHP - Size: 2.2 KB - Path: management - Name: index.php ------------------------------------------------------------ query($sql); if ($result->num_rows > 0) { $admin = $result->fetch_assoc(); if (password_verify($password, $admin['password'])) { // Set session $_SESSION['admin_id'] = $admin['id']; $_SESSION['admin_username'] = $admin['username']; redirect(SITE_URL . ADMIN_PATH . '/dashboard.php'); } else { $error = "Invalid username or password"; } } else { $error = "Invalid username or password"; } } } $page_title = 'Admin Login'; include '../includes/header.php'; ?>

Admin Login

-------------------- END OF FILE -------------------- ### FILE 31: management/logout.php - Type: PHP - Size: 266 B - Path: management - Name: logout.php ------------------------------------------------------------ query($check_sql); if ($check_result->num_rows > 0) { $member_data = $check_result->fetch_assoc(); if ($member_data['payment_status'] == 1) { $sql = "UPDATE members SET is_approved = 1 WHERE id = $member_id"; if ($conn->query($sql)) { $success = "Member approved successfully!"; } } else { $success = "Cannot approve: Payment not completed yet!"; } } } // Build query with filters $where_clauses = ["1=1"]; // Search filter $search = isset($_GET['search']) ? clean_input($_GET['search']) : ''; if (!empty($search)) { $where_clauses[] = "(full_name LIKE '%$search%' OR email LIKE '%$search%' OR phone LIKE '%$search%')"; } // Verified filter if (isset($_GET['verified']) && $_GET['verified'] !== '') { $verified = (int)$_GET['verified']; $where_clauses[] = "is_verified = $verified"; } // Approved filter if (isset($_GET['approved']) && $_GET['approved'] !== '') { $approved = (int)$_GET['approved']; $where_clauses[] = "is_approved = $approved"; } // Payment filter if (isset($_GET['paid']) && $_GET['paid'] !== '') { $paid = (int)$_GET['paid']; $where_clauses[] = "payment_status = $paid"; } // Sorting $order_by = "created_at"; $order_dir = "DESC"; if (isset($_GET['sort'])) { $allowed_sorts = ['full_name', 'email', 'phone', 'created_at', 'is_verified', 'is_approved', 'payment_status']; if (in_array($_GET['sort'], $allowed_sorts)) { $order_by = $_GET['sort']; } } if (isset($_GET['dir']) && strtoupper($_GET['dir']) === 'ASC') { $order_dir = 'ASC'; } // Build final query $where_sql = implode(" AND ", $where_clauses); $sql = "SELECT * FROM members WHERE $where_sql ORDER BY $order_by $order_dir"; $result = $conn->query($sql); // Export functionality if (isset($_GET['export']) && $_GET['export'] === 'csv') { header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename="members_' . date('Y-m-d_H-i-s') . '.csv"'); $output = fopen('php://output', 'w'); fputcsv($output, ['ID', 'Full Name', 'Email', 'Phone', 'Verified', 'Approved', 'Paid', 'Registered Date']); while ($row = $result->fetch_assoc()) { fputcsv($output, [ $row['id'], $row['full_name'], $row['email'], $row['phone'], $row['is_verified'] ? 'Yes' : 'No', $row['is_approved'] ? 'Yes' : 'No', $row['payment_status'] ? 'Yes' : 'No', date('Y-m-d H:i:s', strtotime($row['created_at'])) ]); } fclose($output); exit(); } $page_title = 'Manage Members'; include '../includes/header.php'; ?>
← Back to Dashboard

Manage Members

Reset
📊 Export to CSV
num_rows > 0): ?>
fetch_assoc()): ?>
Name Email Phone Verified Approved Paid Registered Actions
Edit Approve

Total: num_rows; ?> member(s)

No members found matching your criteria.
-------------------- END OF FILE -------------------- ### FILE 33: management/manage-reviews.php - Type: PHP - Size: 10.14 KB - Path: management - Name: manage-reviews.php ------------------------------------------------------------ query($update_sql)) { $success = "Review approved successfully!"; } } // Handle rejection (delete) if (isset($_GET['reject'])) { $review_id = (int)$_GET['reject']; $delete_sql = "DELETE FROM survey_reviews WHERE id = $review_id"; if ($conn->query($delete_sql)) { $success = "Review rejected and deleted."; } } // Build query with filters $where_clauses = ["1=1"]; // Status filter $status_filter = isset($_GET['status']) ? $_GET['status'] : 'pending'; if ($status_filter === 'pending') { $where_clauses[] = "r.is_approved = 0"; } elseif ($status_filter === 'approved') { $where_clauses[] = "r.is_approved = 1"; } // Survey filter if (isset($_GET['survey']) && $_GET['survey'] !== '') { $survey_filter = (int)$_GET['survey']; $where_clauses[] = "r.survey_id = $survey_filter"; } // Build final query $where_sql = implode(" AND ", $where_clauses); $sql = "SELECT r.*, m.full_name, m.email, s.title as survey_title FROM survey_reviews r JOIN members m ON r.member_id = m.id JOIN survey_sites s ON r.survey_id = s.id WHERE $where_sql ORDER BY r.created_at DESC"; $result = $conn->query($sql); // Get statistics $pending_count = $conn->query("SELECT COUNT(*) as count FROM survey_reviews WHERE is_approved = 0")->fetch_assoc()['count']; $approved_count = $conn->query("SELECT COUNT(*) as count FROM survey_reviews WHERE is_approved = 1")->fetch_assoc()['count']; // Get all surveys for filter dropdown $surveys_sql = "SELECT id, title FROM survey_sites ORDER BY title ASC"; $surveys_result = $conn->query($surveys_sql); $page_title = 'Manage Reviews'; include '../includes/header.php'; ?>
← Back to Dashboard

Review Management

Pending Reviews
Approved Reviews
Reset
num_rows > 0): ?> fetch_assoc()): ?>

Reviewed by: ()

Submitted:

/5

✓ Approve ✗ Reject ✅ Approved

Total: num_rows; ?> review(s)

No reviews found matching your criteria.
-------------------- END OF FILE -------------------- ### FILE 34: management/manage-surveys.php - Type: PHP - Size: 10.97 KB - Path: management - Name: manage-surveys.php ------------------------------------------------------------ query($check_rank); if ($rank_result->num_rows > 0) { $error = "Rank #$new_rank is already assigned to another survey"; } } if (empty($error)) { $rank_value = $new_rank !== NULL ? $new_rank : 'NULL'; $update_sql = "UPDATE survey_sites SET rank = $rank_value WHERE id = $survey_id"; if ($conn->query($update_sql)) { $success = "Rank updated successfully!"; } else { $error = "Failed to update rank: " . $conn->error; } } } // Get all survey sites with review stats $sql = "SELECT s.*, COALESCE(AVG(r.rating), 0) as avg_rating, COUNT(r.id) as review_count FROM survey_sites s LEFT JOIN survey_reviews r ON s.id = r.survey_id AND r.is_approved = 1 GROUP BY s.id ORDER BY CASE WHEN s.rank IS NULL THEN 1 ELSE 0 END, s.rank ASC, s.created_at DESC"; $result = $conn->query($sql); $page_title = 'Manage Survey Sites'; include '../includes/header.php'; ?>
← Back to Dashboard

Manage Survey Sites

+ Add New

🏆 Ranking System:
Rank #1: Displays full-width with premium styling
Ranks #2+: Display 2 per row with rank badges
No Rank: Display 3 per row, randomized order
Click the rank field below to edit directly. Leave empty to remove ranking.

num_rows > 0): ?>
fetch_assoc()): ?>
Rank Image Title Reviews Website Link Created Actions

#
<?php echo htmlspecialchars($survey['title']); ?> 0): ?>
() No reviews yet
Visit Site → Edit Delete

Total: num_rows; ?> survey site(s)

No survey sites found. Add your first survey site
-------------------- END OF FILE -------------------- ### FILE 35: management/manage-tickets.php - Type: PHP - Size: 12.79 KB - Path: management - Name: manage-tickets.php ------------------------------------------------------------ query($sql); // Get statistics $stats = [ 'new' => $conn->query("SELECT COUNT(*) as count FROM contact_messages WHERE ticket_status = 'new'")->fetch_assoc()['count'], 'in_progress' => $conn->query("SELECT COUNT(*) as count FROM contact_messages WHERE ticket_status = 'in_progress'")->fetch_assoc()['count'], 'resolved' => $conn->query("SELECT COUNT(*) as count FROM contact_messages WHERE ticket_status = 'resolved'")->fetch_assoc()['count'], 'closed' => $conn->query("SELECT COUNT(*) as count FROM contact_messages WHERE ticket_status = 'closed'")->fetch_assoc()['count'], ]; $page_title = 'Manage Tickets'; include '../includes/header.php'; ?>
← Back to Dashboard

Ticket Management

New
In Progress
Resolved
Closed
Reset
num_rows > 0): ?>
fetch_assoc()): ?>
ID Type Name Email Message Status Date Actions
# Member Visitor
()
100 ? substr($msg, 0, 100) . '...' : $msg; ?> 'background: #ffc107; color: #000;', 'in_progress' => 'background: #17a2b8; color: #fff;', 'resolved' => 'background: #28a745; color: #fff;', 'closed' => 'background: #6c757d; color: #fff;' ]; $status_text = ucfirst(str_replace('_', ' ', $ticket['ticket_status'])); ?> View/Reply

Total: num_rows; ?> ticket(s)

No tickets found matching your criteria.
-------------------- END OF FILE -------------------- ### FILE 36: management/reply-ticket.php - Type: PHP - Size: 9.29 KB - Path: management - Name: reply-ticket.php ------------------------------------------------------------ query($sql); if ($result->num_rows == 0) { $error = "Invalid or expired ticket link. Please contact support if you need assistance."; } else { $ticket = $result->fetch_assoc(); // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $user_reply = clean_input($_POST['user_reply']); if (empty($user_reply)) { $error = "Please enter your response"; } else { // Append user reply to the message $updated_message = $ticket['message'] . "\n\n--- User Response ---\n" . $user_reply; $updated_message = clean_input($updated_message); // Update ticket with user's response $update_sql = "UPDATE contact_messages SET message = '$updated_message', ticket_status = 'new' WHERE id = $ticket_id"; if ($conn->query($update_sql)) { $success = "Your response has been submitted successfully! Our support team will review and respond to your follow-up question."; // Refresh ticket data $result = $conn->query($sql); $ticket = $result->fetch_assoc(); } else { $error = "Failed to submit response. Please try again."; } } } } } $page_title = 'Respond to Ticket'; ?> <?php echo $page_title; ?> - Paid Survey Hub India
Paid Survey Hub India
⚠️

Access Error

Submit New Ticket Go to Homepage

Response Submitted!

📧 What happens next:

  • Our support team will review your follow-up question
  • We will respond to your email within 24 hours
  • You can respond again using the link in our next email
Go to Homepage

Respond to Support Ticket

Ticket ID: #

Submitted:

'background: #ffc107; color: #000;', 'in_progress' => 'background: #17a2b8; color: #fff;', 'resolved' => 'background: #28a745; color: #fff;', 'closed' => 'background: #6c757d; color: #fff;' ]; $status_text = ucfirst(str_replace('_', ' ', $ticket['ticket_status'])); ?>

Support Team Response:

Replied on:

Your Original Message:

💬 Have a follow-up question?

Type your follow-up message below and our support team will respond to your email.

We will send our response to:
📌 Note: After submitting your follow-up, our support team will review and respond to your email within 24 hours. You will receive another email with our response and a link to continue the conversation if needed.

© Paid Survey Hub India. All rights reserved.

-------------------- END OF FILE -------------------- ### FILE 37: management/settings.php - Type: PHP - Size: 5.7 KB - Path: management - Name: settings.php ------------------------------------------------------------
← Back to Dashboard

Payment Settings

Set to 0 for free access. Members will have instant access without payment.
Your UPI ID for receiving payments
Current QR Code
Upload your UPI payment QR code. Leave empty to keep current QR code.

Instructions

-------------------- END OF FILE -------------------- ### FILE 38: management/view-ticket.php - Type: PHP - Size: 17.28 KB - Path: management - Name: view-ticket.php ------------------------------------------------------------ query($sql); if ($result->num_rows == 0) { redirect(SITE_URL . ADMIN_PATH . '/manage-tickets.php'); } $ticket = $result->fetch_assoc(); // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $admin_reply = clean_input($_POST['admin_reply']); $new_status = clean_input($_POST['ticket_status']); $admin_id = $_SESSION['admin_id']; if (empty($admin_reply)) { $error = "Reply message is required"; } else { // Update ticket $update_sql = "UPDATE contact_messages SET admin_reply = '$admin_reply', ticket_status = '$new_status', replied_at = NOW(), replied_by = $admin_id WHERE id = $ticket_id"; if ($conn->query($update_sql)) { $success = "Reply sent successfully!"; // Check if this is member or visitor $is_member = !empty($ticket['member_id']); // Send email notification to user $email_subject = "Response to Your Query - Ticket #$ticket_id"; if ($is_member) { // Member email (existing format) $email_message = "

Paid Survey Hub - Support Response

Dear " . htmlspecialchars($ticket['name']) . ",

Thank you for contacting us. We have reviewed your query and here is our response:

Your Message:

" . nl2br(htmlspecialchars($ticket['message'])) . "

Our Response:

" . nl2br($admin_reply) . "

Ticket #$ticket_id - Status: " . ucfirst(str_replace('_', ' ', $new_status)) . "

You can view your tickets anytime by logging in to your account and visiting the 'My Tickets' section.

View My Tickets

If you have any further questions, please don't hesitate to contact us again.

Best regards,
Paid Survey Hub Support Team

"; } else { // Visitor email with respond button $response_link = SITE_URL . "/reply-ticket.php?token=" . $ticket['response_token'] . "&id=" . $ticket_id; $email_message = "

Paid Survey Hub - Support Response

Dear " . htmlspecialchars($ticket['name']) . ",

Thank you for contacting us. We have reviewed your query and here is our response:

Your Message:

" . nl2br(htmlspecialchars($ticket['message'])) . "

Our Response:

" . nl2br($admin_reply) . "

Ticket #$ticket_id - Status: " . ucfirst(str_replace('_', ' ', $new_status)) . "

Have a follow-up question?

Click the button below to respond to this ticket and continue the conversation with our support team.

💬 Respond to Ticket

We hope this resolves your query. If you need further assistance, just click the respond button above.

Best regards,
Paid Survey Hub Support Team

Ticket #$ticket_id

"; } send_email($ticket['email'], $email_subject, $email_message); // Refresh ticket data $result = $conn->query($sql); $ticket = $result->fetch_assoc(); } else { $error = "Failed to send reply. Please try again."; } } } $page_title = 'View Ticket'; include '../includes/header.php'; ?>
← Back to Tickets

Ticket #

'background: #ffc107; color: #000;', 'in_progress' => 'background: #17a2b8; color: #fff;', 'resolved' => 'background: #28a745; color: #fff;', 'closed' => 'background: #6c757d; color: #fff;' ]; $status_text = ucfirst(str_replace('_', ' ', $ticket['ticket_status'])); ?>

Ticket Information

Type:

Member Query Visitor Query

Submitted:

Last Reply:

Contact Details

Name

Email

Member Name

Phone

Member ID

# (View Account)

User Message

Your Previous Reply

This reply will be emailed to
Note: Visitor will receive a "Respond" button in the email to continue the conversation.
Cancel
-------------------- END OF FILE -------------------- ### FILE 39: uploads/68e875094c5cd.png - Type: PNG - Size: 607.75 KB - Path: uploads - Name: 68e875094c5cd.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 40: uploads/68e88a7f0c767.png - Type: PNG - Size: 638.63 KB - Path: uploads - Name: 68e88a7f0c767.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 41: uploads/68e88a92c53b1.png - Type: PNG - Size: 551.55 KB - Path: uploads - Name: 68e88a92c53b1.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 42: uploads/68e88b5160c95.png - Type: PNG - Size: 921.07 KB - Path: uploads - Name: 68e88b5160c95.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 43: uploads/68e88b5c4655f.png - Type: PNG - Size: 1.02 MB - Path: uploads - Name: 68e88b5c4655f.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 44: uploads/68e88b6790d1b.png - Type: PNG - Size: 510.39 KB - Path: uploads - Name: 68e88b6790d1b.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 45: uploads/68e88bd4a06c7.png - Type: PNG - Size: 1.17 MB - Path: uploads - Name: 68e88bd4a06c7.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 46: uploads/68e88bdeaf176.png - Type: PNG - Size: 670.89 KB - Path: uploads - Name: 68e88bdeaf176.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 47: uploads/68e88be9460c0.png - Type: PNG - Size: 1.29 MB - Path: uploads - Name: 68e88be9460c0.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 48: uploads/68e88bf2dc063.png - Type: PNG - Size: 487.67 KB - Path: uploads - Name: 68e88bf2dc063.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 49: uploads/68edcc9480035.png - Type: PNG - Size: 672.12 KB - Path: uploads - Name: 68edcc9480035.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 50: uploads/68edccb23c2be.png - Type: PNG - Size: 203.52 KB - Path: uploads - Name: 68edccb23c2be.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 51: uploads/68edccd2534f9.png - Type: PNG - Size: 449.58 KB - Path: uploads - Name: 68edccd2534f9.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 52: uploads/68edcd5997a3b.png - Type: PNG - Size: 1.21 MB - Path: uploads - Name: 68edcd5997a3b.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 53: uploads/68edcd648c161.png - Type: PNG - Size: 1.24 MB - Path: uploads - Name: 68edcd648c161.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 54: uploads/68edcd6f78121.png - Type: PNG - Size: 397.59 KB - Path: uploads - Name: 68edcd6f78121.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 55: uploads/68edcd78911f5.png - Type: PNG - Size: 856.53 KB - Path: uploads - Name: 68edcd78911f5.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 56: uploads/68edce4eb7c22.png - Type: PNG - Size: 222.15 KB - Path: uploads - Name: 68edce4eb7c22.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 57: uploads/68edce59a613a.png - Type: PNG - Size: 301.49 KB - Path: uploads - Name: 68edce59a613a.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 58: uploads/68edce63b0703.png - Type: PNG - Size: 1.34 MB - Path: uploads - Name: 68edce63b0703.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 59: uploads/68edcf110c490.png - Type: PNG - Size: 166.12 KB - Path: uploads - Name: 68edcf110c490.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 60: uploads/68edcf6fa789e.png - Type: PNG - Size: 445.29 KB - Path: uploads - Name: 68edcf6fa789e.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 61: uploads/68edcff06b7d0.png - Type: PNG - Size: 911.45 KB - Path: uploads - Name: 68edcff06b7d0.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 62: uploads/68edd006792c7.png - Type: PNG - Size: 190.84 KB - Path: uploads - Name: 68edd006792c7.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 63: uploads/68edd03298b6e.png - Type: PNG - Size: 286.98 KB - Path: uploads - Name: 68edd03298b6e.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 64: uploads/68edd04c7358e.png - Type: PNG - Size: 320.1 KB - Path: uploads - Name: 68edd04c7358e.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 65: uploads/68edd073ee150.png - Type: PNG - Size: 102.18 KB - Path: uploads - Name: 68edd073ee150.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 66: uploads/68edd0905964e.png - Type: PNG - Size: 537.24 KB - Path: uploads - Name: 68edd0905964e.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 67: uploads/68edd0a7d599a.png - Type: PNG - Size: 176.07 KB - Path: uploads - Name: 68edd0a7d599a.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 68: uploads/68edd0be75ae0.png - Type: PNG - Size: 1.04 MB - Path: uploads - Name: 68edd0be75ae0.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 69: uploads/68edd0e848cc0.png - Type: PNG - Size: 277.42 KB - Path: uploads - Name: 68edd0e848cc0.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 70: uploads/68edd6b7a0c1a.png - Type: PNG - Size: 196.94 KB - Path: uploads - Name: 68edd6b7a0c1a.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 71: uploads/68edd6e182b08.png - Type: PNG - Size: 289.2 KB - Path: uploads - Name: 68edd6e182b08.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 72: uploads/68edd9116ae54.png - Type: PNG - Size: 148.18 KB - Path: uploads - Name: 68edd9116ae54.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 73: uploads/68edd92d82712.png - Type: PNG - Size: 139.61 KB - Path: uploads - Name: 68edd92d82712.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 74: uploads/68edd93bcfd6c.png - Type: PNG - Size: 917.71 KB - Path: uploads - Name: 68edd93bcfd6c.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 75: uploads/68edd97dc4796.png - Type: PNG - Size: 218.83 KB - Path: uploads - Name: 68edd97dc4796.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 76: uploads/68edd9c4dfe5a.png - Type: PNG - Size: 797.95 KB - Path: uploads - Name: 68edd9c4dfe5a.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 77: uploads/68edd9d510318.png - Type: PNG - Size: 421.04 KB - Path: uploads - Name: 68edd9d510318.png ------------------------------------------------------------ [IMAGE FILE: PNG - Content not displayed] -------------------- END OF FILE -------------------- ### FILE 78: uploads/qr_code_1760414613.jpg - Type: JPG - Size: 125.11 KB - Path: uploads - Name: qr_code_1760414613.jpg ------------------------------------------------------------ [IMAGE FILE: JPG - Content not displayed] -------------------- END OF FILE -------------------- ================================================================================ ## SUMMARY ================================================================================ Repository contains 78 files total. All file contents have been extracted and are shown above. This repository snapshot was generated on: 2026-02-25 22:47:40 ================================================================================ ## END OF REPOSITORY ================================================================================