علیرضا کفایتی
3 سال پیش توسط علیرضا کفایتی مطرح شد
6 پاسخ

چند ارور پس از انتشار سایت با php pure

سلام
سایت زیر رو مشاهده کنید :
https://shtahsili.ir
اگر به بخش ثبت نام بروید و اطلاعاتتون رو وارد کنید و روی دکمه کلیک کنید فحه رفرش شده و در همان آدرس با صفحه ای سفید مواجه می شوید ...
در localhost چنین مشکلی نیست اما بعد از انتشار این مشکل به وجود اومد ...
به نظرتون مشکل از کجاست ؟
@websaz@ rezajahangir @mohaligateway @ali.bayat

این هم کد های فایل ثبت نام :

<?php 
require_once('../data/db.php');
include '../js/jdf.php';
if(isset($_COOKIE['login'])){
  header("location:../");
}
$error = "<div class='alert alert-info  d-flex' role='alert'><div>ثبت نام کنید ...!</div></div>";
?>

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>ثبت نام</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="../css/style.css">
    <link rel="stylesheet" href="../css/style.css" />
    <link rel="stylesheet" href="../css/bootstrap.rtl.min.css" integrity="sha384-trxYGD5BY4TyBTvU5H23FalSCYwpLA0vWEvXXGm5eytyztxb+97WzzY+IWDOSbav" crossorigin="anonymous">
    <script src="//cdn.jsdelivr.net/npm/sweetalert2@10"></script>    
</head>
<?php
$sabt = NULL;
$error_m = NULL;
if(isset($_POST['new']) && $_POST['email'] != '' && $_POST['name'] != '' && $_POST['password'] != ''){
    $email = $_POST['email'];
    $name = $_POST['name'];
    $password = $_POST['password'];
    $time = time();
    $sql = "SELECT * FROM `user`";
    $userall = $conn->prepare($sql);
    $userall->execute();
    foreach($userall as $user){
      if($email == $user['email']){
        $error = $error =  "<div class='alert alert-danger d-flex' role='alert'><div>کاربری قبلا با این ایمیل ثبت نام کرده است</div></div>";
      }
      if(strlen($name) < 3){
        $error = $error =  "<div class='alert alert-danger d-flex' role='alert'><div>حداقل تعداد کاراکتر های نام باید ۳ تا باشد</div></div>";
      }
      if(strlen($password) < 5){
        $error = $error =  "<div class='alert alert-danger d-flex' role='alert'><div>حداقل تعداد کاراکتر های رمز عبور باید ۵ تا باشد</div></div>";
      }
    }
    if($error == "<div class='alert alert-info  d-flex' role='alert'><div>ثبت نام کنید ...!</div></div>"){
      $time = jdate('Y/m/d');
      $sql = "INSERT INTO `user` (`id`, `email`, `name`, `password` , `dastresi` , `time`) VALUES (NULL, :n_email , :n_name, :n_password , 'کاربر' , :timee);";
      $query = $conn->prepare($sql);
      $query->bindParam(':n_email', $email, PDO::PARAM_STR);
      $query->bindParam(':n_name', $name, PDO::PARAM_STR);
      $query->bindParam(':n_password', $password, PDO::PARAM_STR);
      $query->bindParam(':timee', $time ,PDO::PARAM_STR);
      $query->execute();
      echo "<script>window.location.href='../index.php?coo=true&email=$email&password=$password'</script>";
    }
  }

?>

<body>

<div class="">
<div class="con">

