Ali dev
2 سال پیش توسط Ali dev مطرح شد
10 پاسخ

رفرش کردن صفحه وب

با سلام سوالی داشتم من یک فرم کامنت درست کردم وقتی کاربر فیلد رو پر میکنه و به دیتابیس ارسال میکنه و از دیتابیس فراخوانی میکنه و نمایش میده تا اینجا همچی اوکیه تا وقتی که من صفحه رو رفرش میکنم و میبینم که از کامنت قبلی دوتا هست ینی انگار هرچی رفرش میکنی از کامنت قبلی رکورد میزنه و نمایش میده


ثبت پرسش جدید
woz
تخصص : fan of open source world
@wozniak 2 سال پیش مطرح شد
0

شما قطعا صفحه ی نمایش فرم رو رفرش نکردید و آدرس دریافت اطلاعات ( آدرس نوشته شده در action فرم) رو رفرش کردید و این طبیعی هست. البته اگر از متد post استفاده کنید مرورگر به شما اخطار ارسال دوباره اطلاعت رو میده که با تایید شما دوباره ارسال میشه.
آیا درست گفتم؟


Ali dev
@awrr1254 2 سال پیش مطرح شد
0

با سلام من وقتی صفحه رو رفرش میکنم کلا خود به خود یک رکورد جدید به صورت اتومات نمایش داده میشه نمیدونم باگش چیه و چجوری رفعش کنم


Ali dev
@awrr1254 2 سال پیش مطرح شد
0

[1]: https://roocket.ir/discuss/167 برای مثال این لینکی که دادم. مشکل منم همینه وقتی صفحه رو رفرش میکنم انگار دکمه سابمیت شده و جالبه از رکورد قبلی دوتا رکورد میزنه
نمیدونم چجوری بگم😁


مهدی اردشیر
تخصص : یه برنامه نویس
@mehdi0121 2 سال پیش مطرح شد
0

سلام کدتون رو چک کنید
شاید توی بخشی از کدتون کدی رو به اشتباه قرارداید
از ajax استفاده میکنید ؟


Ali dev
@awrr1254 2 سال پیش مطرح شد
0

با سلام نه یه کامنت خیلی ابتدایی و سادس چون تازه کار با پی اچ پیو شروع کردم درضمن من چون تازه کارم با پی اچ پی شاید مشکلی داشته باشه من نمیدونم میگم باگه با ایجکس کار نمیکنم یه پی اچ پیه با دیتا بیس پی اچ پی مای ادمین


erfan
تخصص : gray hat
@erfan.h.010011 2 سال پیش مطرح شد
0

سلام
اگه مشکل حل نشد
کد هاتون رو بزارید بشه بهتر راهنمایی کرد


Ali dev
@awrr1254 2 سال پیش آپدیت شد
0
<?php

include '../database/db.php';
if (isset($_POST['sub'])) {
    if (!empty($_POST['username']) && !empty($_POST['title']) && !empty($_POST['comment']) && !empty($_POST['sub'])) {
        $username = $_POST['username'];
        $title = $_POST['title'];
        $comment = $_POST['comment'];
        $insert = $conn->prepare("INSERT INTO ques SET username=? , title=? , comments=?");
        $insert->bindValue(1, $username);
        $insert->bindValue(2, $title);
        $insert->bindValue(3, $comment);
        $insert->execute();
    }
}

if (isset($_POST['sub'])) {
   ; header("location:qa2.php");
}

?>

<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>پرسش و پاسخ</title>
    <link rel="stylesheet" href="qa.css">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.2/sweetalert.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <script src="script1.js"></script>
</head>

<body>
    <br>
    <h2 id="header">
        ثبت پرسش
    </h2>
    <br>
    <p id="caption"> نام خود را وارد کنید :</p>
    <form method="post" required>
        <input class="username form-control" type="text" placeholder="نام خود را وارد کنید" name="username" required
            id="username">
        <br>
        <br>
        <p id="caption">عنوان پرسش را وارد کنید:</p>
        <input type="text" placeholder="عنوان پرسش خود را وارد کنید" name="title" class="title form-control"
            style="margin-right: 10px" required id="title">

        <textarea name="comment" class="ta" cols="70" rows="10" placeholder="پرسش خود را وارد کنید"></textarea required="required" id="text">
        <br>
        <br>
        <input type="submit" name="sub" class="btn btn-success" value="ثبت پرسش" onclick="msg();">
        <br>
        <br>
    </form>
    </div>

</body>
<style>
    .username {
        position: relative;
        right: 50px;
    }

    .title {
        position: relative;
        right: 50px;
    }

    .btn {
        width: 150px;
        margin-top: 20px;
    }

</style>

</html>

و هدرش کردم به :

<?php

include_once '../database/db.php';

$select = $conn->prepare("SELECT * FROM ques");
$select->execute();
$coments = $select->fetchAll(PDO::FETCH_ASSOC);

?>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>پرسش ها</title>

</head>
<body>
    <?php foreach($coments as $co){?>
    <div class="userqa">
        <p id="name">
            <? = $co['username'] ?>
        </p>

        <p id="msg">
            <? = $co['comments'] ?>
        </p>

        <span id="title">

        <? = $co['title'] ?>

        <span>

    </div>

    <?php }?>
</body>
<style>  
.userqa {
    border: 3px solid wheat;
    text-align: none !important;
    float: right;
    width: 500px;
    margin-top: 50px;
    font-size: larger;
    padding: 5px;
    border-bottom-right-radius: 20px;
    border-radius: 10px 0px 10px 10px;
    margin-bottom: 50px;
    animation-name: exl;
    animation-duration: 15s;
    transition: 15s;
    animation-iteration-count: infinite;
    background-color: chocolate;
    display: flex;
    flex-direction: column;
    margin: 80px;
}

@keyframes exl {
    0% {
        border-color: white;
    }

    10% {
        border-color: yellow;
    }

    20% {
        border-color: green;
    }

    30% {
        border-color: darkorange;
    }

    57% {
        border-color: red;
    }

    75% {
        border-color: blue;
    }

    100% {
        border-color: blueviolet;
    }
}

#name {
    text-align: center;
    color: wheat;
    font-weight: bold;
}

#msg {
    text-align: start;
    float: right;
    color: wheat;
}
</style>
</html>

</body></html>


Ali dev
@awrr1254 2 سال پیش مطرح شد
0

الان این دو سورس کدی که ارسال کردم کد یه وب پرسش و پاسخ ساده با پا اچ پی هست الان این دو دو تا مشکل دارن یه مشکل اینه که از دیتابیس کامنت هارو دریافت نمیکنه و نمایش نمیده و مشکل دوم اینه که هرچی رفرش می میکنم رکورد جدید درست میکنه واقعا گیج شدم😑😐


علی مهدوی
تخصص : طراح و توسعه دهنده وب
@mahdavi 2 سال پیش مطرح شد
0

سلام
به نظرتون نباید این تیکه کد اصلاح بشه ؟

if (isset($_POST['sub'])) {
   ; header("location:qa2.php");
}

و به جای if (isset($_POST['sub'])) از این if (! isset($_POST['sub'])) استفاده کنید ؟
چون دارید دوبار بودن POST رو چک میکنید هربارم وجودشو چک میکنید
باید اونی که ریدایرکت اتفاق میوفته رو برای وقتی به کار ببرید که POST نباشه یعنی !(NOT)


Ali dev
@awrr1254 2 سال پیش مطرح شد
0

سلام تست کردم ولی کلا کار نمیکنه!


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام