انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رفع ا شکال پروژه php

رفع ا شکال پروژه php

#1
با سلام
من در پروژه سایت یک کتابفروشی پروسه ثبت نام و لاگین را در دو فایل php نوشتم (به صورت شیءگرا) اما وقتی کار ثبت نام و یا لاگین را انجام میدهم عمل نمی کند هیچگونه خطایی هم نمی دهد انگار نه انگار که من این همه کد نوشتم به نظرتون اشکال کار کجاست؟
لطفا راهنمایی کنید
متشکرم
 
پاسخ

رفع ا شکال پروژه php

#2
سلام.
ابتدا یک کد ساده بنویسید و ببینید که آیا php به شما خروجی می دهد یا خیر. چون مثلا ممکنه هاست شما مشکل داشته باشه، که معمولا در این مواقع، خروجی به صورت یک صفحه سفید خواهد بود (برای من قبلا این مورد پیش اومده بود). یا به عمد، یک جای کد را غلط بنویسید تا ببینیم آیا پیام های خطا به درستی نمایش داده می شود یا خیر.
سپس در اون دو فایل، کدی را بنویسید که یک پیام را به کاربر نمایش دهد (با دستور echo یا print). 
حالا یک بار ثبت نام کنید ببینید پیام نمایش داده میشه یا نه. اگر نمایش داده نشد، مشکل از نحوه ارجاع به فایل php ثبت نام است و اگر نمایش داده شد، به درستی به فایل php ثبت نام، ارجاع داده شده و حالا باید ببینید که چه بخشی از کدهای آن غلط است که باعث می گردد عمل ثبت نام به درستی انجام نشود.
البته بدون دیدن کدها، نمیشه گفت که مشکل دقیقا از چیه.
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

رفع ا شکال پروژه php

#3
سلام
ممنون از راهنمایی تون مشکل از نحوه کد نویسی hnput های فرم ثبت نام بود در واقع اسم inputو اسم متغیرش در php فرق داشت اینه که ارتباط برقرار نمیشد
خداروشکر حل شد
پاسخ

رفع ا شکال پروژه php

#4
با سلام دوباره اگر ممکنه یک نگاهی به کد زیر بندازید
صفحه اضافه کردن محصول هست که با کدهای زیر محصول به بانک اطلاعاتی اضافه می شود اما پیغام New book added را نشان نمی دهد
با سپاس فراوان

کد:
<?php
require '../includes/init.inc.php';
$msg = "";
$subjectId = getRequestIntegerValue("subjectId");
$subject = new Subject();
if (isRequestSet("title")) {
    if ($_SESSION['hashcode'] == getRequestIntegerValue("hashcode")) {
        if (isRequestSetAndNotEmpty("title", "author", "publisher", "ISBN", "numPages", "dimensions", "format", "price", "available")) {
            $title = getRequestStringValue('title');
            $author = getRequestStringValue('author');
            $publisher = getRequestStringValue('publisher');
            $ISBN = getRequestStringValue('ISBN');
            $numPages = getRequestStringValue('numPages');
            $dimensions = getRequestStringValue('dimensions');
            $format = getRequestStringValue('format');
            $price = getRequestIntegerValue('price');
            $available = getRequestIntegerValue('available');

            $book = new Book();
            $id=$book->add($subjectId, $title, $author, $publisher, $ISBN, $numPages, $dimensions, $format, $price, $available);
                if ($id > 0) {
                $msg = "New book added";
            }
        } else {
            $msg = "All fields required.";
        }
    } else {
        $msg = "Invalid form data";
    }
}


$_SESSION['hashcode'] = rand(111111, 999999);



