برنامه نویسی

مبارزه با نمایش تصویر و متغیرهای تعریف نشده در اسکریپت PHP – به کمک نیاز دارید!

Summarize this content to 400 words in Persian Lang
هی، dev.to جامعه،

من بر روی یک فروشگاه آنلاین مبتنی بر PHP کار می کنم و با چند مشکل در فروشگاه خود مواجه می شوم onlineshop.php اسکریپت من می توانم از برخی راهنمایی ها برای حل این مشکلات استفاده کنم. در اینجا خلاصه ای از مشکلاتی که با آن روبرو هستم آورده شده است:

متن نوشته:

مسیر فایل: /var/www/html/online_shop/public/onlineshop/onlineshop.php

موضوع: تصاویر به درستی نمایش داده نمی شوند، و من اخطارهای PHP را در مورد متغیرهای تعریف نشده دریافت می کنم.

قطعه کد:

session_start();
include_once ‘db_connect.php’;

// Enable error reporting
error_reporting(E_ALL);
ini_set(‘display_errors’, 1);

// Handle logout if logout parameter is set
if (isset($_GET[‘logout’]) && $_GET[‘logout’] == ‘true’) {
$_SESSION = array();
session_destroy();
header(“Location: onlineshop.php”);
exit();
}

// Check if the user is logged in
if (isset($_SESSION[‘user_id’])) {
$navbar_links = ‘

Profile

Logout

‘;
} else {
$navbar_links = ‘

Login

Register

‘;
}

// Fetch products from database
$sql_fetch_products = “SELECT * FROM products”;
$result = $conn->query($sql_fetch_products);

if (!isset($_SESSION[‘user_id’])) {
header(“Location: login.php”);
exit();
}

$user_id = $_SESSION[‘user_id’];

// Fetch username based on user_id
$sql = $conn->prepare(“SELECT username FROM users WHERE id = ?”);
$sql->bind_param(‘i’, $user_id);
$sql->execute();
$sql->bind_result($username);
$sql->fetch();
$sql->close();

// Fetch chat messages
$chat_query = “SELECT * FROM chat_messages WHERE sender=”$username” OR receiver=”$username” ORDER BY timestamp DESC”;
$chat_result = $conn->query($chat_query);

// Handle sending chat messages
if ($_SERVER[‘REQUEST_METHOD’] === ‘POST’ && isset($_POST[‘chat_message’])) {
$receiver = ‘admin’; // Static value for admin
$message = $_POST[‘chat_message’];
$sender = $username;

$stmt = $conn->prepare(“INSERT INTO chat_messages (sender, receiver, message) VALUES (?, ?, ?)”);
$stmt->bind_param(“sss”, $sender, $receiver, $message);
$stmt->execute();
$stmt->close();
header(“Location: onlineshop.php”);
exit;
}
?>

lang=”en”>

charset=”UTF-8″>
name=”viewport” content=”width=device-width, initial-scale=1.0″>
Online Shop
href=”https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css” rel=”stylesheet”>
src=]]>”https://code.jquery.com/jquery-3.3.1.min.js”>

class=”navbar navbar-expand-lg navbar-light bg-light”>
class=”navbar-brand” href=”#”>Indonesian Product
class=”navbar-toggler” type=”button” data-toggle=”collapse” data-target=”#navbarNav” aria-controls=”navbarNav” aria-expanded=”false” aria-label=”Toggle navigation”>
class=”navbar-toggler-icon”>

class=”collapse navbar-collapse” id=”navbarNav”>

class=”container”>
class=”marquee”>
behavior=”scroll” direction=”left”>Welcome to our Online Shop!

class=”container”>

class=”card-columns”>

if ($result && $result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo ”;
}
} else {
echo ‘No products found.’;
}
?>

class=”card”>
class=”card-header”>Chat with Admin
class=”card-body”>
class=”chat-box” style=”height: 300px; overflow-y: scroll;”>
while ($chat = $chat_result->fetch_assoc()) { ?>

echo htmlspecialchars($chat[‘sender’]); ?>:
echo htmlspecialchars($chat[‘message’]); ?>
class=”text-muted”> echo $chat[‘timestamp’]; ?>

} ?>

$(document).ready(function() {
function checkNewMessages() {
$.ajax({
url: ‘check_new_messages.php’,
method: ‘GET’,
success: function(data) {
if (data.new_messages > 0) {
$(‘#chat-notification-count’).text(data.new_messages);
} else {
$(‘#chat-notification-count’).text(”);
}
}
});
}

// Check for new messages every 5 seconds
setInterval(checkNewMessages, 5000);
});

src=]]>”https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js”>

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مسائل:

مشکل مسیر تصویر: مسیر تصویر ایجاد شده برای نمایش تصاویر محصول نادرست است. URL به صورت نشان داده می شود /photo_product/photo_product/Screenshot%202024-07-01%20080501.png، که منجر به الف 404 Not Found خطا
هشدارهای پی اچ پی: من اخطارهای مربوط به متغیرهای تعریف نشده و آفست آرایه را می بینم.

سوالات:

مسیر تصویر: چگونه می توانم مسیر تصویر را اصلاح کنم تا مطمئن شوم تصاویر به درستی نمایش داده می شوند؟

هشدارهای پی اچ پی: برای رفع اخطارهای مربوط به متغیرهای تعریف نشده و آفست آرایه چه اقداماتی می توانم انجام دهم؟

مشاوره رفع اشکال: پیشنهادی در مورد تکنیک های اشکال زدایی موثر برای این مسائل دارید؟

هر گونه کمک یا بینش بسیار قدردانی خواهد شد. پیشاپیش متشکرم

هی، dev.to جامعه،

من بر روی یک فروشگاه آنلاین مبتنی بر PHP کار می کنم و با چند مشکل در فروشگاه خود مواجه می شوم onlineshop.php اسکریپت من می توانم از برخی راهنمایی ها برای حل این مشکلات استفاده کنم. در اینجا خلاصه ای از مشکلاتی که با آن روبرو هستم آورده شده است:

متن نوشته:

  • مسیر فایل: /var/www/html/online_shop/public/onlineshop/onlineshop.php
  • موضوع: تصاویر به درستی نمایش داده نمی شوند، و من اخطارهای PHP را در مورد متغیرهای تعریف نشده دریافت می کنم.

قطعه کد:


session_start();
include_once 'db_connect.php';

// Enable error reporting
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Handle logout if logout parameter is set
if (isset($_GET['logout']) && $_GET['logout'] == 'true') {
    $_SESSION = array();
    session_destroy();
    header("Location: onlineshop.php");
    exit();
}

// Check if the user is logged in
if (isset($_SESSION['user_id'])) {
    $navbar_links = '
        
        
    ';
} else {
    $navbar_links = '
        
        
    ';
}

// Fetch products from database
$sql_fetch_products = "SELECT * FROM products";
$result = $conn->query($sql_fetch_products);

if (!isset($_SESSION['user_id'])) {
    header("Location: login.php");
    exit();
}

$user_id = $_SESSION['user_id'];

// Fetch username based on user_id
$sql = $conn->prepare("SELECT username FROM users WHERE id = ?");
$sql->bind_param('i', $user_id);
$sql->execute();
$sql->bind_result($username);
$sql->fetch();
$sql->close();

// Fetch chat messages
$chat_query = "SELECT * FROM chat_messages WHERE sender="$username" OR receiver="$username" ORDER BY timestamp DESC";
$chat_result = $conn->query($chat_query);