<nav class="animate__animated animate__bounce navbar navbar-expand-lg navbar-light bg-light">
      <div class="container-fluid">
        <a class="navbar-brand animate__animated animate__bounce" href="/shtahsili/index.php">موسسه شهید تحصیلی </a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarSupportedContent" style="border-radius: 30px;">
          <ul class="navbar-nav me-auto mb-2 mb-lg-0" style="border-radius: 30px;">
            <li class="nav-item">
              <a class="nav-link active" aria-current="page" href="/shtahsili/index.php"><img src="../img/house-fill.svg">  خانه</a>
            </li>
            <?php if(isset($_COOKIE['login'])){ ?>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"><img src="../img/person-circle.svg"> حساب کاربری </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown" style="border-radius: 30px;">
                <li><a class="dropdown-item" href="../porofile/"> مشاهده و ویرایش حساب</a></li>
                <?php if($admin != 'مدیر'){?>
                <li><a class="dropdown-item" href="admin/">مدیریت سایت</a></li>
                <li><a class="dropdown-item" href="../admin/">امتیاز شما</a></li>
                <?php }
                else{
                  ?><li><a class="dropdown-item" href="../admin/">درخواست نویسنده شدن</a></li><?php
                }
                ?>
                <li><hr class="dropdown-divider"></li>
                <li><a class="dropdown-item" href="logout.php">خروج</a></li>
              </ul>
            </li> 
            <?php } 
            else{?>
              <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"><img src="../img/person-circle.svg"> حساب کاربری </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown" style="border-radius: 30px;">
                <li><a class="dropdown-item" href="login/">ورود</a></li>
                <li><a class="dropdown-item" href="register.php">ثبت نام</a></li>
              </ul>
            </li> 
            <?php }?>

            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"><img src="../img/pencil-square.svg">  دسته بندی ها  </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown" style="border-radius: 30px;">
              <?php
              $sql = "SELECT * FROM `menu` WHERE `bool` = 'فعال'";
              $r_m = $conn->query($sql);

              foreach ($r_m as $item_m) {
                ?><li><a class="dropdown-item" href="../dastebandi.php?named=<?php echo $item_m["title"]?>"><?php echo $item_m["title"]?></a></li>
                <?php
              }?>
              </ul>
            </li>
          </ul>
          <form class="d-flex" action="../serch.php">
            <input class="form-control me-2" type="search" placeholder="جستجو ..." aria-label="Search" name="s">
            <button class="btn btn-warning" type="submit">بگرد</button>
          </form>
        </div>
      </div>
    </nav>
    <!--پایان منو-->
</div>
<br><br>
    <br class="d-none d-lg-inline d-md-inline d-xl-inline">
    <br class="d-none d-lg-inline d-md-inline d-xl-inline">
    <div>

            </div>
          </div>

    <div class="container border p-4 mt-4">

        <div class="row">
            <div class="col-md-12">
                <h3 class="p-4">ثبت نام</h3>
                <hr />
            </div>
        </div>

        <form method="post">
        <?php echo $error?>
            <div class="form-row">
                <div class="form-group col-md-6">
                    <input type="email" name="email" class="form-control textr" placeholder="ایمیل">
                </div>
                <div class="form-group col-md-6">
                    <input type="text" name="name" class="form-control textr" placeholder="نام و نام خانوادگی">
                </div>
            </div>
            <div class="form-group">
                <input type="password" name="password" class="form-control textr" placeholder="رمز ورود">
            </div>
            <input type="submit" class="btn btn-warning" value="ثبت نام" name="new">
        </form>

    </div>

        <br>
        <br>
        <br>