?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <link href="../css/style.css" type="text/css" rel="stylesheet" />
    </head>
    <body>
        <h2>Add books here ...</h2>
        <?php echo "<h2>" . $subject->getName($subjectId) . "</h2>";?>
        <a href="list.php?subjectId=<?php echo $subjectId; ?>">Book List</a>
        <form  id="addbook" action="" method="post">
             <h3><?php echo $msg; ?></h3>
            <div class="e">
                <input type="hidden" name="hashcode" value="<?php echo $_SESSION['hashcode']; ?>"/>
                <label for="title">Title:</label><input type="text" name="title"/>
                <div class="cl"></div>
                <label for="author">Author:</label><input type="text" name="author"/>
                <div class="cl"></div>
                <label for="publisher">Publisher:</label><input type="text" name="publisher"/>
                <div class="cl"></div>
                <label for="datePublished">Publication date:</label><input id="pdate" type="text" name="datePublished"/>
                <div class="cl"></div>
                <label for="ISBN">ISBN:</label><input type="text" name="ISBN"/>
                <div class="cl"></div>
                <label for="numPages">#pages:</label><input type="text" name="numPages"/>
                <div class="cl"></div>
                <label for="dimensions">Dimensions:</label><select name="dimensions"/>
                <option value="--" >----------------</option>
                <option value="38.2*30.5" >38.2*30.5</option>
                <option value="22.8*12.25" >22.8*12.25</option>
                <option value="18.7*12.7" >18.7*12.7</option>
                <option value="16.5*10.15" >16.5*10.15</option>
                <option value="14*9" >14*9</option>
                <option value="7.5*5" >7.5*5</option>
                </select>
                <div class="cl"></div>
                <label for="format">Format:</label><select class="fo" name="format"/>
                <option  value="--" >----------------</option>
                <option  value="Paperback">eBook</option>
                <option value="Paperback">Hardcover</option>
                <option  value="Paperback">Paperback</option>
                </select>
                <div class="cl"></div>
                <label for="price">Price:</label><input type="text" name="price"/>
                <div class="cl"></div>
                <label for="available">Available:</label><input type="text" name="available"/>
                <div class="cl"></div>
                <label for="status">Status:</label><select class="st" name="status"/>
                <option value="--" >----------------</option>
                <option value="activ">Active</option>
                <option value="inactive">Inactive</option>
                </select>
            </div>
            <div class="f">
                <input type="submit" value="Add book" />
            </div>

        </form>
    </body>
</html>

 
پاسخ

رفع ا شکال پروژه php

#5
سلام.
فقط گفتم دو تا نکته رو تذکر بدم :

1- تمامی کدهای صفحه را درون تگ های <html> و <html/> قرار بدید. شما نصف کدها رو بیرون گذاشتید و نصف دیگر رو داخل این دو تگ. (بهتره کدها استاندارد نوشته بشن)

2- به این بخش کدها توجه کنید :

کد:
<!DOCTYPE html>
<html>

این کدها رو باید به این شکل بنویسید :

کد:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

اما این دو مورد تنها برای استاندارد نوشتن بود، در مورد مشکل شما، بهتر است اگر پیام خطایی نمایش داده شده، اینجا بنویسید. چون من خواستم کدها رو اجرا کنم ولی نمیشه و به فایل های دیگری نیاز داره. اگه نشه کدها رو اجرا کرد، خطایابی سخت و زمانبر هست.
پاسخ

رفع ا شکال پروژه php

#6
ممنون از راهنمایی تون
میشه لطفا بگید برای رفع هشدار زیر چه کار باید کرد؟
( ! ) Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\bookstore\order\cart.php on line 21
Call Stack
# Time Memory Function Location
1 0.0016 340152 {main}( ) ..\cart.php:0
total price: 0
Follow the BookPUB
پاسخ

رفع ا شکال پروژه php

#7
اینم کدهای foreach ای که نوشتم

کد:
<?php

require '../includes/init.inc.php';
include '../template/head.tpl.php';



$book = new Book();


$cart = @$_SESSION['cart'];
echo "<table border=1>";
$s = 0;
    echo "<tr>";
    echo "<th>Title</th>";
    echo "<th>Price</th>";
    echo "<th>Count</th>";
    echo "<th>Total Price</th>";
    echo "</tr>";

foreach ($cart as $bid => $c) {
    $b = $book->get($bid);
    echo "<tr>";
    echo "<td>$b[title]</td>";
    echo "<td>$b[price]</td>";
    echo "<td><a href='addtocart.php?bid=$bid&c=-1'>-</a> $c <a href='addtocart.php?bid=$bid'>+</a></td>";
    echo "<td>" . $b['price'] * $c . "</td>";
    echo "</tr>";

    $s += $b['price'] * $c;
}
echo "</table>";
echo "total price: $s";
<?
پاسخ

رفع ا شکال پروژه php

#8
با سلام لطفا راجع به خطای زیر هم توضیح دهید ممنون میشم

کد:
! ) Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\bookstore\book\album.php on line 32
Call Stack
#    Time    Memory    Function    Location
1    0.0027    340512    {main}( )    ..\album.php:0
2    0.0695    414864    mysql_fetch_assoc ( )    ..\album.php:32

در اجرای آلبوم در کنار هر عکس خطای فوق دیده می شه چطوری رفعش کنم
اینم کدهام:

کد:
<?php
            
            while (($pic = mysql_fetch_array($result)) !=false) {
                $sub = $pic['subject'];
                $q = "SELECT * FROM subject WHERE id=$sub";
                $r = mysql_query($q);
                $subject = mysql_fetch_assoc($r);
                echo "<tr>";
                echo "<td>$pic[name]</td>";
                echo "<td>$subject[name]</td>";
                echo "<td><img src='../images/$pic[id].jpg' width='200' /></td>";
                echo "</tr>";
                echo "<tr>";
                echo "<td colspan='3'>$pic[description]</td>";
                echo "</tr>";
            }
            ?>
پاسخ

رفع ا شکال پروژه php

#9
(۱۳۹۲/۰۴/۲۴, ۰۶:۳۸ ق.ظ)pegtaj نوشته: اینم کدهای foreach ای که نوشتم

کد:
<?php

require '../includes/init.inc.php';
include '../template/head.tpl.php';



$book = new Book();


$cart = @$_SESSION['cart'];
echo "<table border=1>";
$s = 0;
    echo "<tr>";
    echo "<th>Title</th>";
    echo "<th>Price</th>";
    echo "<th>Count</th>";
    echo "<th>Total Price</th>";
    echo "</tr>";

foreach ($cart as $bid => $c) {
    $b = $book->get($bid);
    echo "<tr>";
    echo "<td>$b[title]</td>";
    echo "<td>$b[price]</td>";
    echo "<td><a href='addtocart.php?bid=$bid&c=-1'>-</a> $c <a href='addtocart.php?bid=$bid'>+</a></td>";
    echo "<td>" . $b['price'] * $c . "</td>";
    echo "</tr>";

    $s += $b['price'] * $c;
}
echo "</table>";
echo "total price: $s";
<?

در انتهای کدها، عبارت زیر رو نوشتید که غلط می باشد :

کد:
<?

شایدم موقع کپی کردن به اینجا، خراب شده باشه.
این مورد تنها موردی بود که به نظرم آمد، زیرا کدها را که نمی توان اجرا کرد (به دلیل نداشتن فایل های ارجاع داده شده).
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

رفع ا شکال پروژه php

#10
(۱۳۹۲/۰۴/۲۴, ۰۳:۴۳ ب.ظ)pegtaj نوشته: با سلام لطفا راجع به خطای زیر هم توضیح دهید ممنون میشم

کد:
! ) Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\bookstore\book\album.php on line 32
Call Stack
#    Time    Memory    Function    Location
1    0.0027    340512    {main}( )    ..\album.php:0
2    0.0695    414864    mysql_fetch_assoc ( )    ..\album.php:32

در اجرای آلبوم در کنار هر عکس خطای فوق دیده می شه چطوری رفعش کنم
اینم کدهام:

کد:
<?php
            
            while (($pic = mysql_fetch_array($result)) !=false) {
                $sub = $pic['subject'];
                $q = "SELECT * FROM subject WHERE id=$sub";
                $r = mysql_query($q);
                $subject = mysql_fetch_assoc($r);
                echo "<tr>";
                echo "<td>$pic[name]</td>";
                echo "<td>$subject[name]</td>";
                echo "<td><img src='../images/$pic[id].jpg' width='200' /></td>";
                echo "</tr>";
                echo "<tr>";
                echo "<td colspan='3'>$pic[description]</td>";
                echo "</tr>";
            }
            ?>

فرض کنید کد زیر را اجرا کنیم :

کد:
$A=mysql_query($myQuery);

و با خطایی مشابه خطای نوشته شده توسط شما، برخورد کنیم. برای اینکه متوجه شویم چه قسمتی است که خطا را ایجاد می کند، کدها را به این صورت تغییر می دهیم :

کد:
$A=mysql_query($myQuery) or die($myQuery."<br/><br/>".mysql_error());

با الهام از همین نکته، می توانید دلیل خطا را پیدا کنید.

لطفا تنها سوالاتی را بپرسید که بتوان کدهای مربوط به آن را اجرا کرد، زیرا زمان لازم برای چک کردن خط به خط کدها وجود ندارد.
در ضمن برای سوالات جدید، یک موضوع جدید باز کنید.
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان