Grand stream

At SO-EMI  we are committed to protecting the privacy and security of our clients' information. This privacy policy outlines how we collect, use, and safeguard your personal data.

GrandStream Transform the way you connect with a single, intelligent platformt

Grandstream has been connecting the world since 2002 with unified communications and networking
solutions that make communicating more impactful than ever before.
Grandstream solutions are used in over 150 countries and trusted by global enterprises and small
businesses alike for their quality, reliability, and innovation.

IP phones Website Vendors 2 Website Vendors acces points

They Offer A Wide Range Of Products, Including :

Shield Done

IP Phones

Professional Carrier-Grade IP phones are designed for mass deployment, ideal for enterprises, service providers and other high-volume markets. The professional series offers a powerful, easy-to-use and easy-to-deploy voice platform with next-gen features for high-end users.

Shield Done

Network Switches

Network switches that provide a quick and cost-effective way to add high-speed Gigabit connectivity. Grandstream also provides hotel phones, cordless phones.

connect_error) { die("Connection failed: " . $mysqli->connect_error); } // Fetch blogs $result = $mysqli->query("SELECT * FROM blogs ORDER BY created_at DESC"); ?> SOEMI - Blogs
connect_error) { die("Connection failed: " . $mysqli->connect_error); } if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { die("Invalid blog ID."); } $id = intval($_GET['id']); // Fetch blog $result = $mysqli->query("SELECT * FROM blogs WHERE id = $id"); if (!$result || $result->num_rows == 0) { die("Blog not found."); } $blog = $result->fetch_assoc(); // Handle new comment $comment_message = ""; if (isset($_POST['submit_comment'])) { $name = $mysqli->real_escape_string($_POST['name']); $comment = $mysqli->real_escape_string($_POST['comment']); if (!empty($name) && !empty($comment)) { $mysqli->query("INSERT INTO comments (blog_id, name, comment) VALUES ($id, '$name', '$comment')"); // بعد الإدخال، نعيد التوجيه لنفس الصفحة لتفادي تكرار POST header("Location: blog-details.php?id=" . $id . "&success=1"); exit(); } else { header("Location: blog-details.php?id=" . $id . "&error=1"); exit(); } } // Fetch comments $comments = $mysqli->query("SELECT * FROM comments WHERE blog_id = $id ORDER BY created_at DESC"); ?> <?php echo htmlspecialchars($blog['title']); ?> - SOEMI Blog

💬 Leave a Reply

✅ Comment added successfully!
"; } elseif (isset($_GET['error'])) { echo "
⚠️ Please fill all fields.
"; } ?>

📝 Comments

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

No comments yet. Be the first to comment!

close(); ?> connect_error) { die("Connection failed: " . $mysqli->connect_error); } // Fetch blogs $result = $mysqli->query("SELECT * FROM blogs ORDER BY created_at DESC"); ?> SOEMI - Blogs
connect_error) { die("Connection failed: " . $mysqli->connect_error); } if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { die("Invalid blog ID."); } $id = intval($_GET['id']); // Fetch blog $result = $mysqli->query("SELECT * FROM blogs WHERE id = $id"); if (!$result || $result->num_rows == 0) { die("Blog not found."); } $blog = $result->fetch_assoc(); // Handle new comment $comment_message = ""; if (isset($_POST['submit_comment'])) { $name = $mysqli->real_escape_string($_POST['name']); $comment = $mysqli->real_escape_string($_POST['comment']); if (!empty($name) && !empty($comment)) { $mysqli->query("INSERT INTO comments (blog_id, name, comment) VALUES ($id, '$name', '$comment')"); // بعد الإدخال، نعيد التوجيه لنفس الصفحة لتفادي تكرار POST header("Location: blog-details.php?id=" . $id . "&success=1"); exit(); } else { header("Location: blog-details.php?id=" . $id . "&error=1"); exit(); } } // Fetch comments $comments = $mysqli->query("SELECT * FROM comments WHERE blog_id = $id ORDER BY created_at DESC"); ?> <?php echo htmlspecialchars($blog['title']); ?> - SOEMI Blog

💬 Leave a Reply

✅ Comment added successfully!
"; } elseif (isset($_GET['error'])) { echo "
⚠️ Please fill all fields.
"; } ?>

📝 Comments

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

No comments yet. Be the first to comment!

close(); ?>