<!--فوتر سایت-->
<footer class="footer">

  <div class="footer1">
    <form action="" method="post" class="khabar d-none d-lg-inline d-md-inline d-xl-inline">
        <input class="form-control email-t" type="email" name='email' placeholder="ایمیل خود را وارد کنید ...">
        <input type="submit" class="btn-email btn btn-success" value="عضویت در خبرنامه">
    </form>
    <br>
    <br>
    <br>

    <h2>کاری از تیم برنامه نویسی موسسه شهید تحصیلی</h2>
    <br>
    <a href="https://gap.im/nava_enghelab" target="_blank"><img src="https://bayanbox.ir/view/1248900230741284434/gap-splash.png" style="width: 40px;" class="img-adress"></a>
    <a href="https://ble.ir/nava_enghelab" target="_blank"><img src="https://bayanbox.ir/view/6613301117115541816/ir.nasim-128x128.png" style="width: 40px;" class="img-adress"></a>
    <a href="https://eitaa.com/nava_enghelab" target="_blank"><img src="https://bayanbox.ir/view/6736469880896554318/ir.eitaa.messenger-512x512.png" style="width: 40px;" class="img-adress"></a>
    <a href="https://aparat.com/nava_enghelab" target="_blank"><img src="https://bayanbox.ir/view/7918902236960145535/icon-color-black-1024px.png" style="width: 40px;" class="img-adress"></a>
    <a href="https://wisgoon.com/tahsili" style="width: 40px;" class="img-adress"><img src="https://bayanbox.ir/view/562539298396502081/com.wisgoon.android-512x512.png" style="width: 40px;" class="img-adress"></a>
    <a href="https://www.hoorsa.com/tahsili" style="width: 40px;" class="img-adress"><img src="https://bayanbox.ir/view/7754652545234602087/com.hoorsa.android-512x512.png" style="width: 40px;" class="img-adress"></a>

    <br>

  </div>

</footer>

</body>

<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js" integrity="sha384-SR1sx49pcuLnqZUnnPwx6FCym0wLsk5JZuNx2bPPENzswTNFaQU1RDvt3wT4gWFG" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.min.js" integrity="sha384-j0CNLUeiqtyaRmlzUHCPZ+Gy5fQu0dQ6eZ/xAww941Ai1SxSY+0EQqNXNE6DZiVc" crossorigin="anonymous"></script>

</html>

</body></html>


ثبت پرسش جدید
امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
1

من نمیتونم کدهای مربوط به فرمت‌ن رو ببینم ولی برای اینکه بخای بدونی مشکلت چیه یه تجربه دارم چون جدیدا ورژن های جدید mysql بعضی دستورات قدیمی رو انجام نمیده و باید بروز باشه پس یبار کدت رو در دیتابیس با مقادیری ازمایشی به طور ازمایشی وارد کنید اگر مشکلی نبود یه فایله php.ini در روته اولتون بسازید و نمایش ارور های php رو که به طور پیش فرض فالز هستش ترو کنین


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش مطرح شد
0

@ajdar9667
خیلی ممنون ...!
ولی دستور خاصی نیست صرفا insert هست ...
ولی چون در local کار میکرد احتمال میدم مشکل از ورژن mysql یا php در هاست باشه


امیر علی
تخصص : طراح و توسعه دهنده fullstack
@ajdar9667 3 سال پیش مطرح شد
1

عزیز من منم فقط یه insert داشتم ولی اجرا نمی شد اینقدر امتحان کردم تا فهمیدم مشکل از ورژن دیتابیسه واقعا دهنم سرویس شد شما هم حتماا مطمن شی حتماااا


سبحان مولایی
تخصص : برنامه‌نویس وب: Python ::...
@websaz 3 سال پیش آپدیت شد
0

سلام از دیباگ استفاده کنید ( البته اگر سامانه مورد بازدید هست اون رو down کنید). اون جوری که من چک کردم کاربر ساخته نمی شود. مطمئن شوید که $error با همان مقدار برابر هست.
توصیه من فریمورک ها php هست نه php pure.


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش مطرح شد
0

@websaz
ممنون از پاسختون
و فرمودید فریمورک ها ...
بنده قبلا با جنگو کار میکردم و تازه مدتی است شروع به php کردم و قصد دارم لاراول رو به زودی شروع کنم .


سبحان مولایی
تخصص : برنامه‌نویس وب: Python ::...
@websaz 3 سال پیش مطرح شد
0

جنگو هم فریمورک عالی هست ( حتی در بعضی جاها بهتر از لاراول) من فقط به خاطر امنیت وبسایت و راحتی کار گفتم.


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

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