// Handle sending chat messages
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['chat_message'])) {
    $receiver = 'admin'; // Static value for admin
    $message = $_POST['chat_message'];
    $sender = $username;

    $stmt = $conn->prepare("INSERT INTO chat_messages (sender, receiver, message) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $sender, $receiver, $message);
    $stmt->execute();
    $stmt->close();
    header("Location: onlineshop.php");
    exit;
}
?>


 lang="en">

     charset="UTF-8">
     name="viewport" content="width=device-width, initial-scale=1.0">
    </span>Online Shop<span class="nt"/>
    <span class="nt"><link/> <span class="na">href=</span><span class="s">"https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"</span> <span class="na">rel=</span><span class="s">"stylesheet"</span><span class="nt">></span>
    <span class="nt"><script><![CDATA[<span class="na">src=]]></script></span><span class="s">"https://code.jquery.com/jquery-3.3.1.min.js"</span><span class="nt">></span>
<span class="nt"/>
<span class="nt"/>
    <span class="c"><!-- Navbar --></span>
    <span class="nt"><nav> <span class="na">class=</span><span class="s">"navbar navbar-expand-lg navbar-light bg-light"</span><span class="nt">></span>
        <span class="nt"><a> <span class="na">class=</span><span class="s">"navbar-brand"</span> <span class="na">href=</span><span class="s">"#"</span><span class="nt">></span>Indonesian Product<span class="nt"/></span>
        <span class="nt"><button> <span class="na">class=</span><span class="s">"navbar-toggler"</span> <span class="na">type=</span><span class="s">"button"</span> <span class="na">data-toggle=</span><span class="s">"collapse"</span> <span class="na">data-target=</span><span class="s">"#navbarNav"</span> <span class="na">aria-controls=</span><span class="s">"navbarNav"</span> <span class="na">aria-expanded=</span><span class="s">"false"</span> <span class="na">aria-label=</span><span class="s">"Toggle navigation"</span><span class="nt">></span>
            <span class="nt"><span> <span class="na">class=</span><span class="s">"navbar-toggler-icon"</span><span class="nt">></span></span>
        <span class="nt"/></span></button></span>
        <span class="nt"><div> <span class="na">class=</span><span class="s">"collapse navbar-collapse"</span> <span class="na">id=</span><span class="s">"navbarNav"</span><span class="nt">></span>
            <span class="nt"/>
        <span class="nt"/></div></span>
    <span class="nt"/></nav></span>

    <span class="nt"><div> <span class="na">class=</span><span class="s">"container"</span><span class="nt">></span>
        <span class="nt"><p> <span class="na">class=</span><span class="s">"marquee"</span><span class="nt">></span>
            <span class="nt"><marquee> <span class="na">behavior=</span><span class="s">"scroll"</span> <span class="na">direction=</span><span class="s">"left"</span><span class="nt">></span>Welcome to our Online Shop!<span class="nt"/></marquee></span>
        <span class="nt"/></p></span>
    <span class="nt"/></div></span>

    <span class="nt"><div> <span class="na">class=</span><span class="s">"container"</span><span class="nt">></span>
        <span class="nt"/>
        <span class="nt"><div> <span class="na">class=</span><span class="s">"card-columns"</span><span class="nt">></span>
            <span class="cp"><?php </span?>
            <span class="k">if</span> <span class="p">(</span><span class="nv">$result</span> <span class="o">&&</span> <span class="nv">$result</span><span class="o">-></span><span class="n">num_rows</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
                <span class="k">while</span> <span class="p">(</span><span class="nv">$row</span> <span class="o">=</span> <span class="nv">$result</span><span class="o">-></span><span class="nf">fetch_assoc</span><span class="p">())</span> <span class="p">{</span>
                    <span class="k">echo</span> <span class="s1">''</span><span class="p">;</span>
                <span class="p">}</span>
            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                <span class="k">echo</span> <span class="s1">'<p>No products found.</p>'</span><span class="p">;</span>
            <span class="p">}</span>
            <span class="cp">?></span>
        <span class="nt"/></span></div></span>
    <span class="nt"/></div></span>

   <span class="c"><!-- Chat Section --></span>
   <span class="nt"><div> <span class="na">class=</span><span class="s">"card"</span><span class="nt">></span>
        <span class="nt"><p> <span class="na">class=</span><span class="s">"card-header"</span><span class="nt">></span>Chat with Admin<span class="nt"/></p></span>
        <span class="nt"><div> <span class="na">class=</span><span class="s">"card-body"</span><span class="nt">></span>
            <span class="nt"><div> <span class="na">class=</span><span class="s">"chat-box"</span> <span class="na">style=</span><span class="s">"height: 300px; overflow-y: scroll;"</span><span class="nt">></span>
                <span class="cp"><?php </span?> <span class="k">while</span> <span class="p">(</span><span class="nv">$chat</span> <span class="o">=</span> <span class="nv">$chat_result</span><span class="o">-></span><span class="nf">fetch_assoc</span><span class="p">())</span> <span class="p">{</span> <span class="cp">?></span>
                    <span class="nt"><p>
                        <span class="nt"><strong/></span><span class="cp"><?php </span?> <span class="k">echo</span> <span class="nb">htmlspecialchars</span><span class="p">(</span><span class="nv">$chat</span><span class="p">[</span><span class="s1">'sender'</span><span class="p">]);</span> <span class="cp">?></span>:<span class="nt"/>
                        <span class="nt"><span/><span class="cp"><?php </span?> <span class="k">echo</span> <span class="nb">htmlspecialchars</span><span class="p">(</span><span class="nv">$chat</span><span class="p">[</span><span class="s1">'message'</span><span class="p">]);</span> <span class="cp">?></span><span class="nt"/></span>
                        <span class="nt"><small> <span class="na">class=</span><span class="s">"text-muted"</span><span class="nt">></span><span class="cp"><?php </span?> <span class="k">echo</span> <span class="nv">$chat</span><span class="p">[</span><span class="s1">'timestamp'</span><span class="p">];</span> <span class="cp">?></span><span class="nt"/></span></small></span>
                    <span class="nt"/></span></span></p></span>
                <span class="cp"><?php </span?> <span class="p">}</span> <span class="cp">?></span>
            <span class="nt"/></span></span></div></span>
            <span class="nt"/>
        <span class="nt"/></div></span>
    <span class="nt"/></div></span>

    <span class="nt"><script/></span>
        <span class="nf">$</span><span class="p">(</span><span class="nb">document</span><span class="p">).</span><span class="nf">ready</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
            <span class="kd">function</span> <span class="nf">checkNewMessages</span><span class="p">()</span> <span class="p">{</span>
                <span class="nx">$</span><span class="p">.</span><span class="nf">ajax</span><span class="p">({</span>
                    <span class="na">url</span><span class="p">:</span> <span class="dl">'</span><span class="s1">check_new_messages.php</span><span class="dl">'</span><span class="p">,</span>
                    <span class="na">method</span><span class="p">:</span> <span class="dl">'</span><span class="s1">GET</span><span class="dl">'</span><span class="p">,</span>
                    <span class="na">success</span><span class="p">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span>
                        <span class="k">if </span><span class="p">(</span><span class="nx">data</span><span class="p">.</span><span class="nx">new_messages</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
                            <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#chat-notification-count</span><span class="dl">'</span><span class="p">).</span><span class="nf">text</span><span class="p">(</span><span class="nx">data</span><span class="p">.</span><span class="nx">new_messages</span><span class="p">);</span>
                        <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                            <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">#chat-notification-count</span><span class="dl">'</span><span class="p">).</span><span class="nf">text</span><span class="p">(</span><span class="dl">''</span><span class="p">);</span>
                        <span class="p">}</span>
                    <span class="p">}</span>
                <span class="p">});</span>
            <span class="p">}</span>

            <span class="c1">// Check for new messages every 5 seconds</span>
            <span class="nf">setInterval</span><span class="p">(</span><span class="nx">checkNewMessages</span><span class="p">,</span> <span class="mi">5000</span><span class="p">);</span>
        <span class="p">});</span>
    <span class="nt"/>

    <span class="nt"><script><![CDATA[<span class="na">src=]]></script></span><span class="s">"https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"</span><span class="nt">></span>
<span class="nt"/>
<span class="nt"/>
</span></span></span></span></span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

مسائل:

  1. مشکل مسیر تصویر: مسیر تصویر ایجاد شده برای نمایش تصاویر محصول نادرست است. URL به صورت نشان داده می شود /photo_product/photo_product/Screenshot%202024-07-01%20080501.png، که منجر به الف 404 Not Found خطا

  2. هشدارهای پی اچ پی: من اخطارهای مربوط به متغیرهای تعریف نشده و آفست آرایه را می بینم.

سوالات:

  1. مسیر تصویر: چگونه می توانم مسیر تصویر را اصلاح کنم تا مطمئن شوم تصاویر به درستی نمایش داده می شوند؟
  2. هشدارهای پی اچ پی: برای رفع اخطارهای مربوط به متغیرهای تعریف نشده و آفست آرایه چه اقداماتی می توانم انجام دهم؟
  3. مشاوره رفع اشکال: پیشنهادی در مورد تکنیک های اشکال زدایی موثر برای این مسائل دارید؟

هر گونه کمک یا بینش بسیار قدردانی خواهد شد. پیشاپیش متشکرم

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا